Universidade Estadual de Campinas Instituto de Computação Programa de Pós-Graduação Segurança: Conceitos Básicos Elena Balachova R.A. 047798 Márcia M. de O. Valença R.A. 010523 novembro/2005 Profº. Edmundo Madeira MO 818 - Tópicos em Redes de Computadores Sumário Criptografia Autenticação Certificados Digitais Integridade IPsec – Segurança IP Criptografia A palavra criptografia vem do grego kryptos (em português, escondido) + grafo (grafia, escrita): arte ou ciência de escrever em cifra ou código; É um conjunto de técnicas que permitem tornar incompreensível uma mensagem originalmente escrita com clareza, de forma a permitir normalmente que apenas o destinatário a decifre e compreenda. Quase sempre o deciframento requer uma chave, uma informação secreta disponível ao destinatário. Terceiros podem através de uma "escuta" ter acesso à mensagem cifrada e determinar o texto original ou mesmo a chave, quebrando o sistema. Este texto é parte do prefácio do livro do prof. Cláudio Leonardo Lucchesi, Introdução à Criptografia Computacional, Campinas, Editora da Unicamp, 1986 Criptografia A criptoanálise (analisys = decomposição) é a arte ou ciência de determinar chave ou decifrar mensagens sem conhecer a chave. A criptologia é a ciência que reúne criptografia e criptoanálise. É ciência muito antiga, a criptologia já estava presente no sistema de escrita hieroglífica dos egípcios há quase quatro mil anos. Vem sendo muito utilizada, principalmente para fins militares e diplomáticos Objetivos da Criptografia 1 –Confidencialidade Proteger o conteúdo, exceto das pessoas autorizadas 2 -Integridade de Dados Protege a alteração de dados por pessoas não autorizadas 3 –Autenticação Identificação entre duas partes 4 -Não Repúdio Previne da negação de compromissos assumidos Tipos de Criptografia Chaves Privadas ou Simétricas Chaves Públicas ou Assimétricas Funções Hash Criptografia Maior problema que limitou desde sempre a utilização de criptografia: gestão das chaves; Chave: valor numérico que é utilizado num algoritmo ou função matemática para alterar os dados (cifrar). Só quem tem conhecimento da chave consegue obter a mensagem original (decifrar); Gestão de Chaves: administração segura das chaves para as disponibilizar aos utilizadores quando e onde são necessárias Criptografia Simétrica Criptografia simétrica: Principais Vantagens: Rápida; Simples; Algoritmos de chave Simétrica: utiliza a mesma chave (chave única) para cifrar e decifrar as mensagens; Tanto o emissor quanto o receptor devem garantir mutuamente a confidencialidade desta chave, para que a informação permaneça privativa. DES (Data Encryptation Standard), AES (Advanced EncryptionStandard), etc.... Principais Desvantagens: É necessário um canal seguro para transmitir as chaves. O número de chaves necessárias cresce desmesuradamente (Fn = F 100 utilizadores ~= 5.000 chaves; 200 utilizadores ~= 20.000 chaves!!! n-1 + n –1): Algoritmos de Chave Simétrica DES –Data Encryptation Standard Fundado pela IBM em 1970 Utiliza Métodos de Cifragem por Blocos Chave de 56 bits aplicadas em blocos de 64 bits Utiliza mecanismos internos de Permutação, Substituição, 16 Interações, Seleção de Bits, Cálculo de Chaves e deslocamento. Triple-DES O Triple-DES é uma variação do algoritmo DES, sendo que o processo tem três fases: A seqüência é criptografada, sendo em seguida decriptografada com uma chave errada, e é novamente criptografada. Algoritmos de Chave Simétrica AES - Advanced Encryption Standard Características: Cifragem por blocos Chaves de 128, 192 e 256 bits Rápido Pode ser implementado em Hardware e pequenos dispositivos Criptografia Assimétrica ou de Chave Pública Criada na década de 70. É assim chamada pois usa uma chave pública para encriptar e uma chave privada para decriptar dados. As chaves aparecem aos pares: chave privada e chave pública. O que é cifrado com uma chave só pode ser decifrado com a outra. A chave privada deve ser mantida secreta; A chave pública deve ser disponibilizada e distribuída livremente Principais vantagens Já não é necessário cifrar e decifrar com a mesma chave. O número de chaves necessárias é diretamente proporcional ao número de intervenientes. Principais desvantagens Algoritmos “pesados”; Complexidade; Criptografia Assimétrica ou de Chave Pública Criptografia de chave pública traz muitas vantagens é mesmo a resposta para o problema da escalabilidade. ... Mas não resolve o problema de gestão de chaves. De fato incrementa a necessidade de um sistema sofisticado de gestão para resolver os seguintes problemas: Como cifrar uma mensagem uma única vez para uma série de destinatários? Como recuperar mensagens/arquivos cifrados se perder as chaves? Como ter a garantia da autenticidade de uma chave? É mesmo de quem eu penso que é? ... ou foi forjada? Como sei que uma dada chave pública ainda é válida e de confiança? ... Criptografia Assimétrica ou de Chave Pública A resposta está na combinação de: Criptografia simétrica; Criptografia de chave pública; Sofisticado sistema de gestão de chaves. ... a origem da PKI PKI = Public Key Infrastructure (Infra-estrutura de Chave Pública). Criptografia Assimétrica ou de Chave Pública RSA (Sistema criptográfico) Foi inventado em 1977 por Ron Rivest, Adi Shamir e Leonard Adleman, pesquisadores do MIT Cada interveniente dispõe de um par de chaves (privada e pública); O par de chaves RSA é utilizado para cifrar e decifrar mensagens - ao contrário e.g. do sistema Diffie-Hellman (*); Uma mensagem cifrada com a chave privada só pode ser decifrada com a chave pública, e vice-versa; Assinatura digital Quando se cifra com a chave privada; Funciona como prova da identidade do emissor (só este tem acesso à chave privada, por definição); prova da integridade da mensagem É possível utilizar o sistema de cifra RSA para obter assinaturas digitais. (*) Diffie-Hellman: cada interveniente tem um par de chaves que só serve para obter a chave de cifra (simétrica); as chaves pública e privada não são utilizadas para cifrar/decifrar. Funcionamento do RSA Estabelecer dois números primos grandes p e q, e definir o módulo n como sendo n = pq. Os fatores p e q devem ser mantidos em segredo; Estabelecer um inteiro qualquer d que seja relativamente primo ao inteiro (p – 1)( q – 1); Encontrar o valor de e na faixa 1 < = e < = (p – 1)(q – 1) tirando da fórmula ed = 1( mod( p – 1)( q – 1)); Sendo assim é conhecida a chave pública, formada pelo par de inteiros (e,n); Representar a mensagem M que será transmitida como um inteiro na faixa { 1,........, n); se a mensagem M for muito grande, deve-se colocá-la em blocos; Criptografar M num criptograma C da seguinte forma: C = Me (mod n); Decriptografar M utilizando a chave privada d e a fórmula D = Cd (mod n). Exemplo do Algoritmo RSA Façamos uma exemplificação numérica, note que toda a álgebra modular e cálculo do algoritmo de Euler não são detalhados, devendo ser consultados posteriormente. Escolhemos dois números primos p e q, respectivamente 7 e 17. Calcula-se então n = pq = 119 e F (n) = (p – 1)(q – 1) = 96. Agora selecionaremos e de tal forma que seja relativamente primo a F (n) e menor que o mesmo, neste caso e = 5. Determinamos d menor que F (n) pela relação ed = 1 mod 96. O valor encontrado é 77. Assim teremos a chave pública como KU = {5, 119} e a chave privada KR = {77, 119} Criptografia Assimétrica ou de Chave Pública Cifrar uma mensagem/documento com RSA é demasiado “pesado”; Como alternativa, calcula-se um hash (messagedigest) da mensagem/documento com apenas alguns bytes e cifra-se esse hash. Algoritmos Message-digest MD2, MD4 e MD5 – 128 bits (Rivest, 89, 90 e 91); SHA-1 – 160 bits (Secure Hash Algorithm); Criptografia - Hash Definição: Função Hash é implementada a partir de uma função matemática, que transforma uma string de caracteres em valor ou numa chave de tamanho fixo, geralmente mais curta que a original. O algoritmo não é secreto e não é utilizada nenhuma chave no processo de hash. O remetente aplica o algoritmo hash e gera uma string baseada no conteúdo da mensagem. O destinatário aplica o mesmo algoritmo à mensagem recebida e compara com o recebido, confirmando ou não a integridade da mensagem. O Secure Hash Algorithm – SHA e o Message Digest 5-MD5 são exemplos amplamente empregados na criptografia, especialmente nos processos de assinatura digital. Criptografia - Hash Classificação das funções Hash Funções Hashs em chave (Modification Detection Code – MDC) Provê uma imagem representativa de uma mensagem Integridade dos dados Divide-se em duas: One-way Hash Functione Collision Resistance Hash Function Funções Hash com chave (Message Authentication Code–MAC) Garante a integridade da mensagem e da fonte da mesma Não precisa de mecanismos adicionais Possui duas funcionalidades distintas: Mensagem de entrada e chave secreta Criptografia – Função Hash sem chaves Principal sub- classe: MDC Funções hash baseadas em cifragem de blocos Utiliza cifragem de blocos já disponível no sistema (hardware ou software) Pequeno custo adicional Funções hash customizadas Designadas à fazer hashing com performance otimizada Não conta o reuso de componentes já existentes do sistema A maioria é baseada na MD4 (Message Digest Algorithms): MD5 (128bits), SHA-1 (160 bits), RIPEMD (128 e 160 bits), etc. Criptografia – Função Hash sem chaves Funções hash baseadas em aritmética modular Usa mod M Re-uso de software ou hardware já existentes (em sistemas de chaves públicas) Escalabilidade para alcançar níveis de segurança requeridos Lenta Destaca-se a MASH-1 (Modular Arithmetic Secure Hash, algorism1). Criptografia – Função Hash com chaves Definição: Message Authentication Code(MAC) é uma família de função hk parametrizadas por uma chave secreta k, com as seguintes propriedades: Fácil de processar Compressão Resistente a colisão (difícil de encontrar dois Hashs iguais) Autenticação É o processo de provar a própria identidade a alguém. Em geral, um protocolo de autenticação deveria rodar antes que as duas partes comunicantes rodassem qualquer outro protocolo. É o meio para obter a certeza de que o usuário ou o objeto remoto é realmente quem está afirmando ser. Serviço essencial de segurança, pois uma autenticação confiável assegura: o controle de acesso determina quem está autorizado a ter acesso à informação permite trilhas de auditoria Assegura a legitimidade do acesso Autenticação O processo de autenticação é baseado em três métodos distintos: Identificação Positiva O requerente demonstra conhecimento de alguma informação utilizada no processo de autenticação Exemplo uma senha; Identificação Proprietária O requerente demonstra possuir algo a ser utilizado no processo de autenticação. Exemplo: cartão magnético Identificação Biométrica O requerente exibe alguma característica própria. Exemplo: impressão digital Autenticação Qualquer um dos três métodos utilizado isoladamente é considerado insuficiente para confirmar a identidade do requerente, sendo bastante comum a combinação de dois métodos de autenticação – “autenticação por dois fatores” A autenticação pode ser: Unilateral Quando apenas quem solicita o acesso é autenticado Mutual Quando uma parte envolvida autentica o outro Exemplo: Pode ser apoiada por uma estrutura de PKI (Public Key Infrastructure),na qual um terceiro de fé pública venha garantir a identidade de cada parte com a emissão de certificados digitais, juntamente com mecanismos de autenticação para identificação do usuário do certificado. Autenticação – Identificação Positiva A identificação positiva é realizada por meio de informações conhecidas pelo usuário. Geralmente dependem de uma senha ou de um Personal Identification Number – PIN. Exemplos Digitação de uma senha no computador à solicitação da data de nascimento ou número de CPF. Riscos: Divulgação externa: um estranho pode obter uma senha por meio de papéis onde ela foi escrita; Adivinhação: um intruso tenta diversas combinações se senhas até obter sucesso Interceptação de comunicação:um intruso monitorando o canal de comunicação pode interceptar e visualizar a senha caso ela não seja transmitida criptografada. Retransmissão: um intruso pode registrar a senha de um usuário, mesmo criptografada, e retransmiti-la simulando um usuário válido. Comprometimento da máquina: um intruso pode obter acesso ao equipamento com a base de dados de senhas. A principal fragilidade deste método de autenticação resume-se no fato que tudo o que uma pessoa sabe outra pessoa também pode conhecer. Autenticação – Identificação Proprietária É o processo pelo qual o requerente utiliza algo que possua. Cartão magnético, token, smart card Cartão magnético Armazenam pouca informação – cerca de 0,2 kb, o suficiente para guardar alguns poucos dados além de um Personal Identification Number-PIN ou uma senha Não possibilitam regravação dos dados Processo de clonagem fácil, simples e barato Token Não armazenam informações do seu proprietário ou novos dados, apenas um algoritmo, o que certamente é uma desvantagem. Geralmente são usados em conjunto com a identificação positiva, fornecendo dois fatores para os processos de autenticação. Smart Card Considerado por alguns especialistas o estado da arte para os processos de autenticação e armazenagem de pequenos volumes de informação. Podem realizar diversas operações lógicas e matemáticas, como, por exemplo, criptografar dados antes que sejam lidos por um terminal. Autenticação – Identificação Biométrica Envolve processos automatizados de reconhecimento de características físicas intrínsecas de cada indivíduo, minimizando o risco de fraudes nos processos de autenticação. Exemplo de características que podem ser armazenadas , em formato digital em banco de dados: Geometria das mãos, voz, impressões digitais, a íris e a retina de um usuário. Vantagem Alto grau de confiabilidade , além de eliminar as inconveniências e diminuir os riscos associados com o emprego da identificação positiva ou proprietária. Desvantagem Custos elevados de implementação, escassez de soluções no mercado e indisposição gerada nos usuários quanto interagem com os dispositivos de leitura. É importante salientar a necessidade do emprego de técnicas de criptografia, especialmente quando a transmissão das informações biométricas acontece em uma rede. Protocolos de autenticação Exemplos Com senha Com chaves únicas PAP, CHAP, MS-CHAP,Kerberos S/Key, SecurID Com chaves assimétricas (assinatura digital) SSL, SSH, PGP Certificado Digital É um arquivo de computador gerado por processos matemáticos complexos que tem a capacidade de associar a identidade de uma entidade final (usuário, computador ou sistemas) a uma chave pública que, usadas em conjunto com uma chave privada, fornecem a comprovação da identidade. Certificado Sistemas assimétrico de criptografia Modo de criptografia Modo de autenticação Algoritmos RSA e AES Digital Necessidade de Certificados Digitais Identificação, Confidencialidade, Integridade e Não repúdio são garantidos através da utilização de certificados digitais Certificado Digital Publica Certificados Digitais X.509 Entidade Certificação Serviço Directoria / LDAP Entidade Validação Entidade Registo Entidade Timestamping Verifica validade certificado Validação Informação Aplicação / Outro Utilizador Pedido de certificado CPS - Certification Practice Statement CP - Certification Policy Certificado Digital – Infra - Estrutura A tecnologia que dá suporte à certificação digital está baseada na criptografia assimétrica e exige uma estrutura complexa, muito bem definida, chamada Public Key Infrastructure – PKI Uma PKI é um conjunto de sistemas, que obedecem a uma hierarquia própria e recursiva. São Processos normativos e recursos computacionais para gerência de certificados digitais que visam garantir Integridade, Privacidade, Autenticidade em uma transação eletrônica entre entidades finais. Existem três elementos importantes: Entidade de registro Registro, comprovação e aprovação para emissão Entidade de Certificação Emissão, suspensão, revogação, renovação, expiração e armazenamento Diretório Publicação Infra-estrutura de Chaves Públicas Brasil MP 2.200-2 MP 2.200-2 24 de agosto de 2001, Institui a ICP Brasil e estabeleceu critérios para o seu funcionamento. Validade jurídica de documentos em forma eletrônica, das aplicações de suporte e das aplicações habilitadas que utilizem certificados digitais, bem como a realização de transações eletrônicas seguras Dezoito resoluções da ICP Brasil http://www.icpbrasil.gov.br Infra-estrutura de Chaves Públicas Brasil MP 2.200-2 AGP ITI – AC-Raiz AC AC + AR AR Certificado Digital AGP – Autoridade de Gerência de Política, decreto 3.587 de 5 de setembro de 2000; ITI – Responsável pelo AC Raiz da ICP Brasil. AC e AR – Qualquer entidade pública ou privada que atenda aos requisitos da ICP Brasil. AC = Autoridade de Certificação AR = Autoridade de Registro Certificados Digitais Entidade de Certificação vs. Entidade de Registro Entidade de Certificação: Entidade que cria ou fornece meios para a criação e verificação das assinaturas digitais, emite e gere o ciclo de vida dos Certificados Digitais e assegura a respectiva publicidade. Entidade de Registro: Entidade que presta os serviços relativos à identificação/autenticação do detentor do certificado digital, à celebração de contratos de emissão de certificado digital e à gestão de Certificados Digitais, que não se encontrem atribuídos em exclusivo à Entidade de Certificação Infra-estrutura de Chaves Públicas Brasil Situação Atual Autoridades Certificadoras, entre elas Serpro, Caixa Econômica Federal, Serasa, Certisign e Receita Federal. Sistema de Gestão de Chaves e Certificados Gestão das chaves e certificados durante todo ciclo de vida Expiração Criação das chaves Expiração e renovação automática Histórico de chaves Atualização de chaves da CA Arquivo de utilizadores Transferência entre CA’s Validação de certs Emissão dos certificados Utilização Certificados Digitais - Padrão Certificado X.509 v3 Foi criado e aprovado pelo ITU (International Telecommunications Union) um padrão para certificados, o padrão é chamado X.509 A versão da IETF do X.509 é descrita na RFC 3280. Em seu núcleo, o X.509 é um modo para descrever certificados. Certificados Digitais - Utilização Pessoas Físicas Correio eletrônico, navegação na Internet, transações de baixo risco, compras on-line Sem necessidade de comparecimento físico Pessoas Físicas e Jurídicas Comércio Eletrônico, contratos digitais, transações bancárias eletrônicas, VPN´s, acesso à banco de dados corporativos. Apenas com o comparecimento físico da pessoa ou Instituição, ou ainda de seu representante legal, munido de documentação comprobatória exigida Integridade Integridade de dados Confiança de que dados não tenham sido alterados de forma não autorizada e imperceptível. Alteração pode ocorrer em dados armazenados, em transporte ou processamento. Serviços de Integridade Prevenção: impedir que pessoas não autorizadas modifiquem dados. 1. autenticação do usuário (usa serviços de identificação e gerenciamento de chaves criptográficas); 2. autorização e controle de acesso; 3. proteção de comunicações (entre usuário e sistemas e entre componentes do sistema); 4. acesso ao dado. Integridade Assinatura digital é uma técnica criptográfica para indicar o dono ou o criador de um documento ou deixar claro que alguém concorda com o conteúdo de um documento. Isso se consegue facilmente com a criptografia de chaves públicas. Assim como acontece com a assinatura de próprio punho, a assinatura digital deve ser verificável, não falsificável e incontestável.Em outras palavras, deve ser possível “provar” que um documento assinado por um indivíduo foi na verdade assinado por ele ( a assinatura deve ser verificável) e que somente aquele indivíduo poderia ter assinado o documento ( a assinatura não pode ser falsificada, e o signatário não pode mais tarde negar ter assinado o documento) Assinaturas digitais Traduzindo em características concretas: Deve ser uma cadeia de bits que depende do que está sendo assinado; deve usar alguma informação unicamente associável ao autor; deve ser fácil de produzir; deve ser fácil de reconhecer e verificar; deve ser computacionalmente difícil de forjar; deve ser facilmente armazenável. Assinaturas digitais Há dois esquemas básicos: Sem arbitragem Somente o emitente e destinatário de uma assinatura são suficientes para verificar assinaturas e resolver conflitos. Baseadas em criptografia assimétrica Com arbitragem: Um árbitro confiável pode ser usado, para aumentar a robustez do esquema não-arbitrado. Baseada em criptografia simétrica ou assimétrica Assinaturas digitais - Processo 1 - Uma pessoa manda uma mensagem pelo correio eletrônico. 2 - Antes de enviar a mensagem, a pessoa fecha o e-mail, ou criptografa, com uma chave pública do destinatário. 3 - A mensagem é enviada através da internet. Qualquer tentativa de ler o conteúdo não será bem-sucedida, pois será necessária a correspondente chave privada, de posse exclusiva do destinatário, que abrirá aquele cadeado. 4 - O destinatário da mensagem usará a sua chave privada para descriptografá-la, ou seja, abrir o cadeado, e assim lê-la. Assinaturas digitais Processo de assinar Documento com Assinatura Digital Documento Função de Hash Utilizador Hash Hash cifrado com a chave privada do utilizador Assinaturas digitais Processo de verificação Documento com Assinatura Digital Documento Função de Hash Hash =? Hash Hash cifrado com a chave privada do assinante Hash decifrado com a chave pública do assinante Algoritmos para assinaturas digitais Os algoritmos mais usados em esquemas de assinaturas digitais são: o RSA e o DSS (Digital Signature Standard), baseados no método de ElGamal, que por sua vez é baseado no problema do logaritmo discreto. Algoritmos para assinaturas digitais O paradigma do RSA é diferente daquele do DSS. O DSS não possui a propriedade comutativa do RSA: se PA, RA são as chaves pública e privada de A, então D(RA, E(x, PA)) = E(PA, D(x, RA)), onde E e D são os algoritmos para ciframento e deciframento do RSA. Resumo da Mensagem Alto custo de processamento para criptografar e descriptografar toda a mensagem Uso do resumo de mensagem Os algoritmos de resumo da mensagem pegam uma mensagem m, de comprimento arbitrário, e calculam uma “impressão digital” do comprimento fixo dos dados – resumo da mensagem H(m) O resumo da mensagem protege os dados, uma vez que, se m for modificado para m´(seja por má intenção ou acidente), então a mensagem H(m) processada com os dados originais (e transmitida com os dados) não vai combinar com a H(m) processada sobre os dados modificados. Mensagem Longa Função de Hash Resumo de Mensagem de Tamanho Fixo Resumo da Mensagem Resumo da Mensagem O algoritmo de resumo de mensagem deve ter as seguintes propriedades adicionais: Dado um valor de resumo de mensagem x, não deve ser factível descobrir, por meio de processamento, uma mensagem y, tal que H(y)= x. Não deve ser, em termos computacionais, factível descobrir quaisquer duas mensagens x e y, tais que H (x) = H(y). * H(m) = resumo da mensagem Resumo da Mensagem Algoritmos de função hash Algoritmo de mensagem MD5 (Message Digest Algorithms) é amplamente usado hoje. Processa um resumo de mensagens de 128 bits por meio de um processo de quatro estágios. SHA-1 (secure hash algorithm – algoritmo de hash seguro), se baseia em princípios similares aos usados no projeto MD-4, ele produz um resumo de mensagens de 160 bits. RIPE-MD (128 e 160 bits), etc. Distribuição de chaves e Certificação KDC (Key Distribution Center – Central de Distruibuição de Chaves) É um servidor que compartilha uma chave simétrica secreta diferente para cada um de seus usuários registrados, Entidade de rede única e de segurança com quem o usuário estabelece uma chave secreta compartilhada. No caso da criptografia de chaves públicas, o intermediário de confiança é chamado de Autoridade Certificadora (certification Autority- CA). Uma CA certifica que uma chave pública pertence a uma determinada entidade (pessoa ou rede). Certificação de Chaves Públicas Criptografia de chaves pública permite que duas entidades troquem mensagens secretas sem ter de trocar chaves secretas. Evita a necessidade de Infra-Estrutura de KDC O usuário pode disponibilizar sua chave pública de muitas maneiras, como por exemplo em sua página pessoal, colocando em um servidor público de chaves ou enviando-a a um correspondente por e-mail. A autoridade Certificadora (CA) é quem valida identidades e emite os certificados. Empresas que emitem certificados: Verisign, Netscape Certificate, Cybertust, etc... Assinaturas Digitais - campos Normalmente, os certificados contêm as seguintes informações: Chave pública do usuário, bem como uma indicação do algorítmo de chave pública e parâmetros do algoritmo a ser usado com essa chave. Informações da identificação do usuário (como o nome e o endereço de correio eletrônico) Período de validade (o período de tempo em que o certificado é considerado válido) Informações sobre a identificação do emissor do certificado. A assinatura digital do emissor, que atesta a validade da ligação entre a chave pública do usuário e as informações de identificação do usuário. Exemplo de Certificado Digital: Itaú IPsec IPsec –IP Security Descrito nas RFC´s 2401,2402 e 2406, entre outras. Foi desenvolvido por um grupo de trabalho da IETF (Internet Engineering Task Force) em resposta aos desafios de segurança de redes. Comunicação segura em camada de rede(IPv4 e IPv6) É uma das opções para se implementar VPN´s (Virtual Private Network) IPSEC integra mecanismos de autenticação, gestão e distribuição de chaves. A plataforma IPSec foi desenvolvida para prover serviços de segurança de alta qualidade, baseados em criptografia, para o nível IP e/ou para as camadas superiores O projeto completo do IPsec é uma estrutura para vários serviços, algoritmos e granularidades. Além de ser um padrão aberto IETF que está sendo adotado por todos os fabricantes de equipamentos de redes de computadores e desenvolvedores de sistemas, por definição o IPSec possui uma arquitetura aberta no sentido de possibilitar a inclusão de outros algoritmos de autenticação e criptografia. IPsec A razão para vários serviços é que nem todo mundo quer pagar o preço de todos os serviços o tempo, e assim os serviços estão disponíveis à escolha do usuário. Os principais serviços são: sigilo, integridade de dados e proteção contra ataques de reprodução (o intruso reproduz uma conversação). Todos estes serviços se baseiam na criptografia de chave simétrica, porque o alto desempenho é importante. IPsec Existem vários algoritmos porque um algoritmo que agora é considerado seguro poderá ser violado na futuro. Tornando o IPsec independente do algoritmo, a estrutura pode sobreviver até mesmo se algum algoritmo específico for violado mais tarde. A razão para várias granularidades é tornar possível a proteção de uma única conexão TCP, de todo o tráfego entre um par de hosts ou de todo o tráfego entre um par de roteadores seguros. IPsec Dois modos de funcionamento: Modo Transporte Modo Túnel Dois Protocolos (Mecanismos) IPsec ESP: IP Encapsulating Security Payload (50) IPsec AH: IP Autentication Header (51) Tipos de IPSec IP Autentication Header (AH) Oferece recursos de: Autenticação Integridade IP Encapsulating Security Payload (ESP) Oferece recursos de: Sigilo Autenticação Integridade Modos de Utilização do IPsec Modo transporte Garante a segurança apenas dos dados provenientes das camadas superiores. O cabeçalho IPsec é inserido logo depois do cabeçalho IP. Utilizado geralmente para comunicação “ fim –a - fim" entre computadores. O cabeçalho IPsec contém informações de segurança, principalmente o identificador SA, um novo número de seqüência e, possivelmente, uma verificação de integridade de carga útil. No modo transporte, os protocolos provêm proteção primária aos protocolos das camadas superiores; Modo Túnel Fornece segurança também para a camada IP. Utilizado geralmente para comunicação entre roteadores. O modo de túnel fornece um meio para anular até certo ponto a análise de tráfego. Acrescenta um cabeçalho IP extra, aumentando assim substancialmente o tamanho dos pacotes.. Todo o pacote IP, incluindo o cabeçalho, é encapsulado no corpo de um pacote IP com um cabeçalho IP completamente novo. Modos de Utilização do IPsec Rede Confiável Rede não Confiável Gateway Seguro Rede Confiável Gateway Seguro Rede não Confiável Host Rede Confiável Gateway Seguro Rede não Confiável Host Host AS – Security Association Embora esteja na camada IP, ele é orientado a conexões, pois para ter segurança,uma chave tem de ser estabelecida e usada por algum período de tempo – em essência, uma espécie de conexão. As conexões amortizam os custos de configuração por vários pacotes. Uma “conexão” no contexto do IPsec é chamada SA (Security Association). Uma SA é uma conexão simples entre dois pontos extremos e tem identificador de segurança associado a ela. Se houver necessidade de tráfego seguro em ambos os sentidos, serão exigidas duas associações de segurança. Os identificadores de segurança são transportados em pacotes e percorrem essas conexões seguras e são usados para pesquisar chaves e outras informações relevantes ao chegar um pacote seguro. Modo AH - Authentication Header Definido pelo protocolo IP tipo 51 O protocolo HA fornece autenticação da fonte e integridade dos dados, mas não oferece sigilo (isto é, não há criptografia de dados). Permite incluir uma “assinatura digital” em cada pacote transportado. Protege a comunicação pois atacantes não conseguem falsificar pacotes assinados. IPv4 IP TCP/UDP DADOS IP Normal IPv4 com autenticação IP AH TCP/UDP DADOS Modo Transporte Modo AH - Authentication Header O cabeçalho de autenticação do IPsec em modo de transporte para o IPv4 Fonte: Tanenbaum Campos do IPsec AH Next Header: Usado para armazenar o valor anterior que o campo Protocol do IP tinha antes de ser substituído por 51 para indicar que haverá um cabeçalho HA em seguida. Payload Length: É o número de palavras de 32 bits no cabeçalho AH, menos duas unidades Security Parameter Index: É o indicador da conexão, com a SA compartilhada pelo transmissor e pelo receptor. Authentication Data: Código de verificação de integridade (ICV) de tamanho variável,que contém a assinatura digital da carga útil. Quando a SA é estabelecida, os dois lados negociam o algoritmo de assinatura que irão usar. Campos do IPsec AH Sequence Number: Número incremental, que começa a contagem quando o SA é criada. Permite que apenas 232-1 pacotes sejam transmitidos na mesma SA. Após esse número, uma nova SA deve ser criada. Esses números de seqüência não podem se repetir. Se todos 232-1 se esgotarem, uma nova SA deverá ser estabelecida para dar continuidade a comunicação. ESP (Encapsulating Security Payload) Cabeçalho ESP em modo de transporte Cabeçalho ESP em modo de túnel Fonte: Tanenbaum Campos do ESP (Encapsulating Security Payload) O cabeçalho ESP consiste em: Duas palavras de 32 bits. Elas constituem os campos Security pamameters index e Sequence number que vimos no AH. Uma terceira palavra geralmente segue esses campos( mas tecnicamente não faz parte do cabeçalho) é o Initialization vector usado para criptografia dos dados. A ESP também fornece verificações de integridade do HMAC, como o AH; porém em vez de serem incluídas no cabeçalho, elas vem depois da carga útil. A colocação do HMAC no final tem uma vantagem em uma implementação de hardware. O HMAC pode ser calculado à medida que os bits saem pela interface de rede e são acrescentados ao final. Ipsec IPsec é uma extensão de segurança para o protocolo IP definido pelo IETF, que permite criar políticas que servem tanto para intranets quanto para extranets. IPsec define mecanismos que são padronizados tanto para IPv4 (IPsec é facultativo) quanto para IPv6 (neste caso, IPsec é mandatório). Sua proposta é implementar segurança no próprio nível IP, fazendo com que não seja mais necessário criar mecanismos de segurança a nível de aplicativos ou serviços. Bibliografia Tanenbaum, Andrew S. Redes de Computadores .Tradução da Quarta Edição Vandenberg D. de Souza.– Rio de Janeiro: Elsevier, 2003 James F. Kurose, Keith W. Ross. Rede de Computadores e a Internet: Uma nova abordagem. Tradução Arlete Simille Marques – São Paulo: Addison Wesley, 2003 D´Andrea, Edgar Pacheco Roberto. Segurança em Banco Eletrônico – São Paulo : PricewaterhouseCoopers,2000. http://www.lca.ic.unicamp.br/twiki/pub/RDahab/GerenciaDeSegurancaDaInfor macao/MissaoReqServ.pdf , consultado em 20/11/2005. http://www.lca.ic.unicamp.br/twiki/bin/view/LCA/SobreCriptografia, consultado em 20/11/2005 http://www.icpbrasil.gov.br, consultado em 20/11/2005 http://www.certsign.com.br, consultado em 20/11/2005 https://www.redes.unb.br/security/criptografia/rsa/rsa.html#a%20%20%20Introdução/Contexto, consultado em 21/11/2005 Bibliografica (cont.) RFC´s : RFC 2401 : Security Architecture for the Internet Protocol RFC 2402:IP Authentication Header RFC 2403: The Use of HMAC-MD5-96 within ESP and AH RFC 2404: The Use of HMAC-SHA-1-96 within ESP and AH RFC 2405: The ESP DES-CBC Cipher Algorithm With Explicit IV RFC 2406: IP Encapsulating Security Payload (ESP) RFC 2407: The Internet IP Security Domain of Interpretation for ISAKMP RFC 2408: Internet Security Association and Key Management Protocol (ISAKMP) RFC 2409: 60The Internet Key Exchange (IKE) Contatos [email protected] [email protected]