segurança: conceitos básicos elena balachova r.a. 047798 márcia m. de o. valença r.a. 010523...
TRANSCRIPT
Segurança: Conceitos Básicos
Elena Balachova R.A. 047798Márcia M. de O. Valença R.A. 010523
novembro/2005
Universidade Estadual de CampinasInstituto de Computação
Programa de Pós-Graduação
MO 818 - Tópicos em Redes de Computadores
Profº. Edmundo Madeira
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
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
Objetivos da Criptografia
Chaves Privadas ou Simétricas
Chaves Públicas ou Assimétricas
Funções Hash
Tipos de Criptografia
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:
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.
Principais Vantagens: Rápida; Simples;
Algoritmos de chave Simétrica: 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 = Fn-1 + n –1):
100 utilizadores ~= 5.000 chaves; 200 utilizadores ~= 20.000 chaves!!!
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
Algoritmos de Chave Simétrica
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?
...
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.
Criptografia Assimétrica ou de Chave Pública
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).
Funcionamento do RSA
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 (n) = (p – 1)(q – 1) = 96. Agora selecionaremos e de tal forma que seja relativamente
primo a (n) e menor que o mesmo, neste caso e = 5. Determinamos d menor que (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}
Cifrar uma mensagem/documento com RSA é demasiado “pesado”;
Como alternativa, calcula-se um hash (message-digest) 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 Assimétrica ou de Chave Pública
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
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), RIPE-MD (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 sem 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)
Criptografia – Função Hash com chaves
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
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
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 sucessoInterceptaçã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.
É 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 Proprietária
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.
VantagemAlto 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.
DesvantagemCustos elevados de implementação, escassez de soluções no mercado e indisposição gerada nos usuários quanto interagem com os dispositivos de leitura.
Autenticação – Identificação Biométrica
É 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.
Exemplos Com senha
PAP, CHAP, MS-CHAP,Kerberos Com chaves únicas
S/Key, SecurID Com chaves assimétricas (assinatura digital)
SSL, SSH, PGP
Protocolos de autenticação
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.
Sistemas assimétrico de criptografia
Modo de criptografia
Modo de autenticação
Algoritmos RSA e AES
Certificado
Digital
Necessidade de Certificados Digitais
Identificação
Integridade
Privacidade
User ID/Password
CriptografiaSimétrica(segredopartilhado)
SIM
SIMNão-repudiação
NÃO
NÃO
NÃO
NÃO
Técnicas
Elementosde segurança
ContenciosoContractuais / normativas
Soluções
SIM SIM
SIM SIM
SIMSIM
CriptografiaAssimétrica(certificados digitais)
Red
es
Fech
ad
as
Red
es
Ab
ert
as
e/o
u p
riva
da
s
Enquadramento legal
Identificação
Integridade
Privacidade
User ID/Password
CriptografiaSimétrica(segredopartilhado)
SIM
SIMNão-repudiação
NÃO
NÃO
NÃO
NÃO
Técnicas
Elementosde segurança
ContenciosoContractuais / normativas
Soluções
SIM SIM
SIM SIM
SIMSIM
CriptografiaAssimétrica(certificados digitais)
Red
es
Fech
ad
as
Red
es
Ab
ert
as
e/o
u p
riva
da
s
Enquadramento legal
Identificação, Confidencialidade, Integridade e Não repúdio são garantidos através dautilização de certificados digitais
Identificação, Confidencialidade, Integridade e Não repúdio são garantidos através dautilização de certificados digitais
Entidade ValidaçãoEntidade Validação
EntidadeTimestamping
EntidadeTimestamping
UtilizadorUtilizador
ValidaçãoInformaçãoValidação
Informação
EntidadeCertificação
EntidadeCertificação
Serviço Directoria / LDAPServiço Directoria / LDAP
Publica Certificados Digitais X.509Publica Certificados Digitais X.509
Aplicação / OutroAplicação / Outro
Verifica validade certificadoVerifica validade certificado
CPS - Certification Practice StatementCP - Certification PolicyCPS - Certification Practice StatementCP - Certification Policy
Pedido de certificadoPedido de certificado
EntidadeRegisto
EntidadeRegisto
Certificado Digital
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
Certificado Digital – Infra - Estrutura
Infra-estrutura de Chaves Públicas Brasil MP 2.200-2
MP 2.200-2MP 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
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.
Infra-estrutura de Chaves Públicas Brasil MP 2.200-2
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
Criação das chaves Expiração
Validação de certs
UtilizaçãoEmissão dos certificados
Expiração e renovação automática
Atualização de chaves da CA
Arquivo de utilizadores
Transferência entre CA’s
Histórico de chaves
Certificados Digitais - Padrão
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.
Certificado X.509 v3
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
Certificados Digitais - Utilização
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.
Utilizador
Documento
Função de Hash
Documento comAssinatura Digital
Hash cifrado com a chave privada
do utilizador
Hash
Processo de assinar
Assinaturas digitais
Assinaturas digitais
Processo de verificação
Documento
Função de Hash
Documento comAssinatura Digital
Hash decifrado com a chave pública do assinante
Hash
Hash
= ?
Hash cifrado com a chave privada 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 não Confiável
Rede não Confiável
Rede não Confiável
Rede Confiável
Rede Confiável
Rede Confiável
Gateway Seguro
Gateway SeguroGateway Seguro
Host
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.
IP TCP/UDP DADOS
IP TCP/UDP DADOSAH
IPv4
IPv4 com autenticação
IP Normal
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/2005http://www.certsign.com.br, consultado em 20/11/2005https://www.redes.unb.br/security/criptografia/rsa/rsa.html#a%20%20-%20Intr
oduçã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)