Baixe o app para aproveitar ainda mais
Prévia do material em texto
Centro Universitário Estácio do Ceará Especialização em Administração e Segurança de Sistemas Computacionais Prof. Marcus Fábio Fontenelle, M.Sc. Criptografia e Certificação Digital Janeiro de 2016 SUMÁRIO Apresentação Criptografia e Certificação Digital Aspectos Gerais 2 Criptografia 3 Funções Hash 4 Assinatura Digital 5 6Certificação Digital 1 7Serviços de Autenticação 8Mecanismos de Proteção Apresentação – Mini-Currículo Criptografia e Certificação Digital • Bacharel em Informática (2000) • Especialista em Sistemas de Telecomunicações (2003) • Mestre em Informática Aplicada (2009) • Vice-presidente da APECOF (Associação de Peritos em Computação Forense do Estado do Ceará) • Responsável pelo escritório de projetos de TI da CSP (Companhia Siderúrgica do Pecém) • Ex-coordenador de Infraestrutura de TI do Grupo M. Dias Branco Apresentação – Certificações Criptografia e Certificação Digital Apresentação – Experiência Acadêmica Criptografia e Certificação Digital Apresentação – Experiência Corporativa Criptografia e Certificação Digital 7 • E-mail: marcus.fabio@gmail.com • Lista de Discussão: http://tinyurl.com/grupomf • Twitter: @marcusfabiof Apresentação – Contatos Criptografia e Certificação Digital Apresentação – Sugestão de Bibliografia • Criptografia e Segurança de Redes, William Stallings, 6ª Ed. • Segurança de Redes em Ambientes Cooperativos, Emilio Tissato Nakamura e Paulo Lício de Geus. • Certificação Security+, Yuri Diógenes e Daniel Mauser, 3ª Edição. • Certificação Digital ICP – Brasil, Robson Machado • Applied Cryptography, Bruce Schneier, John Wiley & Sons • NIST (National Institute of Standards and Technology) • RFCs (Request for Comments) Criptografia e Certificação Digital Objetivos da Segurança Proteger a informação do acesso não autorizado ou de sua modificação, bem como de sua indisponibilidade a usuários autorizados. INFORMAÇÃOINFORMAÇÃO Confidencialidade Integridade Disponibilidade Fonte: Segurança de Redes em Ambientes Cooperativos, Fig. 10.1, Pág: 254 Criptografia e Certificação Digital Arquitetura de Segurança ISO Arquitetura de Segurança OSI Serviços Confidencialidade Integridade Disponibilidade Autenticação Irretratabilidade Controle de Acesso Ataques Passivos Ativos Mecanismos Criptografia Assinatura Digital Protocolos de Autenticação ... Fonte: Criptografia e Segurança de Redes, 4ª Ed, Fig. 10.1, Pág: 254 Criptografia e Certificação Digital 11 Arquitetura de Segurança OSI – Recomendação X. 800 • Ataque à segurança é qualquer ação que comprometa a segurança da informação. • Mecanismo de segurança é um processo (ou um dispositivo que incorpore tal processo) projetado para detectar, impedir ou permitir a recuperação de um ataque à segurança. • Serviço de segurança tem por objetivo frustrar ataques à segurança utilizando-se de um ou mais mecanismos de segurança. • Segundo a RFC 4949: Vulnerabilidade: Uma falha ou fraqueza no projeto, implementação ou operação e gerenciamento de um sistema que poderia ser explorada para violar a política de segurança desse sistema. Ameaça: Possível perigo que pode vir a explorar uma vulnerabilidade. Ataque: Um ato inteligente que é uma tentativa deliberada de burlar serviços de segurança e violar a política de segurança de um sistema. Criptografia e Certificação Digital Serviços – Autenticação • Garantia de que a entidade se comunicando é aquela que ela afirma ser. Autenticação de Entidade Par (com conexão): Usada para confiabilidade da identidade das entidades conectadas. Autenticação da Origem dos Dados (sem conexão): Garante que a origem dos dados recebidos é a alegada. Não oferece proteção contra duplicação ou modificação. • Possui dois passos: Identificação: Geralmente um nome de usuário. Verificação – Algo que eu sei (Ex: senha) – Algo que eu possuo (Ex: Smart Card) – Algo que eu sou (Ex: Biometria) • Autenticação forte usa duas ou mais informações de verificação distintas. Criptografia e Certificação Digital Serviços – Confidencialidade • Proteção contra a disponibilização ou divulgação não autorizada da informação à indivíduos, entidades ou processos. Confidencialidade da Conexão: Proteção de todos os dados do usuário em uma conexão. Confidencialidade sem Conexão: Proteção de todos os dados do usuário em um único bloco de dados. Confidencialidade por Campo Selecionando: Sigilo dos campos selecionados dentro dos dados do usuário em uma conexão ou em um único bloco de dados. Confidencialidade do Fluxo de Tráfego: Proteção das informações que poderiam ser derivadas da observação dos fluxos. Criptografia e Certificação Digital Serviços – Integridade • Garantia de que os dados recebidos estão exatamente como foram enviados por uma entidade autorizada, ou seja, não contêm modificação, inserção, exclusão ou repetição. Integridade da Conexão com Recuperação: Integridade de todos os dados do usuário em uma conexão detectando modificação, inserção, exclusão ou repetição de quaisquer dados dentro de uma sequência, com tentativa de recuperação da integridade. Integridade da Conexão sem Recuperação: Idem à anterior, mas oferece apenas detecção sem tentativa de recuperação da integridade. Integridade da Conexão com Campo Selecionado: Integridade dos campos selecionados dentro dos dados do usuário de um bloco transferido por uma conexão determinando se estes foram modificados, inseridos, excluídos ou replicados. Integridade sem Conexão: Integridade de um bloco de dados sem conexão podendo tomar a forma de detecção da modificação de dados. Integridade sem Conexão com Campo Seletivo: Integridade dos campos selecionados dentro de um bloco de dados sem conexão determinando se os campos selecionados foram modificados. Criptografia e Certificação Digital Serviços – Irretratabilidade (Não-Repúdio) • Impede que o emissor ou o receptor negue ter participado de toda ou parte de uma comunicação. Irretratabilidade da Origem Irretratabilidade do Destino • Pode haver autenticação e não haver irretratabilidade. • Não pode haver irretratabilidade sem autenticação. Criptografia e Certificação Digital Serviços – Disponibilidade • A RFC 4949 define a disponibilidade como sendo a propriedade de um sistema ou de um recurso do sistema ser acessível e utilizável sob demanda por uma entidade autorizada do sistema. • A X.800 trata a disponibilidade como uma propriedade a ser associada a vários serviços de segurança. Criptografia e Certificação Digital Serviços – Controle de Acesso • Impede o uso não autorizado de um recurso. Controla quem pode ter acesso a um recurso Sob que condições o acesso pode ocorrer O que é permitido para aqueles que acessam o recurso Criptografia e Certificação Digital Serviços – Classificação das Informações • Top Secret Caso revelado afetará gravemente à segurança nacional. Ex: Dados de um satélite espião • Secret Caso revelado poderá causar sérios danos à segurança nacional. Ex: Localização de tropas militares • Confidential Caso revelado poderá ser prejudicial segurança nacional. Ex: Segredos comerciais, Código-fonte • Restricted Caso revelado poderá causar efeitos não desejados à segurança nacional. Ex: Dados médicos, números de identificação (RG, CPF etc) • Unclassified Pode ser compartilhada com o público. Ex: Manuais de um produto Criptografia e Certificação Digital Serviços – Modelos de Controle de Acesso • Modelo Bell La Padula Criado entre 1972 e 1975 por David Elliot Bell e Leonard J. La Padulla Formalizado pelo DoD (Department of Defense) dos EUA Amplamente empregado nas aplicações militares Focado em Confidencialidade Não é permitido Read Up, Write Down Fonte: Certificação Security+, 2ª Ed, Fig. 10.1, Pág: 254 Criptografia e Certificação Digital Serviços – Modelos de Controle de Acesso • Modelo Biba Criado em 1977 por Kenneth J. Biba Focadoem Integridade Não é permitido Write Up, Read Down Fonte: Certificação Security+, 2ª Ed, Fig. 10.2, Pág: 255 Criptografia e Certificação Digital Serviços – Modelos de Controle de Acesso • Modelo Clark-Wilson Criado em 1987 por David D. Clark e David R. Wilson Focado em Integridade Difere do Biba, pois neste modelo o usuário não tem acesso direto a informação A aplicação que controla o acesso age como um gerenciador de acesso Fonte: Certificação Security+, 2ª Ed, Fig. 10.3, Pág: 256 Criptografia e Certificação Digital Serviços – Modelos de Controle de Acesso • Modelo Fluxo de Informação Preocupa-se com todos aspectos da informação: – Direção e tipo de acesso – Classificação da informação – Quem precisa ter conhecimento de tal informação (conceito de Need to Know) Prevenção contra “Covert Channel” Covert Channel é qualquer canal de comunicação que pode ser explorado por um processo para transferir informação de uma maneira que viola a política de segurança do sistema. – Armazenamento (Storage): Um determinado processo utiliza de forma direta ou indireta o caminho de armazenamento utilizado por outro processo. – Temporal (Timing): Um determinado processo repassa informação para outro através da modulação de recursos do sistema. Criptografia e Certificação Digital Serviços – Modelos de Controle de Acesso • Modelo de Não Interferência Criado em 1982 por Goguen e Meseguer Assegura que um elemento cuja classificação de segurança seja alta não interfira em um elemento de classificação de mais baixo nível. Raramente usado para fins comerciais. Fonte: Certificação Security+, 2ª Ed, Fig. 10.4, Pág: 257 Criptografia e Certificação Digital Serviços – Tipos de Controle de Acesso • DAC (Discretionary Access Control) Usuário tem o controle dos privilégios O “dono” do ativo/recurso define quem poderá ter acesso Baseado em identidade Ex: Windows, Linux • MAC (Mandatory Access Control) Também conhecido como controle de acesso obrigatório ou compulsório. Uso do conceito de “Label” para identificar o nível de sensibilidade Combina a classificação de acesso do ativo/recurso com a credencial de acesso do usuário Ex: Trusted Solaris, SE Linux (NSA – National Security Agency) • RBAC (Role-Based Access Control) Baseado em cargo/função Não discricionário Atribui o acesso ao ativo/recurso a um “papel”/função (ex:gerente, estagiário etc) para depois associar o usuário a um desses “papéis”/funções • RBAC (Rule-Based Access Control) Baseado em regras Criptografia e Certificação Digital • A segurança física inclui todos os elementos empregados para restringir o acesso físico a prédios, pavimentos, salas e dispositivos. Sala de servidores Datacenters Dispositivos individuais (roteadores, switches, access points etc) • Mecanismos de controle de acesso físico são utilizados para prover segurança física. • Travas codificadas (cipher lock) • Cartões de proximidade • Crachás • Mantraps • Guardas • CCTV (Closed-Circuit Television) • Tokens ou Key fobs • Cabos de segurança Serviços – Controle de Acesso Físico Criptografia e Certificação Digital Serviços – Controle de Acesso Físico Criptografia e Certificação Digital • A segurança lógica é garantida através de tecnologias e procedimentos que controlam o acesso logico a dispositivos em uma rede de computadores ou a equipamentos isolados. • Mecanismos de controle de acesso lógico são utilizados para prover segurança lógica. ACL (Access Control List) Políticas de Grupo (Group Policy - GPO) Gerenciamento de Contas (Account Management) Serviços – Controle de Acesso Lógico Criptografia e Certificação Digital • ACL (Access Control List) / ACE (Access Control Entry) As permissões de usuários e grupos são cumulativas “O acesso negado sempre prevalece” Serviços – Controle de Acesso Lógico Criptografia e Certificação Digital • Políticas de Grupo (Group Policy - GPO) Política de Senha (Password Policy) Serviços – Controle de Acesso Lógico Criptografia e Certificação Digital • Políticas de Grupo (Group Policy - GPO) Política de Dispositivo (Device Policy) − Desabilitar Autorun − Prevenir a instalação de dispositivos portáteis − Detectar o uso de dispositivos portáteis Gerenciamento de Contas (Account Management) − Gerenciamento de contas centralizado (LDAP) − Desabilitar contas de usuários − Restrições de dia, hora e computador − Expiração de conta Serviços – Controle de Acesso Lógico Criptografia e Certificação Digital • Melhores Práticas Política de Menor Privilégio (Least Privilege) Separação de Tarefas (Separation of Duties) Rodízio de Trabalho (Job Rotation) Férias Compulsórias (Mandatory Vacations) Serviços – Controle de Acesso Lógico Criptografia e Certificação Digital Ataques 1. PASSIVOS Interceptação (Viola a Confidencialidade) Obter informações Medidas preventivas Leitura Análise de Tráfego 2. ATIVOS Modificação (Viola a Integridade) Criar, Modificar, Interromper um fluxo de Informação Medidas de detecção Interrupção (Viola a Disponibilidade) Fabricação (Viola a Autenticidade)Disfarce Repetição Modificação Negação de Serviço Criptografia e Certificação Digital Ataques – Fluxo Normal Carta de Amor EU TE AMO ALICE BOB Criptografia e Certificação Digital Ataques – Interceptação BOBALICE Carta de Amor EU TE AMO AHA! EU SABIA QUE ESSES DOIS ESTAVAM NAMORANDO!!! TRUDY Criptografia e Certificação Digital Ataques – Interceptação • Uma parte não autorizada ganha acesso a um recurso. • Este é um ataque à confidencialidade. • A parte não autorizada pode ser uma pessoa, um programa ou um dispositivo. Grampos em linhas telefônicas Cópia de programas ou arquivos Análise de Tráfego Criptografia e Certificação Digital Ataques – Modificação TRUDY BOBALICE Carta de Amor EU TE AMO EU TE ODEIO Criptografia e Certificação Digital Ataques – Modificação • Uma parte não autorizada não somente ganha acesso, mas também adultera o bem. • Este é um ataque à integridade. Mudança de valores de um arquivo de dados Alteração de um programa para que ele se comporte de maneira diferente Alteração do conteúdo da mensagem que está sendo transmitida Criptografia e Certificação Digital Ataques – Fabricação TRUDY BOBALICE Carta de Amor EU TE AMO MAS VOCÊ É LISO E EU NÃO TE QUERO MAIS!!! Criptografia e Certificação Digital Ataques – Fabricação TRUDY BOBALICE Carta de Amor EU TE AMO QUE PENA! ESTOU APAIXONADO PELA TRUDY. VAMOS NOS CASAR NAS BAHAMAS!!! Criptografia e Certificação Digital Ataques – Fabricação • Uma parte não autorizada insere objetos no sistema. • Este é um ataque à autenticidade. Inserção de mensagens maliciosas na rede Adição de registros em um arquivo Criptografia e Certificação Digital Ataques – Interrupção BUUUM!!! TRUDY BOBALICE Carta de Amor EU TE AMO VOU ACABAR COM O ROMANCE DESTES DOIS!!! Criptografia e Certificação Digital Ataques – Interrupção • Um recurso (ou parte dele) do sistema é destruído ou se torna indisponível ou inútil. • Este é um ataque à disponibilidade. • Este recurso pode ser um serviço, uma rede de computadores, um meio de transmissão ou um dispositivo. Destruição de uma peça de hardware (ex: disco rígido) Corte de uma linha de comunicação Tornar indisponível um sistema de gerência de arquivos Criptografia e Certificação Digital Mecanismos – Específicos • Podem ser incorporados a uma camada específica de protocolo oferecendo algum(ns) dos serviços de segurança abaixo: Cifragem Assinatura Digital Certificação Digital Controle de Acesso (série de mecanismos) Integridade (série de mecanismos) Troca de informação de autenticação Preenchimento de Tráfego Controle de Roteamento Criptografia e Certificação Digital Mecanismos – Não Específicos • Também chamados de pervasivos, ubíquos ou universais. • Não são específicosa qualquer serviço ou camada de protocolo. Funcioanalidade confiável Rótulo de Segurança Detecção de Evento Registro de Auditoria Recuperação de Segurança Criptografia e Certificação Digital Serviços X Mecanismos de Segurança Serviços Cifragem Assinatura Digital Controle de Acesso Integridade de Dados Troca de Informações de Autenticação Preenchimento de Tráfego Controle de Roteamento Autenticação de Entidade Par SIM SIM SIM Autenticação da Origem dosDados SIM SIM Controle Acesso SIM Confidencialidade SIM SIM Confidencialidade do Fluxo de Tráfego SIM SIM SIM Integridade de Dados SIM SIM SIM Irretratabilidade SIM SIM Disponibilidade SIM SIM Mecanismos Criptografia e Certificação Digital • RFC 4949 • ISO X.800 • Criptografia e Segurança de Redes, William Stallings, 4ª Ed. – Cap. 1 • Segurança de Redes em Ambientes Cooperativos, Emilio Nakamura – Cap. 3 • Certificação Security+, Yuri Diógenes – Cap. 10 Informações Complementares Criptografia e Certificação Digital SUMÁRIO Apresentação Aspectos Gerais 2 Criptografia 3 Funções Hash 4 Assinatura Digital 5 6Certificação Digital 1 Criptografia e Certificação Digital 7Serviços de Autenticação 8Mecanismos de Proteção Fundamentos • Não há um mecanismo único que garanta todos os serviços citados. • Sempre haverá a necessidade da utilização de um conjunto de mecanismos para solucionar o problema proposto. • Entretanto, existe um elemento que serve como base para a maioria dos mecanismos de segurança que são: as técnicas de criptografia. Criptografia e Certificação Digital Visão Geral ESCONDER INFORMAÇÃO CRIPTOGRAFIACRIPTOANÁLISE CIFRASCÓDIGOS TRANSPOSIÇÃO SUBSTITUIÇÃO MONOALFABÉTICA POLIALFABÉTICA CRIPTOLOGIA ESTEGANOLOGIA ESTEGANOGRAFIA ESTEGANOANÁLISE Criptografia e Certificação Digital Conceitos • Criptologia é a disciplina científica que reúne e estuda os conhecimentos (matemáticos, computacionais, psicológicos, filosóficos, etc.) e técnicas necessários à criptoanálise (solução de criptogramas) e à criptografia (arte da escrita codificada ou cifrada). • Kryptós = escondido • Gráphein = escrita • Esteganografia = arte de ocultar uma mensagem em outra Criptografia e Certificação Digital O que o uso da criptografia pode fazer? • Fornecer o sigilo da informação. • Garantir a autenticidade do remetente. • Garantir, implicitamente, a autenticidade do destino. • Garantir, indiretamente a irretratabilidade (não repúdio). • Garantir a integridade da informação. Criptografia e Certificação Digital Princípios da Criptografia • Princípio de Kerkhoff: Todos os algoritmos devem ser públicos, apenas as chaves devem ser secretas. • Princípio da Redundância: Todo sistema criptográfico deve possibilitar algum tipo de redundância. (Andrew Tanenbaum) • Princípio da Atualidade: Todo sistema criptográfico deve ter mensagens atuais. (Andrew Tanenbaum) Algoritmos Proprietários Algoritmos Públicos Poucas pessoas conhecem o código Todos conhecem o código Vantagens: Vantagens: Geralmente realizar criptoanálise conhecendo o código é difícil, sem conhecer o código é ainda mais difícil. O código foi avaliado por muitas pessoas tornando o algoritmo mais confiável. Maior facilidade de padronização e produção por fabricantes diferentes. Desvantagens: Desvantagens: O código somente foi avaliado por poucas pessoas, com isso, podem existir fragilidades não descobertas. Pode ser feita engenharia reversa em cima de um produto que implemente o algoritmo e assim ser descoberto o código. No caso da descoberta de uma vulnerabilidade no algoritmo, imediatamente todos os usuários estarão comprometidos. Criptografia e Certificação Digital Elementos de um Sistema Criptográfico Algoritmo de Criptografia Algoritmo de Decriptação Texto Claro Texto Claro Canal de Comunição Texto Cifrado ALICE TRUDY BOB KC KD Criptografia e Certificação Digital Elementos de um Sistema Criptográfico • Texto Claro: É a mensagem ou dados originais, inteligíveis, alimentados no algoritmo de criptografia como entrada. • Algoritmo de Criptografia: Responsável por realizar diversas transformações e/ou substituições no texto claro. • Chave Também é a entrada para o algoritmo de criptografia. É um valor independente do texto claro e do algoritmo de criptografia formado por uma sequência de caracteres que pode conter letras, dígitos e símbolos. O algoritmo de criptografia produzirá uma saída diferente para cada chave que for utilizada em um momento específico. As transformações e substituições realizadas pelo algoritmo de criptografia dependem da chave. • Texto Cifrado: É a mensagem “embaralhada” produzida como saída do algoritmo de criptografia. Depende do texto claro e da chave. • Algoritmo de Decriptografia: É basicamente o algoritmo de criptografia executado de modo inverso. Toma o texto cifrado e a chave e produz o texto claro original. Criptografia e Certificação Digital Classificação dos Algoritmos de Criptografia • Número de Chaves Simétrico; Chave Secreta; Chave Única; Chave Compartilhada; Criptografia Convencional Assimétrico; Chave Pública; Duas Chaves • Tipos de Operação Substituição: Muda os caracteres/bytes/bits Transposição/Permutação: Muda a posição dos caracteres/bytes/bits • Modo de Processamento Bloco: Realiza o processamento em blocos de elementos de cada vez (ex: N a N bytes), produzindo um bloco de saída para cada bloco de entrada. Fluxo: Realiza o processamento dos elementos de entrada continuamente (ex: bit a bit ou byte a byte), produzindo como saída um elemento de cada vez enquanto prossegue. Criptografia e Certificação Digital Criptografia Simétrica KA BOBALICE Algoritmo de Criptografia Algoritmo de Decriptação Texto Claro Texto Claro Canal de Comunição Texto Cifrado Chave da Alice Chave da Alice KA Criptografia e Certificação Digital Criptografia Simétrica • A chave de cifração é igual a chave de decifração. ou • A chave de cifração pode ser facilmente gerada a partir da chave de decifração e vice-versa. • Sejam: Ek( ) a função de cifração com a chave k Dk( ) a função de decifração com a chave k M o texto em claro e C o texto cifrado • Logo: Ek(M) = C Dk(C) = M Dk(Ek(M)) = M • Custo computacional menor. • Desvantagem: Compartilhamento da chave. Criptografia e Certificação Digital Requisitos para Utilização de Criptografia Simétrica 1) O algoritmo de criptografia deve ser forte (Enunciado por Claude Shannon) • Deve ser inviável a partir do texto cifrado se obter o texto original (Difusão) • Deve ser inviável a partir do texto cifrado se obter a chave (Confusão) Texto Cifrado Algoritmo de Criptografia Texto Claro Chave Difusão Confusão • Difusão = Permutação seguida de uma função • Confusão = Substituição complexa 2) Emissor e receptor devem ter cópias da chave de uma forma segura e devem manter a chave protegida. Criptografia e Certificação Digital Criptografia Assimétrica KA BOBALICE Algoritmo de Decriptação Algoritmo de Criptografia Texto Claro Texto Claro Canal de Comunição Chave Privada da Alice Chave Pública da Alice PA Texto Cifrado Criptografia e Certificação Digital Criptografia Assimétrica • A chave de cifração é diferente da chave de decifração e uma não pode ser facilmente gerada somente a partir da outra. • As duas chaves estão matematicamente relacionadas. • Sejam: Ekx( ) a função de cifração com a chave kx Dkx( ) a função de decifração com a chave kx M o texto em claro e C o texto cifrado • Logo: Ek1(M) = C Dk2(C) = M Dk2(Ek1(M)) = M Ek2(M) = C Dk1(C) = M Dk1(Ek2(M)) = M • Custo computacional maior. • Chave pública é disponibilizada para todos. • Chave privada não é divulgada. Criptografia e Certificação Digital Criptografia Simétrica x Assimétrica Serviço Chave De Quem? Confidencialidade Pública Destinatário Autenticação PrivadaEmissor Algoritmo Complexidade Computacional Gerenciamento de Chaves Tamanho da Chave Segurança Simétrico Menor n(n - 1)/2 → Mais Difícil Menor Assimétrico Maior 2n → Mais Fácil Maior Não há como comparar de forma adequada http://www.keylength.com Criptografia Simétrica Criptografia Assimétrica Confidencialidade Garante Garante Integridade Garante Garante Autenticidade Garante Irretratabilidade (Não Repúdio) Garante Criptografia e Certificação Digital http://www.keylength.com/ Concurso ESAF/AFC-STN/Infra-TI/2008 • Considere um grupo de N usuários e um esquema de criptografia combinada − baseada em criptografia simétrica e assimétrica. Suponha que um usuário deste grupo deseja enviar uma mensagem M, de forma confidencial e eficiente, aos demais usuários no mesmo grupo. O número total de encriptações necessárias para o envio da mensagem M é: a) 1. b) 2N + 1. c) 2N. d) N. e) N − 1. Criptografia e Certificação Digital Substituição – Cifra de César • Pega-se cada letra da mensagem do texto claro e a substitui pela k-ésima letra sucessiva do alfabeto. • Se a chave K fosse igual a 3 teríamos o alfabeto reescrito da seguinte forma: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Criptografia e Certificação Digital Substituição – Cifra de César • Existem 25 possibilidades de chave. • Se associarmos a cada letra um número conforme abaixo: • Então a Cifra de César poderia ser representada matematicamente da seguinte forma: C = E(M) = (M + k) mod (26) M = D(C) = (C – k) mod (26) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Criptografia e Certificação Digital Substituição – Monoalfabética • Existem 26! (fatorial de 26) possibilidades de chave, ou seja, mais do de 4 x 1026 chaves possíveis. • Substitui-se cada letra da mensagem do texto claro sem utilizar um padrão regular de substituição. • A regra é que cada letra do alfabeto tenha uma única letra substituta e vice-versa. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z M N B V C X Z A S D F G H J K L P O I U Y T R E W Q http://www.numaboa.com/criptografia/criptoanalise/310-Frequencia-no-Portugues Criptografia e Certificação Digital http://www.numaboa.com/criptografia/criptoanalise/310-Frequencia-no-Portugues • Foi inventada, na realidade, pelo cientista britânico Sir Charles Wheatstone em 1854, mas recebeu o nome de seu amigo, Barão Playfair de St. Andrews, que defendeu a cifra no ministério de assuntos externos da Grã Bretânia. • Essa cifra trata os digramas do texto claro como unidades isoladas e traduz essas unidades em digramas de texto cifrado. • O algoritmo Playfair é baseado no uso de uma matriz de 5x5 de letras construídas usando uma palavra chave, a qual é colocada na primeira linha. Como o alfabeto latino tem 26 letras, há de se excluir uma delas. Geralmente considera-se as letras I e J como apenas I (critério inglês) ou elimina o W, substituindo-o por V. 66 Cifra Playfair Criptografia e Certificação Digital • O exemplo a seguir foi retirado do livro “Códigos e Cifras – Da Antiguidade à Era Moderna” de Sérgio Pereira Couto. • Tomemos a mensagem NAVIO SAIRÁ AMANHÃ ÀS DUAS HORAS. • O primeiro passo é agrupar as palavras sem acento e espaço para, depois, separar o texto de duas em duas letras: 67 NA VI OS AI RA AM AN HA AS DU AS HO RA S • Não pode haver letra sozinha no bloco final do texto e nem letras repetidas em nenhum bloco. Caso haja, será necessário acrescentar uma letra para corrigir (geralmente X ou Z). NA VI OS AI RA AM AN HA AS DU AS HO RA SX Cifra Playfair Criptografia e Certificação Digital • A matriz é construída pelo preenchimento das letras da palavra-chave (menos duplicatas) da esquerda para direita e de cima para baixo, e depois pelo preenchimento do restante da matriz com as letras restantes em ordem alfabética. • Vamos supor que a chave seja a palavra CHAVE. Como não temos nenhuma letra que se repete, então não há a necessidade de eliminar nenhuma. • Vamos desconsiderar a letra W, para que o alfabeto cifrante fique com 25 letras. 68 C H A V E B D F G I J K L M N O P Q R S T U X Y Z Cifra Playfair Criptografia e Certificação Digital • Para realizar a cifração as seguintes regras devem ser seguidas: a) Letras na mesma linha: São substituídas pelas letras à direita. Caso uma das letras do bigrama esteja na última coluna da grade, “roda-se a linha” e utiliza-se a letra da primeira coluna. b) Letras na mesma coluna: São substituídas pelas letras abaixo delas. Caso a letra esteja na última linha, “roda-se a coluna” e utiliza-se a letra da primeira linha. c) Letras em linhas e colunas diferentes: As letras do bigrama formam um “quadrilátero” e são substituídas pelas letras posicionadas nos cantos contrários do quadrilátero. 69 C H A V E B D F G I J K L M N O P Q R S T U X Y Z NA VI OS AI RA AM AN HA AS DU AS HO RA SX LE EG PO EF QV VL EL AV EQ KH EQ CP QV OE Cifra Playfair Criptografia e Certificação Digital Substituição – Polialfabética Texto Claro: INVADIR A CASA DO INIMIGO Texto Cifrado: SOTGVPO G BGIG VN SOSMPZN • A ideia é usar várias cifras monoalfabéticas utilizando uma cifra monoalfabética específica para codificar cada letra enquanto se prossegue pela mensagem de texto claro. • Uma chave determina qual regra específica é escolhida para determinada formação. • Quando uma letra aparece em posições diferentes no texto claro, ela é codificada de maneira diferente. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z M N B V C X Z A S D F G H J K L P O I U Y T R E W Q G K J H R Q S I P A U B M O N T C L Z D Y W X V E F Criptografia e Certificação Digital Substituição – Cifra de Vigenère • Neste esquema, o conjunto de regras de substituição monoalfabéticas consiste nas 26 cifras de César, com deslocamentos de 0 a 25. • Cada cifra é indicada por uma letra-chave, que é a letra do texto cifrado que substitui a letra do texto claro “A”. • Para ajudar na compreensão do esquema e auxiliar em seu uso, é construída uma matriz conhecida como tabela de Vigenère. Criptografia e Certificação Digital Substituição – Cifra de Vigenère Fonte: Criptografia e Segurança de Redes, William Stallings, 4ª Ed., Tab. 2.3, Pág: 30 Criptografia e Certificação Digital Substituição – Cifra de Vigenère Chave: S E G R E D O S E G R E D O S E G R E D O Texto Claro: I N V A D I R A C A S A D O I N I M I G O Texto Cifrado: A R B R H L F S G G J E G C A R O D M J C http://www.numaboa.com/criptografia/criptoanalise/310-Frequencia-no-Portugues Chave: S E G R E D O I N V A D I R A C A S A D O Texto Claro: I N V A D I R A C A S A D O I N I M I G O Texto Cifrado: A R B R H L F I P V S D L F I P I E I J C • A principal defesa contra a criptoanálise em uma cifra de Vegenère é escolher uma palavra-chave que seja tão longa quanto o texto claro e não possua relacionamento estatístico com ele (autochave). Criptografia e Certificação Digital http://www.numaboa.com/criptografia/criptoanalise/310-Frequencia-no-Portugues Substituição – Cifra de Vernam • Gilbert Vernam, engenheiro da AT&T, propôs em 1918 um sistema que funciona com base em dados binários, em vez de letras. • O sistema pode ser expresso resumidamente da seguinte forma: Ci = Mi⊕ Ki onde Mi = i-ésimo digito do texto claro Ki = i-ésimo digito da chave Ci = i-ésimo digito do texto cifrado ⊕ = operador ou-exclusivo (XOR) • O texto cifrado é gerado realizando-se o XOR bit a bit entre texto claro e a chave • Devido às propriedades do XOR, a decriptografia simplesmente envolve a mesma operação bit a bit: Mi = Ci⊕ Ki Criptografia e Certificação Digital OTP (One Time Pad) – Chave de Uso Único • Proposto por um oficial do serviço de comunicação dos EUA, Joseph Mauborgne, como uma melhoria à cifra de Vernam. • Usa uma chave aleatória tão grande quanto a mensagem, de modo que a chave não precisaser repetida. • A chave deve ser usada para criptografar e decriptografar uma única mensagem e depois deve ser descartada. • Cada nova mensagem exige uma nova chave com o mesmo tamanho da nova mensagem. • Esse sistema é “INQUEBRÁVEL”. Mensagem 1: E U T E A M O Texto Claro 1: 01000101 01010101 00100000 01010100 01000101 00100000 01000001 01001101 01001111 Chave 1: 11001101 01011011 00011110 00011100 10101011 11100010 01011111 11111100 00110001 Texto Cifrado: 10001000 00001110 00111110 01001000 11101110 11000010 00011110 10110001 01111110 Chave 2: 11011110 01000001 01101011 01101000 10101000 10010111 01011001 11111000 00101100 Texto Claro 2: 01010110 01001111 01010101 00100000 01000110 01010101 01000111 01001001 01010010 Mensagem 2: V 0 U F U G I R Criptografia e Certificação Digital Permutação – Rail Fence • Nesta técnica o texto claro é escrito como uma sequência em diagonal e depois é lido linha a linha em sequência para gerar o texto cifrado. Texto Claro: I V D R C S D I I I O N A I A A A O N M G Texto Cifrado: I V D R C S D I I I O N A I A A A O N M G Criptografia e Certificação Digital Permutação – Transposição de Colunas • É um esquema um pouco mais complexo, pois escreve a mensagem em um retângulo, linha por linha, e lê a mensagem coluna por coluna, sendo que a ordem das colunas é permutada. 7 1 4 5 2 6 3 Chave: G A D E B F C Texto Claro: I N V A D I R A C A S A D O I N I M I G O Texto Cifrado: N C N D A I R O O V A I A S M I D G I A I 02 09 16 05 12 19 07 14 21 03 10 17 04 11 18 06 13 20 01 08 15 Criptografia e Certificação Digital Permutação – Transposição de Colunas • Essa cifra de transposição pode se tornar mais segura realizando-se mais de um estágio de permutação. Texto Claro: I N V A D I R A C A S A D O I N I M I G O 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 Chave: 7 1 4 5 2 6 3 Texto Claro: I N V A D I R A C A S A D O I N I M I G O Texto Cifrado: N C N D A I R O O V A I A S M I D G I A I 02 09 16 05 12 19 07 14 21 03 10 17 04 11 18 06 13 20 01 08 15 Chave: 7 1 4 5 2 6 3 Texto Claro: N C N D A I R O O V A I A S M I D G I A I Texto Cifrado: C O I A I I R S I N V D D A G I A A N O M 09 21 06 12 17 01 07 11 15 16 03 13 05 10 20 19 04 08 02 14 18 Criptografia e Certificação Digital Permutação – Máquinas de Rotor • Antes da introdução do DES, a aplicação mais importante do princípio de múltiplos estágios de criptografia era uma classe de sistemas conhecida como máquinas de rotor. • A máquina consiste em um conjunto de cilindros rotativos independentes, através dos quais pulsos elétricos podem fluir. • Cada cilindro tem 26 pinos de entrada e 26 pinos de saída, com fiação interna que conecta cada pino de entrada a um único pino de saída. Criptografia e Certificação Digital Permutação – Máquinas de Rotor Fonte: Criptografia e Segurança de Redes, William Stallings, 4ª Ed., Fig. 2.7, Pág: 33 Criptografia e Certificação Digital Permutação – Máquinas de Rotor • Largamente usado na Segunda Guerra Mundial Enigma (Alemanha), Hagelin (Aliados), Purple (Japoneses) Enigma (Alemanha) Hagelin (Aliados) Purple (Japoneses) Criptografia e Certificação Digital DES (Data Encryption Standard) • Algoritmo simétrico originado a partir do Lucifer (IBM). • Aprovado como padrão em 1977. • Chave simétrica de 56 bits (na realidade são 64 bits, mas 8 são de paridade). • Texto claro: 64 bits. • Texto cifrado: 64 bits. • Baseado nas operações de transposição e substituição. • Quebra a mensagem em blocos de 64 bits e aplica o algoritmo separadamente em cada bloco. • Utiliza a cifra de Feistel. Criptografia e Certificação Digital DES (Data Encryption Standard) – Estrutura de Feistel Texto Claro (2w bits) Ri+1 (w bits)Li+1 (w bits) F Ki Ri (w bits)Li (w bits) F Ki+1 Rn (w bits)Ln (w bits) Ln (w bits)Rn (w bits) Texto Cifrado (2w bits) Criptografia e Certificação Digital DES (Data Encryption Standard) – Fases do Algoritmo 1. O texto claro de 64 bits passa por uma permutação inicial (IP). 2. Logo após, a entrada permutada é divida em 2 blocos de 32 bits. 3. Em seguida ocorre uma fase que consiste em 16 rodadas da mesma função, que envolve permutações e substituições. 4. A saída da última rodada consiste em 64 bits que são uma função do texto de entrada e da chave. 5. As metades da esquerda e da direita da saída são trocadas para produzir a pré-saída. 6. A pré-saída sofre uma permutação que é o inverso da permutação inicial, permutação final (IP-1). Texto Claro (64 bits) Permutação Inicial (IP) F K0 R0 (32 bits)L0 (32 bits) F K1 R1 (32 bits)L1 (32 bits) R2 (32 bits)L2 (32 bits) F K2 R15 (32 bits)L15 (32 bits) F K15 R16 (32 bits)L16 (32 bits) L16 (32 bits)R16 (32 bits) Permutação Final (IP -1 ) Texto Cifrado (64 bits) Criptografia e Certificação Digital DES (Data Encryption Standard) – Fases do Algoritmo 1. Inicialmente a chave sofre uma função de permutação, chamada escolha permutada 1. 2. Depois, para cada uma das 16 rodadas, uma subchave (Ki) é produzida pelo deslocamento circular à esquerda e uma função de permutação, chamada escolha permutada 2. 3. A função de permutação é a mesma para cada rodada, mas uma subchave diferente é produzida, devido aos deslocamentos repetidos dos bits da chave. Fonte: Criptografia e Segurança de Redes, William Stallings, 4ª Ed., Fig. 3.4, Pág: 49 Criptografia e Certificação Digital DES (Data Encryption Standard) – Permutação Inicial (IP) • Os 64 bits do texto claro são numerados de 1 a 64. Cada um desses bits é permutado de acordo com a tabela de permutação inicial (IP). 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 ... B61 B62 B63 B64 1 2 3 4 5 6 7 8 9 10 ... 61 62 63 64 B58 B50 B42 B34 B26 B18 B10 B2 B60 B52 ... B31 B23 B15 B7 1 2 3 4 5 6 7 8 9 10 ... 61 62 63 64 Antes da Permutação Inicial Depois da Permutação Inicial Criptografia e Certificação Digital DES (Data Encryption Standard) – Rodada Individual Li - 1 (32 bits) Li (32 bits) Permutação de Expansão (E) Ri - 1 (32 bits) Função de Permutação (P) 48 bits 48 bits Ki (48 bits) S1 S2 S3 S4 S5 S6 S7 S8 32 bits Ri (32 bits) 32 bits Função F • O processamento geral da rodada é: Li = Ri-1 Ri = Li-1⊕ F(Ri-1,Ki) • A chave da rodada Ki é de 48 bits. • A entrada R é de 32 bits. • Essa entrada R é expandida inicialmente para 48 bits usando uma tabela, chamada tabela de permutação de expansão (E), que define uma função de permutação mais uma expansão. Criptografia e Certificação Digital DES (Data Encryption Standard) – Permutação de Expansão (E) 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 32 48 1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 23 24 4 Criptografia e Certificação Digital DES (Data Encryption Standard) – Função de Substituição • A saída da função de permutação de expansão é um bloco de 48 bits. • É realizado um XOR dos bits resultantes da função de expansão com os bits da subchave Ki. • O resultado da função XOR passa por uma função de substituição que produz uma saída de 32 bits. Li - 1 (32 bits) Li (32 bits) Permutação de Expansão (E) Ri - 1 (32 bits) Função de Permutação (P) 48 bits 48 bits Ki (48 bits) S1 S2 S3 S4 S5 S6 S7 S8 32 bits Ri (32 bits) 32 bits Função F Criptografia e Certificação Digital DES (Data Encryption Standard) – Caixas-S (S-Boxes) • A substituição consiste em um conjunto de oito caixas-S, cada uma aceitando 6 bits como entrada e produzindo 4 bits como saída. • Cada caixa-S possui uma tabela de substituição. • Dos 6 bits de entrada da caixa Si, o primeiro e o último bit formam um número bináriode 2 bits que é utilizado para selecionar a linha da tabela de substituição. • Os 4 bits restantes formam um número binário de 4 bits que é utilizado para selecionar a coluna da tabela de substituição. • O valor decimal da célula selecionada pela linha e coluna é então convertido em sua representação de 4 bits para formar a saída da função de substituição. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 Caixa-S (S-Box) 1 - S1 Criptografia e Certificação Digital DES (Data Encryption Standard) – Caixas-S (S-Boxes) • Exemplo: Entrada = 001101 01 → Linha 0110 → Coluna Saída = 13 (1101) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 Caixa-S (S-Box) 1 - S1 Criptografia e Certificação Digital DES (Data Encryption Standard) – Caixas-S (S-Boxes) • A saída da função de substituição sofre uma função de permutação (P), gerando um bloco de 32 bits. • Aos bits resultantes da função de permutação é realizado um XOR com os bits da metade da esquerda dos valores de entrada da rodada, gerando os bits da metade da direita da entrada da próxima rodada. Li - 1 (32 bits) Li (32 bits) Permutação de Expansão (E) Ri - 1 (32 bits) Função de Permutação (P) 48 bits 48 bits Ki (48 bits) S1 S2 S3 S4 S5 S6 S7 S8 32 bits Ri (32 bits) 32 bits Função F Criptografia e Certificação Digital DES (Data Encryption Standard) – Função de Permutação (P) • Os 32 bits da saída da função de substituição são numerados de 1 a 32. Cada um desses bits é permutado de acordo com a tabela de função de permutação (P). 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 ... B29 B30 B31 B32 1 2 3 4 5 6 7 8 9 10 ... 29 30 31 32 B16 B7 B20 B21 B29 B12 B28 B17 B1 B15 ... B22 B11 B4 B25 1 2 3 4 5 6 7 8 9 10 ... 29 30 31 32 Antes da Função de Permutação Depois da Função de Permutação Criptografia e Certificação Digital DES (Data Encryption Standard) – Permutação Final (IP-1) • Os bits da saída da função XOR são numerados de 1 a 32. Cada um desses bits é permutado de acordo com a tabela de permutação final (IP-1). 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 ... B61 B62 B63 B64 1 2 3 4 5 6 7 8 9 10 ... 61 62 63 64 B40 B8 B48 B16 B56 B24 B64 B32 B39 B7 ... B49 B17 B57 B25 1 2 3 4 5 6 7 8 9 10 ... 61 62 63 64 Antes da Permutação Final Depois da Permutação Final Criptografia e Certificação Digital DES (Data Encryption Standard) – Escolha Permutada 1 Escolha Permutada 1 K1 (48 bits) Chave (64 bits) Deslocamento à Esquerda Deslocamento à Esquerda C0 (28 bits) D0 (28 bits) C1 (28 bits) D1 (28 bits) Escolha Permutada 2 Cn (28 bits) Dn (28 bits) Kn = 2, 3,...,15 (48 bits) Escolha Permutada 2 Deslocamento à Esquerda Deslocamento à Esquerda C16 (28 bits) D16 (28 bits) K16 (48 bits) Escolha Permutada 2 Deslocamento à Esquerda Deslocamento à Esquerda 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 ... B61 B62 B63 B64 1 2 3 4 5 6 7 8 9 10 ... 61 62 63 64 B57 B49 B41 B33 B25 ... B28 B20 B12 B4 1 2 3 4 5 53 54 55 56 Antes da Escolha Permutada Depois da Escolha Permutada Criptografia e Certificação Digital DES (Data Encryption Standard) – Geração das Subchaves Escolha Permutada 1 K1 (48 bits) Chave (64 bits) Deslocamento à Esquerda Deslocamento à Esquerda C0 (28 bits) D0 (28 bits) C1 (28 bits) D1 (28 bits) Escolha Permutada 2 Cn (28 bits) Dn (28 bits) Kn = 2, 3,...,15 (48 bits) Escolha Permutada 2 Deslocamento à Esquerda Deslocamento à Esquerda C16 (28 bits) D16 (28 bits) K16 (48 bits) Escolha Permutada 2 Deslocamento à Esquerda Deslocamento à Esquerda Rodada Nº de Deslocamentos 1 1 2 1 3 2 4 2 5 2 6 2 7 2 8 2 9 1 10 2 11 2 12 2 13 2 14 2 15 2 16 1 Deslocamentos à Esquerda Criptografia e Certificação Digital DES (Data Encryption Standard) – Escolha Permutada 2 Escolha Permutada 1 K1 (48 bits) Chave (64 bits) Deslocamento à Esquerda Deslocamento à Esquerda C0 (28 bits) D0 (28 bits) C1 (28 bits) D1 (28 bits) Escolha Permutada 2 Cn (28 bits) Dn (28 bits) Kn = 2, 3,...,15 (48 bits) Escolha Permutada 2 Deslocamento à Esquerda Deslocamento à Esquerda C16 (28 bits) D16 (28 bits) K16 (48 bits) Escolha Permutada 2 Deslocamento à Esquerda Deslocamento à Esquerda 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 B1 B2 B3 B4 B5 B6 B7 B8 B9 ... B53 B54 B55 B56 1 2 3 4 5 6 7 8 9 ... 53 54 55 56 B14 B17 B11 B24 1 ... B50 B36 B29 B32 1 2 3 4 5 45 46 47 48 Antes da Escolha Permutada 2 Depois da Escolha Permutada 2 Criptografia e Certificação Digital Whitening • É o nome dado à técnica que aplica uma função XOR ao bloco de entrada (texto claro) e uma chave K1 antes de um algoritmo de bloco, e depois aplica uma função XOR ao bloco de saída (texto cifrado) e uma chave K2. Texto Claro (64 bits) DES Texto Cifrado (64 bits) K1 K2 K onde K1 = 64 bits K = 56 bits K2 = 64 bits Criptografia e Certificação Digital 3DES (Triple Data Encryption Standard) • Aplica o DES três vezes • Pode ser feito com 3 chaves separadas ou apenas 2 (a primeira é usada, depois a segunda e depois novamente a primeira) • A vantagem de cifrar-decifrar-cifrar é que se colocarmos K1 = K2 (usando- se duas chaves) ou K1 = K2 = K3 (usando-se três chaves), podemos usar o 3DES como sendo o DES simples, ou seja, esta solução serve tanto para cifrar 3DES quanto para cifrar DES. Criptografia e Certificação Digital AES (Advanced Encryption Standard) • Algoritmo simétrico definido no FIPS (Federal Information Processing Standards – Publication 197) • Padronizado em 2001. • Escolhido entre diversas cifras que foram submetidas para análise. • A cifra escolhida foi o RIJNDAEL, criado por Vincent Rijmen e Joan Daemen. • O RIJNDAEL originalmente trabalhava com blocos de 128, 160, 192, 224 ou 256 bits e chaves de 128, 192, 256 bits. • O AES possui chave simétrica de 128, 192 ou 256 bits. • Quebra a mensagem em blocos “fixos” de 128 bits e aplica o algoritmo separadamente em cada bloco. • Não utiliza a cifra de Feistel. • Se por força bruta no DES levássemos 1 segundo para tentar todas as chaves possíveis, no AES levaríamos 149 trilhões de anos. Criptografia e Certificação Digital AES (Advanced Encryption Standard) • Cada bloco de 128 bits é representado como uma matriz quadrada de bytes e copiado para um vetor, chamado State, que é modificado a cada estágio do algoritmo. • Após o estágio final, State é copiado para uma matriz de saída. • Resumindo, os dados são tratados em 4 grupos de 4 bytes (matriz 4x4). Fonte: Criptografia e Segurança de Redes, William Stallings, 4ª Ed., Fig. 5.2a, Pág: 97 Criptografia e Certificação Digital AES (Advanced Encryption Standard) • De modo semelhante, a chave de 128 bits é representada como uma matriz quadrada de bytes. • Essa chave é então expandida para um vetor de words para o escalonamento de chaves. • Cada word possui quatro bytes e o escalonamento de chaves total tem 44 words para a chave de 128 bits. Fonte: Criptografia e Segurança de Redes, William Stallings, 4ª Ed., Fig. 5.2b, Pág: 97 Criptografia e Certificação Digital AES (Advanced Encryption Standard)• A quantidade de rodadas depende do tamanho da chave utilizada: 128 bits → 10 rodadas 192 bits → 12 rodadas 256 bits → 14 rodadas • As rodadas são formadas por 4 operações: Byte Substitution: 1 tabela (S-Box) é utilizada para substituir cada byte Shift Rows: permuta os bytes entre colunas Mix Columns: multiplicação de matriz entre colunas Add Round Key: Gera o texto cifrado efetuando uma operação XOR entre o resultado da etapa anterior (Mix Columns) e a chave da rodada (Round Key) • Antes da primeira rodada é executada a operação Add Round Key. • Na última rodada não é executada a operação Mix Columns Criptografia e Certificação Digital AES (Advanced Encryption Standard) Fonte: Criptografia e Segurança de Redes, William Stallings, 4ª Ed., Fig. 5.1, Pág: 96 Criptografia e Certificação Digital RSA (Ron Rivest, Adi Shamir e Len Adleman) • Publicado em 1978. • O mais bem sucedido sistema criptográfico de chave assimétrica • Utiliza a teoria clássica dos números. • Baseado na dificuldade de fatorar um número inteiro grande. • Amplamente difundido. • Alto custo computacional. • Chaves típica de 1024 bits. • Seu segredo se resume a como as chaves públicas e privadas são calculadas. Shamir, Rivest e Adleman Criptografia e Certificação Digital RSA – Geração das Chaves Pública e Privada • P e Q são dois números primos grandes Cada número primo é um valor de 256 bits • N = P.Q • Φ = (P-1).(Q-1) → Função Tociente de Euler Φ deve ser um número par • O expoente e é escolhido randomicamente tal que Φ e e sejam primos entre si, ou seja, MDC (e, Φ) = 1 • Calcula-se d tal que e.d ≡ 1 mod Φ, ou seja, e.d Φ (1) Q • Desta forma: e e N formam a chave pública d e N formam a chave privada Criptografia e Certificação Digital RSA – Cifração e Decifração • C = Me mod N (Criptografia) • M = Cd mod N (Decriptografia) onde: C: Mensagem Cifrada M: Mensagem Decifrada (Texto claro) e: Chave para criptografar (Chave Pública) d: Chave para decriptografar (Chave Privada) N: Resultado da operação de multiplicação entre dois números primos extremamente grandes (N = P.Q) Criptografia e Certificação Digital Criptoanálise • Explora as características do algoritmo para tentar deduzir um texto claro específico ou deduzir a chave utilizada. • Ataque por Força Bruta (Brute-Force Attack) O atacante experimenta cada chave possível no texto cifrado, até obter uma tradução inteligível para o texto claro. Na média, metade de todas as chaves possíveis precisam ser experimentadas para se obter sucesso. • Rubber-Hose Cryptoananlysis Ataque baseado em ameaça, chantagem ou tortura, para que o usuário entregue a chave criptográfica. • Ataque de Compra da Chave (Purchase-Key Attack) Ataque baseado em suborno. • Análise de Consumo de Energia (Side Channel Attack) Mede a variação das tensões de energia consumidas por cada instrução de máquina para cifrar/decifrar um bit 0 ou um bit 1. Pode ser anulado pela codificação cuidadosa do algoritmo em linguagem assemby . • Análise de Sincronismo (Side Channel Attack) Mede o tempo consumido para cifrar/decifrar um bit 0 ou um bit 1. Criptografia e Certificação Digital Criptoanálise Fonte: Criptografia e Segurança de Redes, William Stallings, 4ª Ed., Tab. 2.1, Pág: 20 Criptografia e Certificação Digital Criptoanálise • Criptoanálise Linear O texto claro (M) e o texto cifrado (C) são conhecidos (ataque de texto claro conhecido). M[α1, α2,..., αn]⊕ C[β1, β2,..., βn] = K[γ1, γ2,..., γn] Ao ser fito repetidamente, metade dos bits deve ter o valor 0 e metade deve ter o valor 1. Se o resultado for 0 em mais da metade das vezes, considera-se K =0, caso contrário, K = 1. Criptografia e Certificação Digital Criptoanálise • Criptoanálise Diferencial Ataque de texto claro escolhido. Monta-se dois blocos de texto claro e calcula-se a diferença entre eles. A diferença entre os blocos é feita através de uma função XOR. Essa diferença entre os blocos é de poucos bits. ∆M = M1⊕ M2 (aplica um algoritmo de cifração em M1 e M2) ∆M’ = M’1⊕ M’2 (aplica um algoritmo de cifração em M’1 e M’2) ∆M” = M”1⊕ M”2 (aplica um algoritmo de cifração em M”1 e M”2) etc Baseado nessas transformações é feita a estimativa da chave. Resumindo, a chave é deduzida a partir da observação da cifração (a cada iteração) de um par de blocos de texto claro que diferem apenas por um pequeno conjunto de bit. Criptografia e Certificação Digital Criptoanálise • Somente algoritmos relativamente fracos não conseguem resistir a um ataque apenas de texto cifrado. • Em geral, um algoritmo de criptografia é projetado para resistir a um ataque de texto claro conhecido. • Um esquema de criptografia é incondicionalmente seguro se o texto cifrado cifrado gerado pelo esquema não tiver informações suficientes para determinar exclusivamente o texto claro correspondente, não importando quanto texto cifrado esteja à disposição. • Um esquema de criptografia é computacionalmente seguro se: Tempo de Quebra > Tempo de Vida Útil da Informação Custo de Quebra > Custo de Vida Útil da Informação Criptografia e Certificação Digital • Criptografia e Segurança de Redes, William Stallings, 4ª Ed. – Cap. 2, 3, 5, 9, Seção 6.1 • Segurança de Redes em Ambientes Cooperativos, Emilio Nakamura – Cap. 9 • Certificação Security+, Yuri Diógenes – Cap. 13 • http://www.keylength.com • http://www.numaboa.com/criptografia/criptoanalise/309-Ferramenta-de-frequencia (Cálculo da frequência das letras em textos claro e cifrado) • http://www.cryptomuseum.com/ (Museu da Criptografia) • http://www.ilord.com/enigma.html (Enigma) • http://radioheaven.homestead.com/Enigma_visit.html (Peças do Enigma) • http://enigmaco.de/enigma/enigma.html (Simulação do Enigma) • http://www.nf6x.net/crypto/CX-52/CX-52.html (Hagelin CX-52) • http://users.telenet.be/d.rijmenants/en/bc-52.htm (Simulador Hagelin) • http://jproc.ca/crypto/purple.html (Purple) • http://jproc.ca/crypto/menu.html (Lista de máquinas de criptografia) • http://jproc.ca/crypto/crypto_agencies.html (Agências de segurança) Informações Complementares Criptografia e Certificação Digital http://www.keylength.com/ http://www.numaboa.com/criptografia/criptoanalise/309-Ferramenta-de-frequencia http://www.cryptomuseum.com/ http://www.ilord.com/enigma.html http://radioheaven.homestead.com/Enigma_visit.html http://enigmaco.de/enigma/enigma.html http://www.nf6x.net/crypto/CX-52/CX-52.html http://users.telenet.be/d.rijmenants/en/bc-52.htm http://jproc.ca/crypto/purple.html http://jproc.ca/crypto/menu.html http://jproc.ca/crypto/crypto_agencies.html SUMÁRIO Apresentação Aspectos Gerais 2 Criptografia 3 Funções Hash 4 Assinatura Digital 5 6Certificação Digital 1 Criptografia e Certificação Digital 7Serviços de Autenticação 8Mecanismos de Proteção Funções Hash – Funções Unidirecionais (One Way) • Em funções unidirecionais, para uma dada entrada, é relativamente fácil calcular a saída da função. • Mas dada uma saída, é extremamente difícil calcular uma possível entrada dessa função. • Matematicamente: dado x é fácil calcular f(x), mas dado f(x) é difícil calcular x. x x x x x x x x x x x x Fácil Difícil Criptografia e Certificação Digital Funções Hash – Funções de Condensação (Hash) • Uma função de condensação (hash) é uma função que recebe, como entrada, uma string de tamanho variável (chamada pré-imagem) e a converte em uma string de tamanho fixo, geralmente de tamanho menor, chamada de valor hash (resumo ou valor condensado) x x x x x x x x x Criptografia e Certificação Digital Funções Hash – Funções de Condensação Unidirecionais • A finalidade de uma função de hash é produzir uma “impressão digital” de uma arquivo, mensagem ou bloco de dados. • Vastamente utilizadas no armazenamento de senhas e na verificação de autenticidade. • O processo de hashing também é utilizado por mecanismos TPM (Trustet Plataform Module). • TPM está associado a chips que podem armazenarchaves criptográficas, senhas e certificados digitais. Pode ser usado para criptografar um disco inteiro. x x x x x x x x x Difícil Criptografia e Certificação Digital Funções Hash – TPM x HSM Criptografia e Certificação Digital TPM (Trusted Plataform Module) HSM (Hardware Security Module) Hardware Chip na placa mãe (já incluso em muitos laptops) Dispositivo removível ou externo (Comprado separadamente) Uso Criptografia completa do HD (laptops e servidores) Servidors de misão crítica (Aceleradores SSL, Clusters de Alta Disponibilidade, Autoridades Certificadoras) Autenticação Autenticação da plataforma (Verifica o HD se não tiver sido movido) Realização autenticação de aplicações (Usado paenas por aplicações autorizadas) Chaves Criptográficas Chave RSA "chipada". Pode gerar outras chaves. Armazena chaves RSA. Pode gerar outras chaves. Funções Hash – Requisitos • Para ser útil para autenticação de mensagens, uma função hash H(x) precisa ter as seguintes propriedades: H(x) pode ser aplicada a uma bloco de dados de qualquer tamanho. H(x) produz uma saída de comprimento fixo. H(x) é fácil de calcular para qualquer x, tornando as implementões de hardware e software práticas x x x x x x x x x x x x H(x) Difícil Criptografia e Certificação Digital Funções Hash – Requisitos 1. Para qualquer valor de h dado, é computacionalmente inviável encontrar x tal que H(x) = h. (Resistência a primeira inversão ou resistência a inversão) 2. Para qualquer bloco da do x, é computacionalmente inviável encontrar y ≠ x tal que H(y) = H(x). Tanto a mensagem x quanto o hash H(x) são conhecidos. (Resistência a segunda inversão ou resistência fraca a colisão) 3. É computacionalmente inviável encontrar qualquer par (x,y) tal que H(x) = H(y). (Resistência forte a colisão ou resistência a colisão) 1) X h H(x) H(h) 2) YX H(x) 3) h YX Criptografia e Certificação Digital Funções Hash – Algoritmos • O padrão Secure Hash Signature Standard (SHS) foi especificado na FIPS PUB 180-3 (Federal Information Protandards Publications). • Esse padrão especifica cinco algoritmos hash seguros: SHA-1,SHA-224, SHA- 256, SHA-384 e SHA-512. • Segundo o FIPS PUBS 180-3, é computacionalmente inviável: Achar uma mensagem que corresponda a um resumo de mensagem (message digest); Achar duas mensagens que possuam o mesmo resumo de mensagem (message digest). Algoritmo Tamanho do Bloco de Entrada (Bits) Tamanho do Message Digest (Bits) SHA-1 512 160 SHA-224 512 224 SHA-256 512 256 SHA-384 1024 384 SHA-512 1024 512 • Existe um outro algoritmo bastante utilizado, o MD5 (Message Digest 5). • O MD5 foi projeto por Ron Rivest e produz um hash de 128 bits. Criptografia e Certificação Digital SUMÁRIO Apresentação Aspectos Gerais 2 Criptografia 3 Funções Hash 4 Assinatura Digital 5 6Certificação Digital 1 Criptografia e Certificação Digital 7Serviços de Autenticação 8Mecanismos de Proteção Assinatura Digital – Esquema de Assinatura Digital (1) Documento Hash Cifrado com chave privada Hash Chave Pública → Todos conhecem Chave Privada → Só o emissor conhece } Par de chaves de uma cifra assimétrica Assinatura Criptografia e Certificação Digital Assinatura Digital – Verificação da Assinatura Digital (1) Documento Hash (H1) Se for igual → Assinatura válida Se for diferente → Assinatura não válida Decifra a assinatura com a chave pública Hash (H2) Compara } Criptografia e Certificação Digital Assinatura Digital – Esquema de Assinatura Digital (2) Assinatura Documento Documento Cifrado com chave privada Chave Pública → Todos conhecem Chave Privada → Só o emissor conhece } Par de chaves de uma cifra assimétrica Criptografia e Certificação Digital Assinatura Digital – Verificação da Assinatura Digital (2) Documento Decifra a assinatura com a chave pública Criptografia e Certificação Digital Assinatura Digital – Evolução Documento Hash Cifrado com chave privada do emissor Hash Assinatura Documento Cifrado com chave pública do destinatário Criptografia e Certificação Digital Assinatura Digital – Esquema Híbrido Criptografia e Certificação Digital ALICE TRUDY BOB E Assinatura Integridade Autenticidade Documento Documento H1 H2 Assinatura D K Prv A KPub A E KSim E KPub B D KSim K Prv B DE Confidencialidade Canal Seguro Canal Inseguro Se H1 = H2 Assinatura Validada Hash Hash Não-repúdio SUMÁRIO Apresentação Aspectos Gerais 2 Criptografia 3 Funções Hash 4 Assinatura Digital 5 6Certificação Digital 1 Criptografia e Certificação Digital 7Serviços de Autenticação 8Mecanismos de Proteção Certificação Digital – Certificado • O Certificado Digital é uma credencial que identifica uma entidade, seja ela empresa, pessoa física, máquina, aplicação ou site na web. • Os Certificados Digitais são compostos pela chave pública do usuário e a assinatura digital de uma terceira parte confiável - a Autoridade Certificadora (AC). Qualquer usuário com acesso a chave pública da AC pode verificar a chave pública do usuário, que foi certificada Nenhuma parte além da AC pode modificar o certificado sem que isso seja detectado. Criptografia e Certificação Digital Certificação Digital – Serviço de Autenticação X.509 • A recomendação X.509 do ITU-T (International Telecommunication Union – Telecommunication Standardization Sector) faz parte da série de recomendações X.500 que definem um serviço de diretório. O diretório é, na verdade, um servidor ou conjunto de servidores distribuídos que mantém um banco de dados de informações sobre usuários. • O X.509 define uma estrutura para a provisão de serviços de autenticação pelo diretório X.500 aos seus usuários. O diretório pode servir como um repositório de certificados de chave pública. • O X.509 é baseado no uso de criptografia assimétrica e assinatura digital. • O X.509 foi emitido inicialmente em 1988. Uma recomendação revisada foi emitida em 1993 e uma terceira versão foi emitida em 1995 e revisada em 2000. • O formato de certificado X.509 é usado em S/MIME (Secure Multipurpose Internet mail Extensions), SSL/TSL (Secure Sockets Layer/Transport Layer Security), SET (Secure Electronic Transaction) e IP Security (IPSEC). Criptografia e Certificação Digital Certificação Digital – Formato Geral de um Certificado (X.509) Fonte: Criptografia e Segurança de Redes, 4ª Ed., William Stallings, Fig. 14.4a, Pág: 304 Criptografia e Certificação Digital • Versão: Diferencia entre versões do formato do certificado. O padrão é 1. Se o campo Identificador Exclusivo do Emissor ou Identificador Exclusivo do Titular estiver presente, a versão deve ser a 2. Se uma ou mais extensões estiverem presentes, a versão deve ser a 3. • Número de Série: Um valor inteiro, exclusivo dentro da AC emitente, que é associado sem ambiguidades a esse certificado. • Identificador do Algoritmo de Assinatura: O algoritmo usado para assinar o certificado, juntamente com quaisquer parâmetros associados. • Nome do Emissor: O nome X.500 da AC que criou e assinou o certificado. • Período de Validade: Consiste em duas datas: início e término de validade do certificado. • Nome do Titular: Nome do usuário a quem o certificado se refere, ou seja, o certificado certifica a chave pública do titular que mantém a chave privada correspondente. • Informação de Chave Pública do Titular: A chave pública do titular, mais um identificador do algoritmo para o qual a chave deve ser usada, juntamente com quaisquer parâmetros associados. • Identificador Exclusivo do Emissor: Um campo de sequência de bits opcional usado para identificar exclusivamente a AC emissora caso o nome X.500 tenha sido utilizado para diferentes entidades. • Identificador Exclusivo do Titular: Um campo de sequência de bits opcional usado para identificar exclusivamente o titular caso o nome X.500 tenha sido utilizado para diferentes entidades. • Extensões: Um conjunto de um ou mais camposde extensão. • Assinatura: Contém o código hash dos outros campos criptografados com a chave privada da AC. Inclui o identificador do algoritmo de assinatura. Certificação Digital – Formato Geral de um Certificado (X.509) Criptografia e Certificação Digital Certificação Digital – Revogação de um Certificado (X.509) • Pode haver a necessidade de revogação de um certificado, quando: A chave privada do usuário foi considerada comprometida. O uso não é mais certificado pela AC. O certificado da AC foi considerado comprometido. • Cada AC precisa manter uma lista consistindo em todos os certificados revogados, porém não expirados, emitidos por ela, incluindo aqueles emitidos aos usuários e outras ACs. Essa lista também deve ser postada no diretório. • Cada Lista de Revogação de Certificado (LRC) postada no diretório é assinada pelo emissor e inclui o nome do emissor, a data em que a lista foi criada, a data em que a próxima atualização da LRC ocorrerá e uma entrada para cada certificado revogado. • Cada entrada consiste no número de série do certificado e a data de revogação desse certificado. • Para evitar atrasos (e possíveis custos) associados às buscas de diretório, é recomendável que o usuário mantenha um cache local de certificados e listas de certificados revogados. Criptografia e Certificação Digital Certificação Digital – Revogação de um Certificado (X.509) Fonte: Criptografia e Segurança de Redes, 4ª Ed., William Stallings, Fig. 14.4b, Pág: 304 Criptografia e Certificação Digital Certificação Digital – ICP (Infraestrutura de Chaves Pública) • A RFC 4949 define a infraestrutura de chave pública (PKI – Public Key Infrastructure) como o conjunto de hardware, software, pessoas, políticas e procedimentos necessários para criar, gerenciar, armazenar, distribuir e revogar certificados digitais com base na criptografia assimétrica. • O objetivo principal para desenvolver uma PKI é permitir a aquisição segura, conveniente e eficiente de chaves públicas. • O grupo de trabalho Public Key Infrastructure X.509 (PKIX) do IETF (Internet Engineering Task Force) tem se esforçado para definir um modelo formal e genérico baseado no X.509, que se adeque a implantação de uma arquitetura baseada em certificado na Internet. Criptografia e Certificação Digital Certificação Digital – Elementos de uma ICP • Autoridade Certificadora (AC): Emite, gerencia, publica e revoga certificados. • Autoridade de Registro (AR): Sistema que assegura o vínculo entre chaves públicas e identidades de seus proprietários, dentre outras funções de gerenciamento, delegadas pela AC. • Entidade Final (EF): Usuário de certificados ou entidade de um sistema de usuário final, proprietários de certificados. • Repositório: Sistema ou coleção de sistemas distribuídos com a finalidade de armazenar certificados e Listas de Certificados Revogados (LCR), distribuindo esses elementos às entidades finais. Criptografia e Certificação Digital Certificação Digital – Processo Papel x Processo Digital Criptografia e Certificação Digital Certificação Digital – Funções de Gerenciamento • Registro: Processo pelo qual um indivíduo faz-se conhecido pela AC, diretamente, ou por meio de uma AR, antes da emissão de certificado(s) relativo(s) a esse indivíduo. • Inicialização: Se dá quando um indivíduo, usuário ou cliente, obtém valores necessários ao início das comunicações com a ICP, como por exemplo, a geração de um par de chaves. • Certificação: Processo em que a AC emite um certificado da chave pública de um indivíduo e lhe envia o certificado, ou publica-o em um repositório. • Atualização do par de chaves: Todos os pares de chave necessitam ser regularmente atualizados, isto é, substituídos por um novo par. Um novo certificado é emitido. • Geração de Chaves: O par de chaves pode ser gerado no ambiente local do usuário, ou pela AC, dependendo da política adotada. • Recuperação do Par de Chaves: Permite que as EFs restaurem seu par de chaves de criptografia/decriptografia a partir de uma facilidade de backup. • Revogação: Possibilita a divulgação de listas de certificados que tenham sido revogados antes de seus respectivos prazos de validade, por meio de LCRs ou outros métodos, como a checagem de revogação on-line. • Certificação Cruzada: Duas CAs trocam informações usadas no estabelecimento de um certificado cruzado. Um certificado cruzado é aquele emitido por uma CA para outra CA. Criptografia e Certificação Digital • O usuário A pode adquirir os seguintes certificados a partir do diretório para estabelecer um caminho de certificação para B: X<<W>>W<<V>>V<<Y>>Y<<Z>>Z<<B>> • O usuário B pode adquirir os seguintes certificados a partir do diretório para estabelecer um caminho de certificação para A: Z<<Y>>Y<<V>>V<<W>>W<<X>>X<<A>> Certificação Digital – Certificação Cruzada Criptografia e Certificação Digital Certificação Digital – ICP Brasil • A ICP-Brasil (Infraestrutura de Chaves Públicas Brasileira) foi instituída pela Medida Provisória 2.200-2, de 24 de agosto de 2001, que cria o Comitê Gestor da ICP-Brasil, a Autoridade Certificadora Raiz Brasileira e define as demais entidades que compõem sua estrutura. • A partir dessa MP, foram elaborados os regulamentos que regem as atividades das entidades integrantes da Infraestrutura de Chaves Públicas Brasileira: Resoluções do Comitê Gestor da ICP-Brasil, as Instruções Normativas e outros documentos. • O modelo de Infraestrutura adotado pela ICP-Brasil foi o de Certificado com Raiz única. O Instituto Nacional de Tecnologia da Informação (ITI) está na ponta desse processo como Autoridade Certificadora Raiz. Cabe ao Instituto credenciar os demais participantes da cadeia, supervisionar e fazer auditoria dos processos. Criptografia e Certificação Digital Certificação Digital – ICP Brasil Criptografia e Certificação Digital • Na hierarquia da ICP-Brasil existem os seguintes tipos de certificados: Certificados de Assinatura (A1, A2, A3 e A4); Certificados de Sigilo (S1, S2, S3 e S4); Certificados de Carimbo de Tempo (T3 e T4). • A diferença reside basicamente na maneira como eles são gerados e no grau de segurança que proporcionam. • Podem ser gerados de duas maneiras: software e hardware. • O A1 e o S1 são gerados e armazenados em software. Podem ser gravados em HDs, CDs ou DVDs, sendo mais simples e menos seguros. • Os demais certificados são gerados e armazenados em hardwares especificamente desenvolvidos para tal propósito, tais como smartcards e tokens, sendo, portanto, mais seguros. Certificação Digital – Tipos de Certificados da ICP Brasil Criptografia e Certificação Digital 1. A entidade que deseja emitir o certificado gera um par de chaves criptográficas (uma chave pública e uma chave privada). 2. É gerado um arquivo chamado Certificate Signing Request (CSR), composto pela chave pública da entidade e mais algumas informações que a AC requer sobre a entidade. 3. A entidade assina o CSR digitalmente com sua chave privada e o cifra com a chave pública da AC. 4. O CSR assinado e cifrado é enviado através da Internet para a AC. 5. Neste ponto, faz-se necessário o comparecimento da pessoa física responsável pelo certificado digital solicitado a uma Autoridade de Registro (AR) (em alguns casos a AR vai até o cliente) para confirmação dos dados contidos no CSR e, se necessário, o acréscimo de mais algum dado. 6. Por fim, o CSR é “transformado” em um certificado digital assinado pela AC e é devolvido ao solicitante. Certificação Digital – Processo de Criação de um Certificado Criptografia e Certificação Digital • RFC 4949 • RFC 5280 • Criptografia e Segurança de Redes, William Stallings, 4ª Ed. – Cap. 11, 12, 13 • Segurança de Redes em Ambientes Cooperativos, Emilio Nakamura – Cap. 9 • Certificação Security+, Yuri Diógenes – Cap. 13, 14 • Certificação Digital ICP – Brasil, Robson Machado – Cap. 8 • http://www.certisign.com.br/certificacao-digital/repositorios/icp • http://informatica.hsw.uol.com.br/certificado-digital3.htm• http://www.iti.gov.br/twiki/pub/Certificacao/PaginaCredenciamento/Entidades_Credenci adas.pdf Informações Complementares Criptografia e Certificação Digital http://www.certisign.com.br/certificacao-digital/repositorios/icp http://informatica.hsw.uol.com.br/certificado-digital3.htm http://www.iti.gov.br/twiki/pub/Certificacao/PaginaCredenciamento/Entidades_Credenciadas.pdf SUMÁRIO Apresentação Aspectos Gerais 2 Criptografia 3 Funções Hash 4 Assinatura Digital 5 6Certificação Digital 1 Criptografia e Certificação Digital 7Serviços de Autenticação 8Mecanismos de Proteção • Kerberos • LDAP (Lightweight Directory Access Protocol) • Autenticação Mútua • Single Sign-On (SSO) • IEEE 802.1X Serviços de Autenticação Criptografia e Certificação Digital • O Kerberos é um mecanismos de autenticação de rede usado em domínio Windows e Linux. • Desenvolvido no MIT (Massachussetts Institute of Technology). • Utiliza porta 88 (UDP → KDC ; TCP → Autenticação) • Provê autenticação mútua. KDC (Key Distribution Center) Time Synchronization Bando de dados de Usuário Serviços de Autenticação – Kerberos Criptografia e Certificação Digital • O LDAP é um protocolo que especifica formatos e métodos de consulta a diretórios. • Um “diretório” é um banco de dados de objetos que provê um ponto centralizado para acesso e gerência de diversos objetos (recursos) de uma rede de computadores, tais como: usuários, computadores, impressores etc. • É uma extensão do padrão X.500. • LDAPv2 utilização criptografia através do protocolo SSL (Secure Sockets Layer). • LDAPv3 utilização criptografia através do protocolo TLS (Transport Layer Security). • Utiliza a porta TCP e UDP 389 (sem criptografia). • Utiliza a porta TCP 636 (com criptografia). Serviços de Autenticação – LDAP Criptografia e Certificação Digital • Single Sign-On (SSO) é a habilidade de um usuário se logar ou acessar múltiplos sistemas fornecendo suas credenciais apenas uma única vez. • Prover autenticação para sistemas operacionais heterogêneos. • Muito utilizado em aplicações Web. Serviços de Autenticação – SSO Criptografia e Certificação Digital • É um protocolo baseado em porta. • Provê autenticação quando o usuário se conecta a uma porta, antes de se autenticar efetivamente na rede e obter acesso a seus recursos. • Pode ser utilizado em redes cabeadas e sem fio. • Pode ser utilizado com os padrões WPA (Wi-Fi Protected Access) e WPA2. Ambos suportam modo Enterprise e o padrão 802.1X. • O servidor 802.1X deve ser integrado a uma base de dados de usuários. RADIUS (Remote Authentication Dial-In User) Serviços de Autenticação – 802.1x Criptografia e Certificação Digital • Serviços de acesso remoto (RAS – Remote Access Services) são usados para prover acesso a rede interna a usuários externos. O acesso pode ser feito via dial-in ou VPN (Virtual Private Network). • Existem diferentes mecanismos de autenticação remota: PAP (Password Authentication Protocol): As senhas são enviadas em texto claro. CHAP (Challenge Handshake Authentication Protocol): Usa um processo de handshake onde o cliente e o servidor compartilham um secreto (semelhante a uma senha) utilizado no processo de autenticação. Cria um hash da senha combinado com um nonce (number used once). MS-CHAP: Implementação da Microsoft para o CHAP e utilizado apenas por clientes Microsoft. MS-CHAPv2: Executa autenticação mútua. TACACS (Terminal Access Controller Access-Control System): Usado em redes UNIX. Utiliza porta UDP 49. XTACACS (Extended TACACS): Melhoramento do TACACS desenvolvido pela Cisco. Utiliza porta UDP 49. TACACS+: Alternativa da Cisco para o RADIUS. Criptografa todo o processo de autenticação. Utiliza porta TCP 49. Possibilita interação com o Kerberos. Serviços de Autenticação – Autenticação Remota Criptografia e Certificação Digital • RADIUS utiliza o protocolo UDP: Porta 1812 para Autenticação Porta 1813 para Auditoria • Criptografa apenas a senha no processo de autenticação. Serviços de Autenticação – RADIUS Criptografia e Certificação Digital • RFC 4120 • Criptografia e Segurança de Redes, William Stallings, 4ª Ed. – Seções 13.2, 14.1, 14.2 • Segurança de Redes em Ambientes Cooperativos, Emilio Nakamura – Cap. 11 • Certificação Security+, Yuri Diógenes – Cap. 7 Informações Complementares Criptografia e Certificação Digital SUMÁRIO Apresentação Aspectos Gerais 2 Criptografia 3 Funções Hash 4 Assinatura Digital 5 6Certificação Digital 1 Criptografia e Certificação Digital 7Serviços de Autenticação 8Mecanismos de Proteção Mecanismos de Proteção – VPN (Virtual Private Network) • Uma VPN proporciona conexões permitidas a usuários que estejam em redes distintas, mas que façam parte de uma mesma comunidade. • Surgiu da necessidade de se utilizar redes de comunicação não confiáveis. • Duas técnicas fazem uma VPN ser possível: tunelamento e criptografia. • Tunelamento significa que a VPN estabelece um caminho lógico (túnel) entre as extremidade de duas redes através de uma infraestrutura de comunicação não confiável usando o encapsulamento de um pacote em outro para encaminhar os datagramas através deste túnel. • Para garantir a privacidade dos dados uma VPN criptografa cada datagrama de saída antes de encapsulá-lo em um outro datagrama para transmissão. Criptografia e Certificação Digital Mecanismos de Proteção – VPN (Virtual Private Network) Fonte: http://www.rnp.br/newsgen/9811/vpn.html Criptografia e Certificação Digital http://www.rnp.br/newsgen/9811/vpn.html Mecanismos de Proteção – Tipos de Túneis VPN • Os túneis podem ser criados de duas formas diferentes: túneis voluntários e túneis compulsórios. • No túnel voluntário, o computador do usuário funciona como uma das extremidades do túnel e, também, como cliente do túnel. O computador do usuário emite uma solicitação VPN para configurar e criar um túnel entre duas máquinas, uma em cada rede privada, e que são conectadas via Internet. • No túnel compulsório, o computador do usuário NÃO funciona como extremidade do túnel. Um servidor de acesso remoto, localizado entre o computador do usuário e o servidor do túnel, funciona como uma das extremidades e atua como cliente do túnel. Criptografia e Certificação Digital Mecanismos de Proteção – Túnel Voluntário Fonte: http://veriscrazy.blogspot.com/2010/07/vpns.html Criptografia e Certificação Digital http://veriscrazy.blogspot.com/2010/07/vpns.html Mecanismos de Proteção – Túnel Compulsório Fonte: http://veriscrazy.blogspot.com/2010/07/vpns.html Criptografia e Certificação Digital http://veriscrazy.blogspot.com/2010/07/vpns.html Mecanismos de Proteção – IPSec (Internet Security) • É um protocolo padrão de camada 3 projetado pelo IETF (Internet EngineeringTask Force) que oferece transferência segura de informações fim a fim através de rede IP pública ou privada. • O IPSec pega pacotes IP privados, realiza funções de segurança de dados como criptografia, autenticação e integridade, e então encapsula esses pacotes protegidos em outros pacotes IP para serem transmitidos. • As funções de gerenciamento de chaves também fazem parte das funções do IPSec. Criptografia e Certificação Digital Mecanismos de Proteção – Requisitos de Segurança do IPSec • Podem ser divididos em dois grupos, que são independentes entre si, podendo ser utilizados de forma conjunta ou separada, de acordo com a necessidade de cada usuário: 1. Autenticação e Integridade; 2. Confidencialidade • Para implementar estas características, o IPSec é composto de 2 mecanismos adicionais: AH (Authentication Header) ESP (Encapsualtion Security Payload) Criptografia e Certificação Digital Mecanismos de Proteção – Requisitos de Segurança do IPSec • AH (Authentication Header): Este cabeçalho, ao ser adicionado a um datagrama IP, garante a integidade e autenticiade dos dados, incluindo campos do cabeçalho original que não são alterados
Compartilhar