ICSP INSTITUTO DE CIÊNCIAS SOCIAIS DO PARANÁ FESP FUNDAÇÃO DE ESTUDOS SOCIAIS DO PARANÁ BACHARELADO EM SISTEMAS DE INFORMAÇÃO



Documentos relacionados
Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

Assinatura Digital: problema

I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings

CERTIFICAÇÃO DIGITAL

Criptografia codificar dados em informações aparentemente sem sentido pessoas não consigam ter acesso às informações que foram cifradas

UNIP UNIVERSIDADE PAULISTA

Capítulo 5 Métodos de Defesa

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

C R I P T O G R A F I A

Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP

Criptografia e Chave Pública. Segurança da Informação

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Questionário de Estudo - P1 Criptografia

Certificado Digital: Como Funciona (

Segurança da Informação

Segurança da Informação. Prof. Gleison Batista de Sousa

Capítulo 8. Segurança de redes

Escola Secundária Eça de Queiroz

FTP Protocolo de Transferência de Arquivos

Gerenciamento e Segurança de Dados

Segurança Internet. Fernando Albuquerque. (061)

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

PROJETO INTEGRADOR. 5º PERÍODO Gestão da Tecnologia da Informação Noturno

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Novo Guia de uso rápido do PROJUDI

Execícios de Revisão Redes de Computadores Edgard Jamhour. Filtros de Pacotes Criptografia SSL

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Protocolos Telnet e SSH. Professor Leonardo Larback

Gerência de Segurança

Introdução. Iremos procurar ver aqui alguns mecanismos de proteção mais utilizados como: criptografia e SSL. 1.0 Criptografia

TCEnet e TCELogin Manual Técnico

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

PROJETO DE REDES

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 13

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Nível de segurança de uma VPN

SSH Secure Shell Secure Shell SSH

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Algoritmos criptográficos de chave pública

Auditoria e Segurança de Sistemas Aula 09 Criptografia. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com

Histórico de Revisão Data Versão Descrição Autor

Gerenciamento das chaves criptográficas no Cloud Privacy Guard

fonte:

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Conceitos de Criptografia e o protocolo SSL

MA14 - Aritmética Unidade 24 Resumo

CRIPTOGRAFIA E SEGURANÇA DE REDES

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16

Manual do Ambiente Moodle para Professores

Outlook XML Reader Versão Manual de Instalação e Demonstração UNE Tecnologia

Transcrição:

ICSP INSTITUTO DE CIÊNCIAS SOCIAIS DO PARANÁ FESP FUNDAÇÃO DE ESTUDOS SOCIAIS DO PARANÁ BACHARELADO EM SISTEMAS DE INFORMAÇÃO SISTEMAS DE CRIPTOGRAFIA CURITIBA 2006

2 CARLOS EDUARDO DOS SANTOS SISTEMAS DE CRIPTOGRAFIA Trabalho de Graduação apresentado ao Curso de Bacharelado em Sistemas de Informação, Disciplina de Redes e Sistemas Distribuídos, sob a orientação do Professor Airton Kuada. Sala 104. CURITIBA 2006

1 - INTRODUÇÃO... 4 2 - HISTÓRIA DA CRIPTOGRAFIA... 5 2.1 - SUBSTITUIÇÕES MONOALFABÉTICAS... 5 2.2 - SISTEMAS DE PERMUTA... 5 3 - TERMOS UTILIZADOS EM CRIPTOGRAFIA... 5 4 - REQUISITOS DE UM SISTEMA CRIPTOGRÁFICO... 6 5 - OBJTIVOS DA CRIPTOGRAFIA... 7 6 - TIPOS DE CRIPTOGRAFIA... 8 6.1 - SIMÉTRICA... 8 6.1.1 - ALGORITMOS UTILIZADOS NA CRIPTOGRAFIA SIMÉTRICA... 9 6.2 - ASSIMÉTRICA...10 6.2.1 - ALGORITMOS UTILIZADOS NA CRIPTOGRAFIA ASSIMÉTRICA...11 6.3 - COMBINANDO OS TIPOS...11 7 - APLICAÇÕES DA CRIPTOGRAFIA...12 7.1 - SEGURANÇA NAS COMUNICAÇÕES...12 7.2 - IDENTIFICAÇÃO E AUTENTICAÇÃO...12 7.3 - COMÉRCIO ELETRÔNICO...13 8 - PROTOCOLOS CRIPTOGRÁFICOS...103 9 - CERTIFICAÇÃO DIGITAL...104 10 - REFERÊNCIAS...16 3

4 1 - INTRODUÇÃO A criptografia é uma área de especialização da matemática e da engenharia que oferece técnicas de proteção a mecanismos e a integridade de dados, e ferramentas de avaliação dessas técnicas. Estas técnicas e ferramentas são de natureza puramente sintática, não podendo, portanto, serem destinadas a fornecer ou induzir, por si mesmas, confiança no significado da informação que tais dados supostamente veiculam. A criptografia pode oferecer segurança na informática somente onde e quando a confiança no significado da informação veiculada pelos dados protegidos já tenha sido obtida ou fornecida por outros meios. Portanto a criptografia não oferece nenhuma solução mágica para problemas de segurança na informática. O que oferece são truques para manipulação de probabilidades que nos permitem escolher o terreno e a maneira como poderemos nos proteger no mundo dos bits. A criptografia de forma resumida nada mais é do que a transformação de um texto original em um texto ininteligível (texto cifrado), que pode ser restaurado.

5 2 - HISTÓRIA DA CRIPTOGRAFIA Estima se que a criptografia seja, aproximadamente tão antiga quanto a escrita. Uma vez que o homem aprendeu a escrever ele começou a pensar em como fazer para, em certas ocasiões esconder o que foi escrito. Alguns séculos atrás os romanos utilizavam códigos secretos para comunicar planos de batalhas. O mais interessante é que a tecnologia de criptografia não mudou muito até os meados deste século. Depois da segunda guerra mundial, com a invenção do computador, a área realmente floresceu incorporando complexos algoritmos matemáticos. A maior parte dos sistemas antigos podem ser reunidos em dois grupos:! Substituições monoalfabéticas;! Sistemas de permuta; 2.1 - SUBSTITUIÇÕES MONOALFABÉTICAS Cada letra da mensagem é substituída por outra, de tal maneira que esta relação de substituição seja fixa. Este método é extremamente simples e já é possível notar a sua fraqueza. 2.2 - SISTEMAS DE PERMUTA Neste tipo de sistema a chave é um vetor de permuta P de tamanho m. Isto significa que P deve ter todos os números entre 1 e m, sem a repetição de nenhum. Estas características garantem que P terá uma permuta inversa. Ex: Escrever por linha e ler por colunas. 3 - TERMOS UTILIZADOS EM CRIPTOGRAFIA Criptoanálise (Kriptós = Escondido, oculto; análisys = Decomposição): É a arte ou ciência de derminar a chave ou decifrar mensagens sem conhecer a chave. Uma tentativa de criptoanálise é chamada ataque. Criptologia (Kriptós = Escondido, oculto; logo = estudo, ciência): É a ciência que reúne a criptografia e a criptoanálise. Cifrar: É o ato de transformar dados em alguma forma ilegível. Seu propósito é o de garantir a privacidade, mantendo a informação escondida de qualquer pessoa não autorizada, mesmo que essa consiga ver os dados cifrados.

6 Decifrar: É o processo inverso de cifrar, ou seja, transformar os dados cifrados na sua forma original, intelígivel. 4 - REQUISITOS DE UM SISTEMA CRIPTOGRÁFICO Algumas regras para criptografia foram definidas no século XIX por Kerckhoffs. Elas são:! O sistema deve ser, se não teoricamente (matematicamente) inquebrável, inquebrável na prática;! Os fatos públicos a respeito do sistema não devem ser inconvenientes para o remetente nem para o destinatário;! O método de escolha da chave deve ser fácil memorização;! O texto cifrado deve ser transmissível via telégrafo;! O aparelho criptográfico deve ser portátil;! O uso do sistema não deve exigir uma longa lista de regras ou muito esforço mental; Atualmente essas regras estão desatualizadas, as regras de hoje para um bom sistema criptográfico são:! O texto puro deve permitir que qualquer conjunto de dados binário seja encriptado;! A chave deve ser de um tamanho tal que inviabilize uma busca exaustiva de chaves;

7 5 - OBJETIVO DA CRIPTOGRAFIA A criptografia computacional tem como objetivo proteger o sistema quanto ameaça de perda de confiabilidade e integridade e é utilizada para garantir:! Sigilo: Somente os usuários autorizados têm acesso à informação.! Integridade: Garantia oferecida ao usuário de que a informação correta, original, não foi alterada, nem intencionalmente, nem acidentalmente.! Autenticação do usuário: É o processo que permite ao sistema verificar se, a pessoa com quem está se comunicando é de fato a pessoa que alega ser.! Autenticação de remetente: É o processo que permite a um usuário certificar se que a mensagem recebida foi de fato enviada pelo remetente, podendo se inclusive provar perante um juiz, que o remetente enviou aquela mensagem.! Autenticação do destinatário: Consiste em se ter uma prova de que a mensagem enviada foi como tal recebida pelo destinatário.! Autenticação de atualidade: Consiste em provar que a mensagem é atual, não se tratando de mensagens antigas reenviadas.

8 6 - TIPOS DE CRIPTOGRAFIA Seja para trafegar dados, autenticar os nós ou verificar informações, um componente comum em qualquer conexão segura é um segredo. Somente utilizando-se de informações restritas a pelo menos uma das partes garante-se que intrusos não possam comprometer uma conexão, já que os algoritmos de criptografia são públicos, portanto a forma de embaralhar/desembaralhar a informação pode ser realizada por qualquer um que detenha domínio do algoritmo usado na transmissão. A forma mais simples ( e a mais usada) de manter uma conexão segura é escolher um segredo (uma chave secreta) e configurar dois nós para criptografar seus dados usando a mesma. Esta criptografia é chamada de simétrica. O ponto crítico da criptografia simétrica encontra-se na premissa de que os dois nós acordaram sobre uma chave a ser usada e somente eles possuem conhecimento sobre esta chave. Em transações onde os nós não podem obedecer a esta premissa, que representam grande parte das transações realizadas via Internet, faz-se necessário o uso de algum algoritmo que não necessite de uma chave pré-estabelecida entre as duas partes. A solução para este problema foi dada pela criptografia assimétrica (algoritmo de chave pública), que possibilitou a explosão das transações por intermédio das redes de computadores. 6.1 - SIMÉTRICA A criptografia baseada em chaves simétricas, fundamenta-se em chaves secretas pré-definidas pelas partes dispostas a manter uma conexão segura, que deverão garantir o sigilo desta chave, com a pena de comprometer toda a segurança dos dados. Os algoritmos de encriptação dos dados (também chamados de ciphers) são usualmente operações matemáticas reversíveis, que combinam os dados de entrada com a chave secreta nas operações. A qualidade da encriptação está diretamente ligada ao tamanho da chave usada, já que quanto maior o tamanho da chave, maior o numero de chaves possíveis, o que dificulta a quebra da criptografia por força bruta. Se por exemplo, um algoritmo de encriptação por chave secreta utilizar uma chave de 2 bits, ele pode ser facilmente quebrado, pois basta um intruso testar no máximo 4 diferentes chaves até descobrir o segredo da

9 transmissão. Por realizar operações matemáticas relativamente simples, o tempo computacional gasto pelos algoritmos de chave simétrica é satisfatoriamente curto para ser implementado sem adicionar sobrecarga nos sistemas físicos atualmente no mercado. 6.1.1 ALGORITIMOS UTILIZADOS NA CRIPTOGRAFIA SIMÉTRICA A) DES Criado em 1971 por Horst Feistel que trabalhava para IBM. Ele criou o algoritimo chamado Lucifer, que em 1976 foi adotado como padrão pelo governo americano após sofrer algumas mudanças na sua implementação e em seu nome. O algoritimo passou a se chamar DES (Data Encryption Standard). DES é uma algoritmo de bloco de 64 bits usando chaves de 64 bits (56 reais e 8 últimos são usados como verificadores da chave). B) AES Numa proposta de substituir o DES, o NIST (National Institute of Standards and Technology dos E. U.) promoveu uma competição para que fosse feito um algoritmo que seria chamado AES (Advanced Encryption Standard) que atendesse as seguintes especificações: Algoritmo publicamente definido Ser uma cifra simétrica de bloco Projetado para que o tamanho da chave possa aumentar Implementável tanto em hardware quanto em software Disponibilizado livremente ou em acordo com termos ANSI onde foi julgado: o Segurança (esforço requerido para criptoanálise). o Eficiência computacional. o Requisitos de memória. o Adequação a hardware e software. o Simplicidade.

10 O processo seletivo teve inicio em 1997 e terminou em 2000 com a vitória do algoritmo Rijndael escrito por Vincent Rijmen e Joan Daemen. Este algoritmo Criptografa e Descriptografa usando uma chave criptografada e blocos, ambos de tamanhos de 128, 192 ou 256 bits. C) BLOWFISH Blowfish é um algoritmo criptográfico de chave simétrica desenvolvido por Bruce Schneier. Consiste de um cifrador em blocos de 64 bits com chaves de tamanho variável (até 448 bits). O Blowfish ganhou uma grande aceitação no mercado sendo utilizado em diversas aplicações, dentre elas, o Nautilus e o PGPfone. Ainda não são conhecidos ataques contra ele. Possui: Cifragem em blocos de 64 bits; Chave de tamanho variável: 32 à 448 bits; Desenvolvido por Bruce Schneier; Mais rápido que o DES e o IDEA; Não patenteado e totalmente grátis; Não necessita de licença; 6.2 - ASSIMÉTRICA A inconveniência do pré-estabelecimento de uma chave secreta exigido pelo algoritmo de chave simétrica é contornada utilizando-se a criptografia Assimétrica. Neste modelo de criptografia, duas chaves são utilizadas para realizar o processo de encriptação/desencriptação, o que uma encriptar somente a outra pode desencriptar. Desta forma, uma parte querendo estabelecer uma conexão segura com outra, deverá gerar as duas chaves: a chave pública e a chave privada. A chave pública pode ser livremente distribuída, já que de nada adianta a chave pública sem a privada para completar a encriptação/desencriptação. Como utiliza-se de algoritmos reversos para desencripar mensagens, o tempo computacional utilizado pelos algoritmos de criptografia assimétrica é muito elevado, tornando-se inviável o uso de uma comunicação intensa de dados utilizando-se estes algoritmos. Os três principais sistemas de criptografia assimétrica são: DH (Diffie - Hellman), RSA, ElGamal.

11 6.2.1 - ALGORITIMOS UTILIZADOS NA CRIPTOGRAFIA ASSIMÉTRICA A) DIFFIE HELLMAN Em 1976 Whiltfield Diffie e Martin Hellman introduzem o conceito de criptografia assimétrica, e também um sistema de troca de chaves baseado no problema do logaritmo discreto, cuja dificuldade de computação é igual ou superior à fatoração do produto de números primos. B) RSA Criado por Ron Rivest, Adi Shamir e Len Adleman em 1977 no MIT, baseia se basicamente na multiplicação entre dois números primos e depende da dificuldade em se fatorar o produto dessa multiplicação, pos isso sua segurança depende imensamente do tamanho da chave escolhida. Composto de um sistema de criação de chaves, um algoritmo de encriptação e desencriptação. C) ElGAMAL Taher Elgamal em 1984 introduziu o algoritmo que recebeu seu nome, também baseado num problema de logaritmo discreto usando as propriedades de corpos cíclicos finitos. O sistema em si é composto por 3 componentes, um gerador de chaves, um algoritmo de encriptação e uma algoritmo de desincriptação. 6.3 - COMBINANDO OS TIPOS O protocolo TLS e SSL combinam as criptografias simétrica e assimétrica, para contornar o problema do segredo pré-estabelecido da simétrica e o alto gasto computacional da assimétrica. Nestes protocolos, a solução consiste em uma etapa inicial de negociação (handshake), onde utiliza-se de criptografia assimétrica para autenticar os nós e combinar uma chave secreta para uso na criptografia simétrica. Terminada esta etapa, o algoritmo por chave pública garante que a negociação da chave secreta foi feita em um canal seguro e que somente as duas partes a conhecem, portanto pode-se trabalhar durante todo o restante da conexão utilizando-se os algoritmos de chave simétrica, tornando a transmissão computacionalmente viável.

12 7 - APLICAÇÕES DA CRIPTOGRAFIA A Criptografia apresenta-se como uma ferramenta de grande utilidade para uma série de aplicações. Uma aplicação típica da criptografia é a sua utilização em canais de tráfego de mensagens construídos a partir de tecnologias bem conhecidas. Tais sistemas podem ter diferentes níveis de complexidade. Dentre estas aplicações incluem segurança de comunicações, identificação e autenticação. Outras aplicações envolvem sistemas para comércio eletrônico, certificação, correio eletrônico seguro, recuperação de chaves e acesso seguro a sistemas de computação. 7.1 - SEGURANÇA NA COMUNICAÇÕES As aplicações que envolvem segurança de comunicações são as que mais demandam o uso da criptografia. Duas pessoas podem se comunicar de forma segura encriptando as mensagens trocadas entre elas. Isto pode ser feito forma que uma terceira pessoa que esteja interceptando estas mensagens nunca possa ser capaz de decifrá-las. Atualmente graças ao desenvolvimento da criptografia com chaves públicas, uma serie de ferramentas estão disponíveis para a criação de grandes redes de comunicação que permitem às pessoas comunicarem-se seguramente mesmo que elas nunca tenham se comunicado antes, sejam por meio de computadores, celulares ou outros dispositivos de comunicação de uso pessoal. Estas técnicas são usadas não só para a encriptação de dados, como também para a encriptação de voz. 7.2 - IDENTIFICAÇÃO E AUTENTICAÇÃO Identificação e Autenticação são as mais vastas aplicações da criptografia. Identificação é o processo de verificação da identidade de alguém ou de alguma coisa. Por exemplo, quando se retira dinheiro em um banco o caixa pede para que a pessoa se identifique para verificar a identidade do proprietário da conta. O mesmo processo pode ser feito de forma eletrônica com o uso da criptografia. Todos os cartões de terminais automáticos são associados a uma senha a qual vincula o proprietário do cartão ao proprietário da conta.

13 Quando o cartão é inserido em um terminal, a máquina pede a quem tem este cartão à senha. Caso esta senha esteja correta, a máquina infere que aquela pessoa seja o proprietário da conta e libera o acesso. Uma outra aplicação importante da criptografia é a Autenticação. A autenticação é similar à identificação, uma vez que ambos os processos permitem a uma entidade o acesso a determinados recursos. Porém a autenticação é mais abrangente dado que ela não necessariamente envolve a identificação da pessoa ou entidade. A autenticação meramente determina se dada pessoa ou entidade é autorizada para aquilo em questão. 7.3 - COMÉRCIO ELETRÔNICO Ao longo de anos recentes tem havido um crescimento do número de negócios conduzidos via Internet. Esta forma de negócio é conhecido como Comércio Eletrônico ou E-Commerce. O comércio eletrônico envolve uma série de atividades realizadas de forma eletrônica dentre as quais se destacam as transferencias de fundos que são também realizadas desta forma. Entretanto a simples apresentação de um número de cartão de crédito pode levar o seu proprietário a ser fraudado tendo o seu número de cartão de crédito usado sem sua permissão. O uso de mecanismos de transação segura na Internet, onde o número do cartão de crédito é enviado junto com outras informações de forma encriptada tem permitido que estes pagamentos possam se dar de forma segura. 8 - PROTOCOLOS CRIPTOGRÁFICOS A Criptografia de chave pública e suas implementações dentro de um Certificado Digital baseado num sistema de segurança, tem sido possível devido as redes e protocolos de aplicações padronizados. A seguir, teremos uma breve descrição dos protocolos mais importantes: SSL e TLS O SSL (Secure Sockets Layer) / TLS (Transport Layer Securirty ultima versão do SSL) é um sistema aberto, protocolo não proprietário desenvolvido pela Netscape para prover segurança durante as comunicações sensíveis. Este é aceito pelo padrão WEB para a comunicação entre cliente-servidor criptografada e autenticada, podendo rodar em baixo dos protocolos de aplicação HTTP,

14 SNMP, FTP, LDAP e Telnet [Baltimore]. Este é seguro, rápido e facilmente adaptado à outros protocolos WEB. S/MiMe O padrão S/MiMe (Secure Multi-Purpose Internet Mail Extensions) é usado para envios de e-mail com seguraça. A maioria das aplicações de e-mail são inerentemente inseguras. Quando usado, pode-se garantir que pessoas (administradores de rede, ISPs e outros) não podem interceptar, ler ou alterar mensagens. O protocolo MIME define como uma mensagem eletrônica está organizada e é suportada pela maioria das aplicações de e-mail. O S/MiMe permite que a informação seja criptografada e inclui um certificado digital como componente numa mensagem. 9 - CERTIFICAÇÃO DIGITAL Certificado é um documento padronizado (x.509) que serve para comprovar informações sobre o dono, sobre a CA e identificar chave pública do dono, são assinados pela CA e possuem prazo de expiração. Desta forma, atende requisitos onde qualquer usuário pode consultar as informações de um certificado para determinar nome e chave pública do proprietário e verificar a originalidade do certificado. São utilizados por participantes de uma comunicação para troca de chaves confiável. Servem para evitar tentativas de substituição de uma chave pública por outra. A garantia para evitar esse ataque é representada pelos certificados de chave pública. Tais certificados consistem em chaves públicas assinadas por uma pessoa de confiança, geralmente no formato padrão ITU X.509v3. A Certificação Digital garante segurança e autenticidade àqueles que acessam a Internet, prevenindo eventuais fraudes eletrônicas através, por exemplo, da alteração de dados não autorizada e da visualização de dados confidenciais. Existem diversos tipos de certificados, conforme descrição feita a seguir: Certificados de CA: utilizados para validar outros certificados; são auto assinados ou assinados por outra CA. Certificados de servidor: utilizados para identificar um servidor seguro; contém o nome da organização e o nome DNS do servidor.

15 Certificados pessoais: contém nome do portador e, eventualmente, informações como endereço eletrônico, endereço postal, etc. Certificados de desenvolvedores de software: utilizados para validar assinaturas associadas a programas

16 10. REFERÊNCIA: Disponível em : Http://www.bax.com.br/Bax/Interesses/Publis/Disciplinas. Acesso em 27 mar. 2006. Disponível em: BiblioDigi/ProgramaFJP/Seguranca/Criptografia.doc. Acesso em 27 mar 2006. MEISTER, J. C. Esforço para aumentar a vida curta do conhecimento. Disponível em: <http://www.gestaoerh.com.br/gestaoplus/gp06_a.htm>. Acesso em: 27 mar. 2006. Disponível em : http://www.angelfire.com/linux/criptografia/. Acesso em 27 mar. 2006. DE CARVALHO, Daniel. Segurança de dados com criptografia. MÉTODOS E ALGORITMOS. Rio de Janeiro. 2 ED. Express Book. 2001.