CAPÍTULO 2 FUNDAMENTOS DE SEGURANÇA DE REDES. a) Conceitos Básicos conceitos sobre o segurança e definição de firewall;



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

Assinatura Digital: problema

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

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

Engenharia de Software III

Introdução ao Modelos de Duas Camadas Cliente Servidor

Arquitetura de Rede de Computadores

UNIP UNIVERSIDADE PAULISTA

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

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.

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

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

PROJETO RUMOS DA INDÚSTRIA PAULISTA

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

UNIVERSIDADE FEDERAL DE PELOTAS

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

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

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

Entendendo como funciona o NAT

2 Diagrama de Caso de Uso

Resolução da lista de exercícios de casos de uso

Algumas Leis da Segurança

SISTEMAS DISTRIBUÍDOS

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Segurança da Informação

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Política de Privacidade da Golden Táxi Transportes Executivo. Sua Privacidade Na Golden Táxi Transportes Executivo. acredita que, como nosso

Manual do Ambiente Moodle para Professores

PLANOS DE CONTINGÊNCIAS

Segurança Internet. Fernando Albuquerque. (061)

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Quadro de consulta (solicitação do mestre)

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

CERTIFICAÇÃO DIGITAL

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

3. Arquitetura Básica do Computador

Protocolos de Redes Revisão para AV I

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

MODELO CLIENTE SERVIDOR

Documento de Análise e Projeto VideoSystem

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Conceitos de relação de confiança

Capítulo 7 CAMADA DE TRANSPORTE

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Tarefas em Moodle (1.6.5+)

Governança de TI. ITIL v.2&3. parte 1

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCEnet e TCELogin Manual Técnico

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

Redes de Comunicações Capítulo 6.1

Certificado Digital. Manual do Usuário

PARANÁ GOVERNO DO ESTADO

Privacidade. <Nome> <Instituição> < >

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Sistemas Distribuídos

4 Arquitetura básica de um analisador de elementos de redes

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Transcrição:

CAPÍTULO 2 FUNDAMENTOS DE SEGURANÇA DE REDES 2.1 INTRODUÇÃO Este capítulo destina-se a apresentar uma revisão dos conceitos básicos sobre segurança de redes, necessários ao correto entendimento do problema a ser tratado nesta dissertação. São abordados os seguintes tópicos: a) Conceitos Básicos conceitos sobre o segurança e definição de firewall; b) Firewall o que é; e, c) Fundamentos de Criptografia conceitos básicos, diferenciação entre chave pública e privada, autenticação e assinatura digital. 2.2 CONCEITOS BÁSICOS Segundo Comer (1995) segurança de redes, e segurança da informação, se referem, num sentido amplo, à restrição do acesso a determinadas informações e serviços, disponíveis em determinada rede ou máquina, por usuários não autorizados. Traz como conseqüência a sensação de segurança aos usuários através da certeza de que seus dados permanecerão íntegros. Prover um sistema computacional com recursos de segurança significa proteger os recursos que compõem a infra estrutura da rede englobando aí seus componentes físicos, como máquinas, com seus elementos internos e periféricos, usuários e a informação armazenada em meio digital. Toda informação tem valor para alguém, seja num determinado momento ou por um grande período de tempo. Fornecer segurança à informação significa: a) Assegurar a integridade dos dados, isto é, protegê-los de mudanças não autorizadas; b) Assegurar disponibilidade dos dados garantindo que usuários externos, não autorizados, possam, de alguma forma, impedir o acesso aos mesmos por 27

usuários legítimos; e, c) Assegurar privacidade, prevenindo o surgimento de escutas, isto é, distinguindo entre acessos legítimos e ilegítimos quando da execução de uma transmissão. De acordo com Cheswick e Bellovin (1994) toda corporação deve, antes de se preocupar com a implantação de um sistema de segurança eficiente, obter respostas à alguns questionamentos. a) Quais recursos estamos tentando proteger? A resposta a esta pergunta não é tão simples como pode parecer, a princípio, e deve ser guiada pelas características particulares de cada máquina. As que possuem arquivos com informações sensíveis precisam de maiores níveis de proteção. Se, por outro lado, o foco da segurança recair sobre as conexões, controles de acesso devem ser diferentes para cada máquina, em razão do trabalho de cada uma. Se o objetivo for proteger todos os recursos computacionais a resposta mais simples é defender a sua porta de entrada. Esta abordagem, sempre útil como ponto de partida, não encara todas as possibilidades já que assume, erroneamente, que todos os problemas de segurança originam-se no exterior do sistema que se está tentando defender; b) De quem queremos nos proteger? Esta resposta é muito mais difícil de ser respondida do que a anterior. A pessoa que tenta penetrar no sistema pode ser tanto um adolescente brincando com seu modem em casa como uma agência de informações. Para o primeiro invasor um bom sistema de senhas resolverá, em grande parte, o problema. Para o último, sistemas inteligentes de análise criptográfica e condutos blindados para passagem da fiação nem sempre são suficientes; c) Quanto se quer pagar? Parte do custo direto com segurança é oriundo dos equipamentos físicos. Entretanto, há o custo indireto, não possível de mensurar a partir de compras, que envolve, por exemplo, a queda da produtividade pela introdução do novo regime de utilização do sistema computacio- 28

nal. O balanceamento entre as necessidades internas da empresa, suas necessidades de segurança e os custos envolvidos é a chave do sistema. Esta adequação somente será possível assumindo-se que existirão riscos e que estes são aceitáveis dentro do contexto que é proposto para a segurança. Segurança não é, portanto, uma meta a ser perseguida mas sim um processo para atingir um objetivo maior que é a segurança da informação. Portanto, a força de defesa de um sistema deve ser proporcional ao tamanho da ameaça sob a qual a informação se encontra. Por maiores que sejam os investimentos em hardware e software para implantação de um sistema de segurança eles de nada adiantarão se não houver uma política de segurança eficiente e coerente, isto é, um conjunto de decisões que, coletivamente, determinam a postura de uma organização quanto à segurança determinando os limites do comportamento aceitável e quais serão as atitudes a serem tomadas frente a possíveis violações. Segundo Comer (1995), em toda corporação são, normalmente, os usuários o ponto mais frágil de qualquer esquema de segurança. Um trabalhador malicioso, negligente ou mal informado a respeito da política de segurança compromete a melhor delas. O ponto central a ser abordado para segurança de redes tem origem numa situação conflituosa: embora toda comunicação requeira um certo grau de confiança mútua entre as partes que estão se comunicando, tem-se de permitir o estabelecimento de conexões entre grupos que não confiam entre si. Se considerarmos o uso da Internet, este paradigma é exacerbado já que, neste caso, outros elementos, que não os que estão se comunicando, são introduzidos no sistema de comunicações. Um datagrama trafega, do remetente ao destinatário, através de roteadores e redes que são operadas por organizações que podem não ser associadas, nem a um nem ao outro e, nenhum deles pode controlar como o datagrama é processado enquanto viaja. Assim sendo, é possível, a qualquer um, ler datagramas que estejam em trânsito, ou, ainda, colocar de qualquer tipo de mensagem circulando pela rede personificando outro usuário. 29

Algumas das técnicas usadas para prevenir estas situações incluem o uso de canais seguros e criptografia de mensagens. 2.2.1 MECANISMOS PARA SEGURANÇA De acordo com Comer (1995) problemas de segurança e os mecanismos apresentados pelos softwares para tornar a comunicação segura podem ser divididos em três grupos: a) O que trata dos problemas relativos à autorização, autenticação e integridade; b) O que trata dos problemas relativos à privacidade; e, c) O que trata dos problemas associados à disponibilidade dos dados. Segundo Cheswick e Bellovin (1994) autenticação é o processo de provar a identidade de alguém. É diferente da declaração da identidade, conhecido como identificação, e de decidir quais privilégios serão concedidos àquela identidade, a autorização. Embora os três sejam importantes, a autenticação é o mais relevante para a segurança. Existem basicamente dois tipos de autenticação: a do usuário durante a o estabelecimento da conexão e da máquina a máquina durante o decorrer da comunicação. As soluções para o primeiro grupo são categorizados como algo que você sabe, algo que você tem e algo que você é. A autenticação máquina a máquina normalmente é dividida em dois tipos: criptográficos e outros. O problema de privacidade se dá, numa grande rede, como a Internet, onde o datagrama passa por redes e roteadores intermediários, uma vez que os dados sendo trocados podem ser atacados em qualquer trecho do caminho entre o remetente e o destinatário. Se, por exemplo, um invasor conseguir dominar um roteador ele pode redirecionar todo o tráfego para sua máquina. Clientes também podem sofrer ataques uma vez que um invasor também pode personificar um servidor. De acordo com Comer (1995) a questão que se coloca é como um servidor, ou um cliente, pode saber se está ou não se comunicando com um impostor? A resposta reside no fornecimento de um serviço de comunicações confiável utilizando sistemas de cripto- 30

grafia. Criptografia, neste sentido, é uma ferramenta valiosa a ser utilizada em resposta ao problema da privacidade, embora também auxilie nos problemas de autenticação, autorização e integridade. Ainda de acordo com Comer (1995) os mecanismos de disponibilidade são os que controlam o acesso às redes externas para proteger uma rede, ou um conjunto delas, dentro de uma organização. Eles devem prevenir que pessoas não autorizadas obtenham, ou alterem, informações ou, ainda, interrompam uma comunicação legítima. Diferentemente dos mecanismos anteriores que podem ser adicionados a programas aplicativos, o controle do acesso requer alterações nos componentes da infra estrutura de rede. Uma técnica muito usada como base para o controle do acesso coloca uma barreira, conhecida como firewall, na entrada da rede a ser protegida. 2.3 FIREWALL Define-se firewall como sendo um sistema, ou um grupo de sistemas, que impõe uma separação física, e lógica, entre a rede interna de uma organização e as demais redes externas. Desta forma o universo das redes que se encontram, de alguma forma, conectadas fica particionado em duas regiões conforme ilustrado na Figura 2.1. firewall INTERNET Redes internas de uma organização Fig. 2.1 Parte externa Parte interna Colocação conceitual de um firewall para proteção da parte interna. FONTE: Adaptada de Comer (1995, p.477). 31

Semeria (1999) afirma que é o firewall quem determina quais serviços internos podem ser acessados a partir do exterior, quais máquinas do exterior têm permissão para acessar serviços internos e quais serviços externos podem ser acessados a partir de máquinas internas. Para que estas restrições sejam efetivadas é necessário que todo o tráfego de, e para, o exterior passe pelo firewall. A barreira que é introduzida com a adoção de um firewall faz com que a rede interna, ou privada, não fique mais diretamente conectada às redes externas. A Figura 2.2 ilustra, num diagrama de blocos, de forma esquemática, a presença desta barreira lógica dentro do sistema computacional. Sistema Computacional Redes externas Requisições de serviços Firewall Redes internas Requisições de serviços Fig. 2.2 Barreira lógica imposta por um firewall. Entende-se por requisições de serviços, sejam a partir da rede interna para a externa, ou vice-versa, como sendo todas as solicitações de acesso realizadas por usuários e máquinas situadas em cada uma das partes dirigida à outra. Estes elementos, direta ou indiretamente, tem de estar conectados ao firewall. Este novo componente do projeto de segurança do sistema computacional é o responsável por interagir com todas as requisições de serviços que chegam e que partem da organização, validando-as, verificando seu conteúdo, pertinência, etc. Ele cria uma barreira divisória entre os componentes internos e externos do sistema computacional. Para construir esta divisão o firewall não é fisicamente constituído de um elemento único mas por um conjunto de máquinas, que engloba hardware e software, responsáveis por controlar o tráfego entre o interior e o exterior. 2.4 FUNDAMENTOS DE CRIPTOGRAFIA Um sistema criptográfico, ou sistema por cifras, é um método de disfarçar mensagens 32

de forma que somente certas pessoas possam entendê-las. Criptografia é a arte e a ciência de escrever secretamente, isto é, por meio de cifras, ou sinais convencionais, isto é, a arte e a ciência de manter mensagens seguras. Análise criptográfica é a arte e a ciência de burlar sistemas criptográficos, compreendendo o conteúdo das mensagens, mesmo que, não se esteja habilitado para tal. Criptologia é o estudo de ambas, criptografia e análise criptográfica. A mensagem original é chamada de texto às claras, ou plaintext e, em sistemas computacionais, é uma informação representada em forma binária, seja para armazenamento ou transmissão. A mensagem cifrada é chamada de texto cifrado, ou ciphertext e também é um conjunto de dados binários, não necessariamente do mesmo tamanho da mensagem original. Cifrar significa qualquer procedimento que converte um texto às claras em outro cifrado. Decifrar significa qualquer procedimento que faça a operação inversa. As pessoas que se supõe habilitadas para ler a mensagem cifrada são ditas receptores, ou reicipients. As não autorizadas são ditas inimigas, oponentes, invasoras, etc. Em última análise cifrar significa mandar uma mensagem de forma que ninguém, além do receptor, possa lê-la. Ela é cifrada, isto é, mistura-se seu conteúdo de uma maneira confusa, apresentando-a ilegível para qualquer um, menos para o destinatário final da mensagem. Isso é possível desde que se forneça uma chave criptográfica para cifrar a qual o destinatário final tem de usar para decifrá-la. Conforme Schneier (1996), denotando-se texto às claras por M, texto cifrado por C e a operação de cifrar por E, tem-se: E (M) = C O processo inverso, a função de decifrar D, opera em C para obter M, portanto: D (C) = M Além disso, a seguinte identidade deve ser verificada 33

D ( E (M) ) = M 2.4.1 PROPRIEDADES DE UM SISTEMA CRIPTOGRÁFICO A segurança de um sistema criptográfico reside muito mais na capacidade de proteger a chave usada para cifrar do que na proteção do código propriamente dito. Os sistemas ditos seguros devem apresentar algumas características comuns: a) Usar chaves de grande tamanho; b) Produzir texto cifrado que pareça aleatório a todos os testes estatísticos; e, c) Resistir ao ataque de todos os sistemas de análise criptográfica conhecidos. Se um sistema contém todas as propriedades acima mencionadas ele é necessariamente inquebrável? Certamente, não! Vários sistemas criptográficos mostraram-se aparentemente seguros numa primeira avaliação e acabaram sendo subjugados com relativa facilidade. 2.4.2 OBJETIVOS DA CRIPTOGRAFIA De acordo com Schneier (1996) além do objetivo imediato de fornecer privacidade, os métodos criptográficos auxiliam outras tarefas, como: a) Autenticação o receptor tem certeza de origem da mensagem por dificultar a personificação; b) Integridade o receptor tem condições de verificar se a mensagem foi modificada durante a transmissão; e, c) Não repudiação o remetente não pode negar que remeteu uma mensagem após tê-lo feito. 2.4.3 ALGORITMOS E CHAVES Schneier (1996) diz que um algoritmo criptográfico, ou cipher, é a função matemática usada para cifrar e decifrar. Normalmente existem duas funções relacionadas, uma para cada etapa. 34

Se a segurança de um algoritmo é baseada no sigilo de como o algoritmo funciona ele é dito um algoritmo restrito. Atualmente algoritmos deste tipo somente encontram uso em aplicações que requeiram baixa segurança, onde os usuários não querem, ou não se importam, com os problemas relativos à segurança de seu sistema. Na criptografia moderna os algoritmos criptográficos utilizam uma, ou mais, chaves, denotadas por K. Cada chave deve ser um único valor entre vários possíveis. O espectro dos possíveis valores para as mesmas denomina-se espaço das chaves, ou keyspace. Ainda, de acordo com Schneier (1996), tanto as operações de cifrar como as de decifrar utilizam esta chave, isto é, eles são dependentes das chaves. Desta forma as equações anteriormente apresentadas passam ter uma nova representação: E K (M) = C D K (C) = M Devendo satisfazer a igualdade: D K ( E K (M) ) = M Alguns algoritmos usam chaves diferentes para as operações de cifrar e de decifrar, isto é, a chave K 1 usada para uma das operações é diferente da chave K 2 usada para a outra. Neste caso poder-se-ia ter: E K1 (M) = C D K2 (C) = M Satisfazendo a igualdade: D K2 ( E K1 (M) ) = M A segurança de um algoritmo criptográfico reside na sua chave! Se o processo de geração de chaves for fraco então todo o sistema é fraco, uma vez que o invasor não necessita, neste caso, analisar o algoritmo de criptografia mas tão somente o gerador da chave. 35

Considera-se como espaço de chaves o conjunto das possíveis chaves, com um determinado tamanho, que podem ser geradas a partir de um subconjunto de símbolos. A Tabela 2.1 ilustra vários espaços de chaves possíveis quando o conjunto de símbolos de entrada é submetido a conjuntos diferentes de restrições. TABELA 2.1 NÚMERO POSSÍVEL DE CHAVES PARA VÁRIOS SÍMBOLOS Símbolo 4 bytes 5 bytes 6 bytes 7 bytes 8 bytes Letras minúsculas (26) 460.000 1,2 *10 7 3,1 *10 8 8,0 *10 9 2,1 *10 11 Carac. alfanuméricos (62) 1,5 *10 7 9,2 *10 8 5,7 *10 10 3,5 *10 12 2,2 *10 14 Carac. imprimíveis (95) 8,1*10 7 7,7*10 9 7,4*10 11 7,0*10 13 6,6*10 15 Carac. ASCII (256) 4,3*10 9 1,1*10 12 2,8*10 14 7,2*10 16 1,8*10 19 Adaptada de Schneier (1996, p. 170). De acordo com Scheneier (1996) com uma implementação de hardware, com capacidade de processamento de um milhão de chaves por segundo, numa única máquina ou em várias máquinas trabalhando em paralelo, especializada em ataques de força bruta, gastar-se-iam os tempos da Tabela 2.2 para obter a chave. TABELA 2.2 TEMPO NECESSÁRIO PARA OBTER A CHAVE NUM ATA- QUE POR FORÇA BRUTA Símbolo 4 bytes 5 bytes 6 bytes 7 bytes 8 bytes Letras minúsculas (26) 0,5 seg 12 seg 5 min 2,2 hr 2,4 dias Carac. alfanuméricos (62) 15 seg 15 min 16 hr 41 dias 6,9 anos Carac. imprimíveis (95) 1,4 min 2,1 hr 8,5 dias 2,2 anos 210 anos Carac. ASCII (256) 1,2 hs 13 dias 8,9 anos 2.300 anos 580.000 anos Adaptada de Schneier (1996, p. 171). Mesmo que o tamanho da chave esteja de acordo com a política de segurança adotada, sua formação tende a ser ruim, na maioria dos casos. O ser humano tem a tendência de escolher suas senhas de uma maneira que lhe seja lógica, isto é, que lhe sejam coerentes e de fácil memorização, tais como sobrenomes, datas de nascimento, nomes de filhos e assim por diante. Este tipo de escolha permite um segundo tipo de ataque conhecido por ataque por dicionário. Portanto, boas chaves são aquelas geradas a partir de geradores de números aleatórios onde qualquer uma tem igual probabilidade de ocorrer. 36

Outro aspecto a ser considerado quando do uso das chaves de criptografia diz respeito ao sistema operacional onde o programa de criptografia está sendo executado. Quando iniciada a execução do processo de criptografia ele está sendo executado juntamente com vários outros processos. O sistema operacional, gerente de todos os processos sendo executados e da ordem de execução dos mesmos pode, eventualmente, suspender o processo de criptografia, escrevendo todo o conteúdo em disco, para tratar de algum outro processo. Nesta situação a chave permanece no disco, às claras, até que o sistema escreva algum outro dado sobre esta mesma área. Pode-se atenuar esta situação impondo-se um alto grau de prioridade ao processo. Ainda assim nada garante que o sistema operacional não irá interromper o processo. E o tempo de vida de uma chave? Para cada chave deve haver um tempo limite e este deve ser diferente dependendo do seu uso. Chaves para autenticação podem ter um tempo de vida maior do que as de sessão. Primeiro, porque são usadas com pouca freqüência, geram pouco texto cifrado e seus correspondentes textos às claras não possuem formas constantes. Já as chaves de sessão cifram grandes volumes de dados que fornecem material suficiente para análise criptográfica. Ressaltada a importância das chaves dentro de um sistema criptográfico analisa-se, agora, os modos e os tipos de algoritmos para criptografia. De acordo com Schneier (1996), existem dois tipos básicos de algoritmos para criptografia simétrica: a) Por blocos opera em blocos de plaintext e de ciphertext. Um mesmo plaintext irá gerar sempre o mesmo ciphertext quando usada a mesma chave; e, b) Por fluxo opera em fluxos de plaintext ou de ciphertext, um bit, ou byte, por vez. O modo de criptografar combina os tipos básicos de criptografia com algum tipo de retorno e algumas outras operações, também simples. Dentre os vários modos encontram-se os: 37

a) Eletronic Codebook (ECB) é a maneira intuitiva de se utilizar criptografia por blocos. Cada bloco de texto às claras é cifrado para um bloco criptografado que independe dos demais. Assim, é possível o uso de técnicas como alteração de ordem, isto é, inicia-se o processo de criptografia pelos blocos do meio do texto e, depois, do início; e, b) Cipher Block Chaining Mode (CBC) utiliza o recurso de realimentação do sistema, isto é, cada bloco cifrado gerado é reintroduzido no processo de criptografia para alterar o próximo bloco sendo cifrado. Ele apresenta um sério problema: duas mensagens idênticas geram o mesmo texto cifrado ou, pior, mensagens que iniciam da mesma forma irão ser criptografadas da mesma forma, particularmente documentos que possuem cabeçalhos ou textos padronizados. Este problema pode ser contornado com o uso de vetores de inicialização para o primeiro bloco. 2.4.4 ALGORITMOS SIMÉTRICOS Segundo Schneier (1996), sistemas criptográficos simétricos, convencionais, de chave simples, ou de chave privada, funcionam através do fornecimento de uma única chave simples para cifrar e decifrar a mensagem. Esta chave pode ser uma palavra, uma frase ou uma seqüência aleatória de números com a qual tanto o remetente, como o destinatário, concordaram antes da transmissão. Isto significa que, inicialmente, uma chave deve ser transmitida de modo que ambas as partes a conheçam, antes que mensagens criptografadas possam ser enviadas. A segurança de um algoritmo simétrico reside na chave. Divulgá-la significa que qualquer um poderá cifrar e decifrar mensagens. Portanto, enquanto a comunicação necessitar permanecer secreta assim também deverá permanecer a chave. A criptografia por chave privada funciona muito bem quando o usuário que faz a processo de codificação do arquivo é o mesmo que realiza a operação de decifrar. Kaufman et al. (1995) diz que quando se trata de uma mensagem a ser transmitida, o problema que aparece é o de como se fazer uma combinação prévia, entre as partes interessadas, da chave. Já que a mesma tem de permanecer em sigilo enquanto durar a transmissão, 38

pelo menos, é imperativo o uso de um meio seguro para transmiti-la. Se assumido que tal meio existe ele, com certeza, seria muito caro e difícil de obter e, se ele efetivamente existisse, a própria mensagem poderia ser transmitida através dele. O problema é que mesmo que existisse este canal ele também seria passível de análise criptográfica necessitando, também, por segurança, usar métodos criptográficos para a transmissão. Desta forma, o problema central do uso deste método reside em como transmitir a chave de forma segura entre os participantes da comunicação. Schneier (1996) descreve, matematicamente, um sistema criptográfico de chave privada por: E K (M) = C D K (C) = M Satisfazendo a igualdade: D K ( E K (M) ) = M 2.4.4.1 AUTENTICAÇÃO EM SISTEMAS SIMÉTRICOS É o processo de assegurar que nenhum invasor esteja personificando uma das extremidades da conexão. Segundo Kaufman et al. (1995) o termo autenticação forte, significa que uma pessoa pode provar ter conhecimento de um segredo sem revelá-lo. Esta técnica, possível de ser implementada através da técnicas criptográficas, é muito útil quando dois computadores estão se comunicando através de um meio inseguro. Embora vários processos de autenticação existam para garantir a identidade de cada extremidade, todos baseiam-se no princípio que, a seguir, será apresentado. Dois usuários A e B que compartilham do conhecimento de uma chave K ab escolhem um número aleatório cada um; r a para o usuário A e r b para o usuário B. A transmite seu número r a, às claras, para B. Este, ao recebê-lo, o cifra e o envia de volta para A. Ao recebê-lo, A o decifra e verifica se coincide com seu número aleatório. Se coincidir ele sabe que o usuário da outra extremidade é B. Agora, B transmite r b, às claras, para A que realiza os 39

mesmos passos anteriores. 2.4.5 ALGORITMOS ASSIMÉTRICOS Sistemas criptográficos de chave pública, ou assimétricos, se propõe a resolver o problema da transmissão de mensagens, com segurança, através de canais inseguros. Para tal, o receptor da mensagem cria duas chaves, relacionadas entre si: uma pública e outra privada. A chave pública é distribuída livremente. O remetente utiliza a chave pública do receptor para cifrar a mensagem. Uma vez codificada, esta mensagem somente poderá ser decifrada pela chave privada do receptor. Portanto, neste modelo, todos têm duas chaves complementares, uma divulgada publicamente e outra secreta. Cada chave abre o código que a outra chave produz. O conhecimento da chave pública não permite deduzir a chave privada correspondente, pelo menos por um período de tempo razoavelmente grande. De acordo com Schneier (1996) um sistema criptográfico de chave pública é representado matematicamente por: K 2 = f (K 1 ) K 1 é pública e K 2 secreta K 2 f (K 1 ) E K1 (M) = C D K2 (C) = M Satisfazendo a igualdade: D K2 ( E K1 (M) ) = M Embora o método de chave pública tenha resolvido o aspecto crítico da troca de chaves, ele não resolve todos os problemas. Uma vez que as chaves são consideradas de conhecimento público algum outro mecanismo tem de ser utilizado para testar a autenticidade, uma vez que a posse da chave, por si só, suficiente para codificar mensagens, não é evidência suficiente da identidade do remetente. 40

Para contornar este problema é necessário um sistema de autenticação dos usuários envolvidos na comunicação. De acordo com Kaufman et al. (1995), quando dois usuários querem se autenticar eles executam os seguintes passos: o usuário A escolhe uma mensagem aleatória codificando-a com a chave pública de B; ao receber a mensagem cifrada B utiliza sua chave privada para decodificar a mensagem mandando-a de volta para A; ao receber a mensagem, às claras, A compara-a com a que gerou inicialmente e, se houver coincidência, os usuários são considerados autenticados. Uma técnica que implementa a autenticação, como acima descrita é a assinatura digital. Kaufman et al. (1995) diz que a assinatura digital é um número associado com a mensagem que somente pode ser gerado por quem possui a chave privada. Nessa situação, como cada chave consegue decifrar o código que a outra produz, o usuário que está enviando o documento utiliza sua chave privada para gerar a assinatura digital. Na outra extremidade da conexão o usuário de destino utiliza a chave pública do remetente para verificar a assinatura. Schneier (1996) apresenta esta situação de forma matemática, a saber: E K2 (M) = C D K1 (C) = M Nesta situação somente o remetente poderá gerar sua assinatura e todos aqueles que receberem a mensagem somente poderão verificá-la mas não gerar a assinatura. 41