10.3. AlgoritmosVários algoritmos matemáticos foram implementados para suprir as necessidades paraatender os serviços das chaves assimétricas ou simétricas. A seguir, temos os principais eseus objetivos.10.3.1. Diffie-HellmanBaseado no problema do logaritmo discreto, e o criptosistema de chave pública mais antigaainda em uso. O conceito de chave pública foi introduzido pelos autores deste criptosistemaem 1976. Contudo, ele não permite nem ciframento nem assinatura digital. O sistema foiprojetado para permitir a dois indivíduos entrarem em um acordo ao compartilharem umsegredo tal como uma chave, muito embora eles somente troquem mensagens em público.Este algoritmo tem o nome de seus inventores Whitfield Diffie Martin Helann. O objetivodeste algoritmo é prover de forma rápida e eficiente a troca de chaves (pública e privada)entre sistemas, baseadas nas duas partes da chave de cada usuário.Apesar de apresentar-se de forma simples, possui uma desvantagem: no momento detrafegar a chave pública do outro usuário, a comunicação é realizada de forma insegura.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 201
Outro usuário pode se passar pelo destinatário. Isto se deve a preocupação do algoritmo sersomente na criptografia e não incluir a autenticação.10.3.2. RSAÉ um algoritmo de encriptação proposto por Ron Rivest, Adi Shamir e Leonard Adleman,pesquisadores do MIT em 1977 e fundadores da atual empresa RSA Data Security, Inc. Éum dos mais velhos algoritmos de criptografia de chaves públicas, porém utiliza-se daeficiência da multiplicação de grandes números primos e retorno de tempo não hábil para aoperação reversa. Algoritmo, até a data (2008), é a mais bem sucedida implementação desistemas de chaves assimétricas, e fundamenta-se em Teorias Clássicas dos Números. Éconsiderado dos mais seguros, já que mandou por terra todas as tentativas de quebrá-lo. Foitambém o primeiro algoritmo a possibilitar encriptação e assinatura digital, e uma dasgrandes inovações em criptografia de chave pública.Pode ser utilizado em diversos contextos: Criptografar e descriptografar dados. Assinar e validar uma assinatura digital. Estabelecimento de chaves públicas e privadas entre sistemas. Garantia da integridade de informações.10.3.3. DASOutro algoritmo de chave pública utilizado para gerenciamento de chaves. Sua matemáticadifere da utilizada no RSA, mas também é um sistema comutativo. O algoritmo envolve amanipulação matemática de grandes quantidades numéricas. Sua segurança advém de algodenominado problema do logaritmo discreto. Assim, o ElGamal obtém sua segurança daCopyright © 2007, ESAB – Escola Superior Aberta do Brasil 202
dificuldade de se calcular logaritmos discretos em um corpo finito, o que lembra bastante oproblema da fatoração.O DAS é uma proposta padrão de assinatura digital baseada no algoritmo de Schnorr eElGamal. Em seu lançamento, foi muito atacado e considerado um algoritmo perigoso.Diversas questões técnicas foram questionadas, principalmente pelo fato do padrãoreconhecido ser o RSA. Atualmente, é explicitamente recomendado para autenticação deassinatura digital, ou seja, integridade das informações- não podendo ser utilizado paracriptografia ou troca de chaves. Para complementar as funções do DAS, sugere-se o DigitalSigniture Scheme (DSS).10.3.4. ECDSA (Elliptic Digital Signiture Algorith) e ECDH (Elliptic Curve Diffie-Helman)Em 1985, Neal Koblitz e V. S. Miller propuseram de forma independente a utilização decurvas elípticas para sistemas criptográficos de chave pública. Eles não chegaram a inventarum novo algoritmo criptográfico com curvas elípticas sobre corpos finitos, masimplementaram algoritmos de chave pública já existentes, como o algoritmo de Diffie eHellman, usando curvas elípticas. Assim, os sistemas criptográficos de curvas elípticasconsistem em modificações de outros sistemas (o ElGamal, por exemplo), que passam atrabalhar no domínio das curvas elípticas, em vez de trabalharem no domínio dos corposfinitos. Eles possuem o potencial de prover sistemas criptográficos de chave pública maissegura, com chaves de menor tamanho.Muitos algoritmos de chave pública, como o Diffie-Hellman, o ElGamal e o Schnorr, podemser implementados em curvas elípticas sobre corpos finitos. Assim, fica resolvido um dosmaiores problemas dos algoritmos de chave pública: o grande tamanho de suas chaves.Porém, os algoritmos de curvas elípticas atuais, embora possuam o potencial de seremrápidos, são em geral mais demorados do que o RSA.O ECDSA e ECDH, na realidade, não são algoritmos, mas uma forma de implementação quealtera a forma que funcionam, para curvas elípticas.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 203
Alterando os algoritmos para trabalharem de forma elíptica, o algoritmo se torna mais seguroe tem um menor tamanho, resolvendo um dos maiores problemas dos algoritmos de chavepública. Porém, o tempo de processamento é maior do que o RSA.10.3.5. Funções hash Funções DescriçãoMD5 É uma função de espalhamento unidirecional inventada por Ron Rivest, do MIT, que também trabalha para a RSA Data Security. A sigla MD significa Message Digest. Este algoritmo produz um valor hash de 128 bits, para uma mensagem de entrada de tamanho Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 204
SHA-1 arbitrário. Foi inicialmente proposto em 1991, após alguns ataques deMD2 e MD4 criptoanálise terem sidos descobertos contra a função Hashing prévia de Rivest: a MD4. O algoritmo foi projetado para ser rápido simples e seguro. Seus detalhes são públicos, e têm sido analisados pela comunidade de criptografia. Foi descoberta uma fraqueza em parte do MD5, mas até agora ela não afetou a segurança global do algoritmo. Entretanto, o fato dele produzir um valor hash de somente 128 bits é o que causa maior preocupação; é preferível uma função Hashing que produza um valor maior. O Secure Hash Algorithm, uma função de espalhamento unidirecional inventada pela NSA, gera um valor hash de 160 bits, a partir de um tamanho arbitrário de mensagem. O funcionamento interno do SHA-1 é muito parecido com o observado no MD4, indicando que os estudiosos da NSA basearam-se no MD4 e fizeram melhorias em sua segurança. De fato, a fraqueza existente em parte do MD5, citada anteriormente, descoberta após o SHA-1 ter sido proposto, não ocorre no SHA-1. Atualmente, não há nenhum ataque de criptoanálise conhecido contra o SHA-1. Mesmo o ataque da força bruta torna-se impraticável, devido ao seu valor hash de 160 bits. Porém, não há provas de que, no futuro, alguém não possa descobrir como quebrar o SHA-1. O MD4 é o precursor do MD5, tendo sido inventado por Ron Rivest. Após terem sido descobertas algumas fraquezas no MD4, Rivest escreveu o MD5. O MD4 não é mais utilizado. O MD2 é uma função de espalhamento unidirecional simplificada, e produz um hash de 128 bits. A segurança do MD2 é dependente de uma permutação aleatória de bytes. Não é recomendável sua utilização, pois, em geral, é mais lento do que as outras funções hash citadas e acredita-se que seja menos seguro. Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 205
A assinatura digital precisa de um mecanismo para seu adequado emprego, devido alentidão dos algoritmos assimétricos, ou seja, devido ao tamanho das mensagens, torna-seinviável utilizar somente chaves assimétricas por causa do tempo necessário para realizar acriptografia.A função hash tem como objetivo calcular um valor de tamanho fixo baseado na mensagemque se deseja assinar, chamado de Digest ou valor hash. Esta função fornece maioragilidade e integridade confiável. Com a alteração de qualquer bit dentro da mensagem,ocorre a alteração do valor hash, que indica a mudança da origem ao destino da mensagem.Alguns exemplos de função hash são SHA-1, MD5, MD4 e MD2, sendo a mais utilizada econsiderada mais segura a SHA-1.10.3.6. Comparação de algoritmosTanto o DH quanto o DSS apresentam algumas desvantagens quanto ao RSA: Os dados criptografados com RSA apresentam a metade do tamanho. O limite da padronização da assinatura DSS é de 1024, enquanto a RSA utiliza chaves de 2.048 ou 4.096, dependendo da implementação. Maior tempo de processamento do algoritmo DH ou DSS comparado ao RSA.Principais vantagens do uso de DH ou DSS: Não possuem patentes e podem ser utilizados universalmente. ElGamal é considerado com melhor desempenho em criptografia do que o RSA. Serviços separados, garantindo a revogação de chaves sem comprometer assinaturas relacionadas.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 206
Segurança da informação digital na saúdehttp://www.einstein.br/biblioteca/artigos/131%20132.pdfCopyright © 2007, ESAB – Escola Superior Aberta do Brasil 207
U 28NIDADEATAQUES A SISTEMAS CRIPTOGRÁFICOSObjetivo: Conhecer Ataques a sistemas criptográficos.10.4. Ataques a sistemas criptográficoshttp://www.redegalega.org/synapsis/091/criptogr.gifBasicamente são quatro tipos de ataques a sistemas criptográficos: Ataque só com texto criptografado: o criptoanalista conhece todos os textos criptografados que se transmitem.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 208
Ataque com texto original conhecido: o criptoanalista conhece algumas parelhas texto original - texto criptografado. Ataque com texto original escolhido: o criptoanalista pode obter o texto criptografado de qualquer texto original que introduza. Ataque com texto criptografado escolhido: o criptoanalista pode obter o texto original de qualquer texto criptografado que introduza.Ao contrário dos componentes de segurança, os ataques a sistemas criptográficos, em suamaioria, não ocorrem pelo testes de chaves possíveis, ou força-bruta, mas através daexploração de falhas no projeto, implementação e instalação dos sistemas. O perfil doatacante de sistemas criptográficos é diferente dos de rede. É preciso possuir um ótimoconhecimento matemático para conseguir encontrar alguma vulnerabilidade e explorá-la.Os ataques que mais preocupam são os que procuram descobrir informações como tempo,consumo de energia e radiação de dispositivos de tokens ou smartcard. São os chamadosCopyright © 2007, ESAB – Escola Superior Aberta do Brasil 209
side-channel attack. Outro ataque é o failure analysis, que forçam diversos erros durante aoperação visando derrubar a segurança dos smartcard.Os sistemas criptográficos podem ser decifrados se acontecer uma análise detalhada docomportamento do sistema e como as diferentes chaves se relacionam, sem quebrar oalgoritmo, mesmo o RSA. São os chamados timings attack e fazem análise docomportamento e tempo de criptografia. É utilizado para obter chaves privadas RSA, obter aseqüência de tokens, smart card e atingir servidores de comércio eletrônico.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 210
U 29NIDADEAUTORIDADE CERTIFICADORA E CERTIFICADOSObjetivo: Conhecer os certificados e órgãos certificadores.10.5. Certificados DigitaisUm certificado digital é um documento (eletrônico) contendo a chave pública de um usuário(ou processo) e dados de identificação do mesmo. Este documento deve ser assinado poruma autoridade confiável, a Autoridade Certificadora, atestando sua integridade e origem.Usualmente, certificados digitais são utilizados para garantir a integridade e origem dechaves públicas depositadas em bases de dados de acesso público.O padrão mais comumente utilizado para certificados digitais é denominado X-509, o qualprevê, entre outras informações possíveis, os seguintes dados de identificação: Chave pública do usuário. Nome do usuário proprietário da chave. 211 Copyright © 2007, ESAB – Escola Superior Aberta do Brasil
Nome da organização associada. Data de emissão do certificado. Período de validade da chave.Obtendo-se uma chave pública de um usuário associado a tal certificado, confiando-se naautoridade certificadora e verificando-se sua assinatura no certificado, pode-se ter certeza deque a chave realmente pertence ao alegado usuário, e que, pretensamente, somente eledispõe da correspondente chave secreta que o capacita a decifrar mensagens cifradas comaquela chave pública, ou assinar documentos com a correspondente chave secreta.Os certificados digitais são a resposta tecnológica atual para o problema de autenticação deusuários na crescente demanda por segurança nos serviços oferecidos via Internet, desdehome banking, passando por compras on-line, indo até serviços de informação porassinatura. Eles podem ser vistos como um passaporte eletrônico, onde estão contidas asinformações e garantias necessárias sobre a identidade do portador, além de sua chavepública.Exemplos semelhantes a um certificado são o RG, CPF e carteira de habilitação de umapessoa, cada um contém um conjunto de informações que identificam a pessoa e algumaautoridade (para estes exemplos, órgãos públicos) garantindo sua validade.Algumas das principais informações encontradas em um certificado digital são: Dados que identificam o dono (nome, número de identificação, estado, etc.). Nome da Autoridade Certificadora (AC) que emitiu o certificado. O número de série do certificado. O período de validade do certificado. A assinatura digital da AC.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 212
O objetivo da assinatura digital no certificado é indicar que uma outra entidade (a Autoridade Certificadora) garante a veracidade das informações nele contidas.10.5.1. O que é Autoridade Certificadora (AC)?Autoridade Certificadora (AC) é a entidade responsável por emitir certificados digitais. Estescertificados podem ser emitidos para diversos tipos de entidades, como pessoa, computador,departamento de uma instituição, instituição, etc.Os certificados digitais possuem uma forma de assinatura eletrônica da AC que o emitiu.Graças à sua idoneidade, a AC é normalmente reconhecida por todos como confiável,fazendo o papel de “Cartório Eletrônico”.Exemplos do uso de certificados digitais: Quando você acessa um site com conexão segura, como o acesso a sua conta bancária pela Internet é possível checar se o certe apresentado é realmente da instituição que diz ser, através da verificação de seu certificado digital.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 213
Quando você consulta seu banco pela Internet, este tem que assegurar-se de sua identidade antes de fornecer informações sobre a conta. Quando você envia um e-mail importante, seu aplicativo de e-mail pode utilizar seu certificado para assinar “digitalmente” a mensagem, de modo a assegurar ao destinatário que o e-mail é seu e que não foi adulterado entre o envio e o recebimento.Autoridades de certificação, como Verisign, Cybertrust e Nortel, assinam certificados digitaisgarantindo sua validade. Uma CA também tem a responsabilidade de manter e divulgar umalista com os certificados revogados (Certificate Revocation List – CRL). Certificados nestalista podem ter sido roubados, perdidos ou, simplesmente, estar sem utilidade. As CAspodem estar encadeadas em hierarquias de certificação, onde a CA de um nível inferiorvalida sua assinatura com a assinatura de uma CA mais alta na hierarquia.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 214
U 30NIDADEAUTENTICAÇÃOObjetivo: Conhecer as formas de autenticação.11. AutenticaçãoÉ a capacidade de se garantir que a pessoa de fato é quem diz ser, dentro de um contexto.Definir um contexto é importante, pois uma pessoa pode ser autêntica numa situação e, emoutra não. Citamos como exemplo um passaporte, que é válido somente dentro de um país.Para autenticar alguém, o autenticador necessita de informações de autenticação que podemser: Algo que definimos como usuário é senha, da forma mais insegura, apesar de ser a mais conhecida e utilizada. Algo físico que possuímos como cartão de banco, passaporte, entre outros. Algo que somos como impressões digitais, retina, reconhecimento de voz, rosto e padrão de assinatura. Componentes baseados em localização geográfica, como GPS.Desta forma, a identificação é a função declarada pelo usuário, citadas acima, e aautenticação é a verificação da veracidade das informações fornecidas.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 215
11.1. Autenticação baseada em definiçõesTipo de autenticação mais utilizada, por apresentar o custo mais reduzido e a maior partedos sistemas aceitarem este tipo de autenticação de forma simplificada.Podemos associar a este tipo de autenticação as senhas, chaves criptográficas ou chaveprivada da assinatura digital (somente quem as gerou é quem sabe – apesar de serrecomendável o uso de sua gravação em outro dispositivo).11.2. SenhasMesmo sendo as mais utilizadas, são as que mais possuem vulnerabilidades, sendoconsiderado o elo mais fraco da cadeia de segurança, vindo após dos seres humanos.A maior desvantagem deste método é que a manutenção e confidencialidade da senha estãonas mãos de quem a utiliza, podendo ser quebrada através: Adivinhação. Observação por pessoas mal intencionadas na introdução de senhas. Quebra de confidencialidade, através da própria pessoa, na divulgação de sua senha, ou engenharia social. Monitoração e captura de pacotes através de snnifers. Acesso a arquivos de senhas em servidores. Ataques utilizando forca bruta. Processos de logging spoofing realizado por hackers, que capturam tudo o que a pessoa digitar em seu micro. Entre outros.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 216
Uma forma de minimizar os efeitos negativos do uso de senha é a utilização das mesmasuma única vez, sendo trocada a cada novo acesso. Porém, o usuário não se sentiráconfortável nesta situação.Mesmo desta forma, existem ataques que podem ser realizados pelos hackers: Man-in-the-middle: o hacker se coloca entre o usuário e o servidor, captura pacotes, modifica e responde para os dois lados da comunicação. Race: aproveita a vulnerabilidade dos protocolos que trafegam byte a byte, porém são poucos. O hacker controla o envio dos bytes e antes do envio da última série tenta se conectar no lugar do usuário.11.3. Autenticação baseada em objetosÉ dividida em dois tipos de dispositivos: de memória ou inteligente. Os dispositivos dememória são conhecidos como memorytokens, armazenando informações e não asprocessando. Quando utilizado em conjunto com senhas, forma a chamada autenticaçãoforte – combinação de mais de um método de autenticação.Principais desvantagens: Alto custo, de implementação e dos próprios dispositivos. Dificuldade de administração. Possibilidade de perda ou roubo.Os dispositivos inteligentes são os memory tokens que possuem capacidade deprocessamento, ou os chamados smarttokens. Resolve o problema das senhas comuns,através da criptografia ou geração dinâmica de chaves.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 217
Em geral, os smarts tokens geram a cada novo acesso uma nova seqüência sincronizadacom o servidor de autenticação, que juntamente com o PIN (senha comum), permite ou nãoa autenticação do usuário ao recurso, minimizando as chances de colocação de senhasinapropriadas.As principais desvantagens são iguais aos dispositivos de memória.11.4. Autenticação baseada nas características físicasConsiderada a mais segura, por somente depender de fatores humanos, senhas ou perda deobjeto, sendo sua principal vantagem. É baseado na biometria que através dascaracterísticas físicas ou comportamento do individuo, verifica sua autenticação, baseadanas informações armazenadas que devem ser idênticas as do individuo. Ao ser concedida, étransmitido o perfil da autorização. É importante que as informações de cada usuário sejamcriptografadas em seus servidores para que, em mãos erradas, não aconteçam problemas aorganização.Exemplos: Composição química de odor corporal. Características faciais. Emissões técnicas. Retina. Íris. Impressão digital. Geometria das mãos. Poros da pele.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 218
Analise de assinaturas. Padrões de escrita. Voz.São diversas as formas de autenticação com biometria, conforme visto, porém somenteduas, segundo pesquisas, são únicas: íris dos olhos e impressão digital.Algumas desvantagens da biometria são: Pessoas acreditarem que os equipamentos biométricos não são higiênicos (os que coletam a impressão digital precisam ser limpos a todo o momento) ou podem provocar problemas na saúde (caso do laser na íris). As informações dos usuários em servidores devem ser criptografadas11.5. Single Sign-On (SSO)É um método de identificação e autorização de usuário que utiliza autenticação única etransparente, para diversos sistemas corporativos, facilitando a administração de senhas –tanto por parte dos usuários quanto por parte dos administradores de sistema. Esta soluçãopode utilizar qualquer metodologia de autenticação, desde certificados digitais, até tokens,smartcards ou senha.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 219
(http://support.citrix.com/article/html/images/CTX108095-1.gif)Principais vantagens: Combinação única de usuário e senha. Centralização das atividades administrativas de sistemas. Integração de autenticação nas aplicações corporativas. Acesso mais fácil a recursos disponíveis e autorizados ao usuário. Possibilidade de padronização de nome de usuário e senhas, conforme política de segurança da empresa. Minimização de custos com suporte técnico de produtos e help desk para usuários.Principais desvantagens: É necessário manter bom nível de segurança nas sessões de logon e armazenamento das informações dos usuários. A identificação única permite que se ocorrer alguma quebra de confidencialidade, o hacker poderá acessar varias aplicações. Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 220
O servidor de armazenamento é um ponto de invasão visado, pois com este ataque o hacker conseguirá acessar todas as informações da organização. O serviço de autenticação é um ponto de falha considerável. Em caso de instabilidade, todos os sistemas ficam comprometidos.11.6. Os protocolos de autenticaçãoEstaremos comentando dois protocolos, o Radius e o Kerberos, que são geralmenteutilizados na autenticação de acesso remoto nas organizações:11.6.1. Protocolo Radius(http://www.nisled.org/wiki/images/c/c8/Figura1.jpg)Baseado em um modelo de segurança distribuída previamente definido pela (IETF), o Radiusprovê um sistema de segurança Cliente/Servidor aberto e escalonável. O servidor Radiuspode ser adaptado facilmente para trabalhar com produtos de segurança de terceiros ou emsistemas de segurança proprietário. Qualquer mecanismo de comunicação, software ou umhardware que utilize o protocolo cliente Radius pode se comunicar com um servidor Radius.Como funciona? O Radius autentica através de uma série de comunicações entre o cliente eo servidor. Uma vez que o usuário é autenticado, o cliente proporciona a ele, o acesso aosserviços apropriados.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 221
O protocolo Radius é adequado em sistemas de serviços remotos discados. O Radiusautentica através de uma série de comunicações entre o cliente e o servidor. Uma vez que ousuário é autenticado, o cliente proporciona a ele, o acesso aos serviços apropriados.Passos envolvida no processo de autenticação no Radius:PASSO 1: O PortMaster cria um pacote de dados com as informações e o chamado pedidode autenticação. Este pacote inclui a informação que identifica o PortMaster específico queenvia o pedido de autenticação, a porta que está sendo usada para a conexão de modem,identificação do usuário e a senha. Para proteger os dados de hackers que possam estarescutando a conexão, o PortMaster age como um cliente Radius e codifica a senha antesque seja enviada em sua jornada ao servidor Radius.PASSO 2: Quando um pedido de autenticação é recebido, o servidor de autenticação validao pedido e então decifra o pacote de dados para ter acesso a identificação do usuário esenha. Esta informação é passada para o sistema de segurança apropriado.PASSO 3: Se o usuário e senha estiverem corretos, o servidor envia um reconhecimento deautenticação que inclui informação sobre o usuário e as exigências dos serviços. Porexemplo, o servidor Radius contará para o PortMaster que um usuário precisa do ProtocoloPPP (ponto-a-ponto) para se conectar à rede. O reconhecimento pode também, conter filtros,com informações sobre os limites de acesso do usuário para os recursos específicos narede. Se o usuário e a senha não estiverem corretos, o servidor Radius envia um sinal aoPortMaster e o usuário terá o acesso negado a rede.PASSO 4: O servidor Radius envia uma chave de autenticação, ou assinatura, seidentificando para o cliente Radius e permitindo então, a configuração necessária para queos serviços de envios e recepções personalizados funcione para o usuário autenticado.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 222
11.6.2. Protocolo Kerberos (http://www.nisled.org/wiki/images/6/68/Figura2.jpg)O Kerberos possuirá uma chave secreta associada a cada cliente e cada serviço, sendoconhecidas como chave de cliente e chave de serviço respectivamente. Essa chave é obtidaa partir da senha fornecida pelo cliente/serviço no momento de seu cadastramento. Sendoassim, apenas o próprio cliente/serviço conhece sua chave secreta, além do Kerberos.Passo 1: Quando um cliente deseja acessar um serviço qualquer protegido pelo Kerberos,antes de conseguir acessá-lo, ele deverá autenticar-se. Nesse momento, o cliente envia umarequisição de autenticação para o SA, que verifica os dados fornecidos pelo cliente(identificação do cliente e uma identificação do tipo da mensagem), busca em sua base dedados as chaves secretas correspondentes ao cliente (origem da requisição) e ao TGS (ondeCopyright © 2007, ESAB – Escola Superior Aberta do Brasil 223
o cliente deseja autenticar-se), e cria uma chave de sessão que será utilizada por ambos,cliente e TGS. O SA responde ao pedido de autenticação do cliente, quando a validação deseus dados é positiva, enviando-lhe um ticket que permite acessar o TGS. Esse ticket écomposto da seguinte forma: nome do cliente, nome do TGS, tempo corrente, tempo de vidado ticket, IP do cliente e a chave de sessão. Antes de ser enviado, o ticket é criptografadoutilizando-se a chave de serviço que apenas o próprio serviço e o Kerberos conhecem. Alémdisso, tanto o ticket, já criptografado, quanto a chave de sessão, são criptografadosutilizando-se a chave de cliente.Passo 2: Ao receber a resposta do SA, o cliente deve descriptografar a mensagem utilizandosua chave secreta. No entanto, para que isso seja possível, a senha de acesso serásolicitada ao cliente. Somente a senha correta será capaz de gerar a chave secreta válidapara que o processo de descriptografia tenha êxito. Uma vez que a senha correta tenha sidoinformada, o cliente terá acesso ao ticket e a chave de sessão, enviados pelo SA. O ticketpermitirá ao cliente comunicar-se com o TGS, e assim finalmente, obter um novo ticket parao serviço que deseja acessar. É importante ressaltar, que a senha do cliente só foi solicitadadurante o processo de autenticação uma única vez. Sendo que mesmo nesse momento, nãofoi necessário enviá-la através da rede, onde ela poderia ser capturada alguém semautorização. A chave secreta do cliente, obtida através da senha, é apagada da memóriaapós ter sido utilizada. Não é possível obter a chave secreta sem o conhecimento da senhado cliente.Passo 3: O cliente deve enviar a requisição ao TGS. Na requisição deverão constar: umautenticador, o ticket enviado pelo SA, devidamente criptografado com a chave secreta doserviço, e a identificação do serviço requisitado. O autenticador é uma mensagem ondeconstam, uma identificação do cliente (nome + IP) e uma identificação do tipo de mensagem,semelhante a utilizada na requisição feita no Passo 1. O autenticador é criptografadoutilizando-se a chave de sessão fornecida pelo SA.Passo 4: Ao receber a requisição, o TGS utiliza sua chave secreta para descriptografar oticket, e utiliza a chave de sessão que acabou de receber, na própria requisição, paradescriptografar o autenticador. No final desse processo, o TGS utiliza os dados que obteveCopyright © 2007, ESAB – Escola Superior Aberta do Brasil 224
para validar a requisição do cliente. Os nomes do cliente, os IPs obtidos e o tempo corrente,tanto do ticket quanto do autenticador, são comparados. Sendo todos os dados comparados,válidos, uma nova chave de sessão é criada pelo TGS. Um novo ticket é criado, dessa vezcontendo as informações referentes ao cliente e serviço. A chave de serviço é utilizada paracriptografar o ticket. Em seguida, a chave de sessão e o ticket, já criptografado, sãocriptografados juntos utilizando-se a chave de sessão enviada pelo próprio cliente.Finalmente, a mensagem de resposta é enviada para o cliente.Passo 5: A partir de agora, o cliente será capaz de utilizar o serviço que deseja. Porém,antes disso, é preciso descriptografar a mensagem utilizando a chave de sessão. Terminadoesse processo, o cliente tem em “mãos” o ticket que lhe permitirá acessar o serviço, etambém, a nova chave de sessão que será utilizada para estabelecer a comunicação entreos dois. Para finalizar o processo de autenticação, o cliente deve criar um autenticador,contendo seu nome, IP e tempo corrente. Criptografar esse autenticador com a chave desessão, e junto com ticket fornecido pelo TGS, formar uma requisição que será enviadadiretamente para o serviço que se deseja acessar. Só resta agora que o serviço verifique arequisição recebida. Com sua chave secreta o serviço consegue descriptografar o ticketrecebido. Dentre outras informações, consta no ticket a chave de sessão criada pelo TGS,que o permitirá descriptografar o autenticador enviado pelo cliente. Os nomes do cliente, osIPs obtidos e o tempo corrente, tanto do ticket quanto do autenticador, são comparados.Considerando os dados válidos, o serviço tem certeza quanto a veracidade da identidade docliente e a autenticação é finalizada.A comunicação entre o cliente e o serviço poderá ser feita de três formas diferentes: Normal: apenas a autenticação inicial é exigida. A partir daí, não é feita mais nenhuma autenticação e as mensagens também não são criptografadas. Safe Messages: todas as mensagens são autenticadas, porém não são criptografadas. Private Message: é a forma mais segura e também a mais custosa. Todas as mensagens são criptografadas e autenticadas.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 225
O protocolo Kerberos é um serviço de autenticação distribuído que permite que um cliente,através de um usuário, provê sua identidade a um servidor de autenticação, passando emseguida por um verificador de sessão, para que então, estabeleça a transferência dasinformações com o host destino, evitando assim, a violação da conexão estabelecida.Esse protocolo foi desenvolvido no meado dos anos oitenta como parte do Projeto de MITAthena. Hoje em dia, é uma das soluções aos problemas de segurança em rede, poisfornece ferramentas de autenticação e criptografia para trabalhos em redes públicas como aInternet. Pode ser utilizado através de qualquer tipo de conexão, a autenticação e um dospontos forte na segurança de qualquer sistema, pois tem a finalidade de atravessar osmecanismos de segurança para autenticar o usuário, autorizando ou não a sua conexão.Muitos dos protocolos usados na Internet não provêem segurança. Ferramentas que varremsenhas fora da rede são usadas em brechas de sistemas. Assim, aplicações que enviamsenha sem criptografia pela rede Internet são extremamente vulneráveis. Contudo, emmuitas aplicações cliente/servidor que são desenvolvidas e implementadas, não é dada adevida atenção sobre os aspectos aqui mencionados.Alguns administradores tentam usar Firewalls para resolver os problemas de segurança derede. Infelizmente, os Firewalls assumem que os acessos ruins estão todos do lado de fora,o que freqüentemente, é uma suposição não muito boa, pois usuários e colaboradores emtrânsito ficam restringidos de usar a rede interna, pois os mecanismos de segurança vãodescartar suas tentativas de acesso.O sistema Kerberos usa ingressos eletrônicos para autenticar um usuário para um servidor.Um ingresso só é bom para um único servidor e um único usuário durante certo período detempo e para uma mensagem codificada que contém o nome do usuário, o seu servidor, oendereço da rede do servidor do usuário, um selo de tempo e uma chave de sessão.Uma vez que o usuário adquire este ingresso, ele pode usar isto para ter acesso ao servidorquantas vezes forem necessárias até que o ingresso se expire. O usuário não pode decifrar oCopyright © 2007, ESAB – Escola Superior Aberta do Brasil 226
ingresso, mas pode apresentá-lo ao servidor. Com isso, escutas clandestinas não podemviolar o ingresso quando este estiver em curso na rede Internet.O protocolo Kerberos envolve dois servidores: um de autenticação e o outro (TGS) queconcede os ingressos. Passos no processo da autenticação do protocolo Kerberos(http://www.linhadecodigo.com.br/artigos/img_artigos/bruno_spinelli/Kerberos_1.jpg)Passos que representam a autenticação com o protocolo Kerberos:PASSO 1: Obter um ingresso para um servidor designado. O usuário primeiro pede aoservidor de autenticação Kerberos um ingresso para o Kerberos TGS. Este pedido leva aCopyright © 2007, ESAB – Escola Superior Aberta do Brasil 227
forma de uma mensagem que contém o nome do usuário e o nome do TGS (pode havervários).PASSO 2: O servidor de autenticação verifica o usuário em seu banco de dados e então gerauma chave de sessão para ser usada entre o usuário e o TGS. Kerberos codifica esta chavede sessão que usa a chave de segredo do usuário (processo de uma só direção com senhado usuário). Então cria um TGT (ingresso que concede ingresso) para o usuário apresentarao TGS e codifica o TGT usando a chave de segredo do TGS (que só é conhecido peloservidor de autenticação e o servidor TGS). O Servidor de Autenticação envia de volta asmensagens codificadas ao usuário.PASSO 3: O usuário decifra a primeira mensagem e recupera a chave de sessão. Logo, ousuário cria um autenticador que consiste em seu nome, seu endereço de rede e um selo detempo, tudo codificado com a chave de sessão gerada pelo servidor de autenticaçãoKerberos. O usuário envia o pedido então ao TGS para fazer ingresso a um servidordesignado. Este pedido contém o nome do servidor, o TGT Kerberos (que foi codificado como a chave de segredo do TGS), e o autenticador codificado.PASSO 4: O TGS decifra o TGT com sua chave secreta e então usa a chave de sessãoincluída no TGT para decifrar o autenticador. Compara a informação do autenticador com ainformação do ingresso, o endereço da rede do usuário com o endereço foi enviado nopedido e o tempo estampado com o tempo atual. Se tudo se emparelhar, permite acontinuação do pedido. O TGS cria uma chave de sessão nova para o usuário e o servidorfinal com esta chave em um ingresso válido para o usuário apresentar ao servidor. Esteingresso também contém o nome do usuário, endereço da rede, um selo de tempo, e umtempo de vencimento para o ingresso codificado com a chave de segredo do servidordesignado e o seu nome. Também codifica a nova chave de sessão designada que vai sercompartilhada entre o usuário e o TGS. Envia ambas as mensagens de volta ao usuário.PASSO 5: O usuário decifra a mensagem e a chave de sessão para uso com o servidordesignado. O usuário está agora pronto para se autenticar com o servidor. Ele cria umautenticador novo codificado com a chave de sessão de usuário e servidor final que o TGSCopyright © 2007, ESAB – Escola Superior Aberta do Brasil 228
gerou. Para pedir acesso ao servidor final, o usuário envia junto ao ingresso recebido deKerberos (que já é codificado com a chave de segredo do servidor designado) o autenticadorcodificado. O autenticador contém o texto plano codificado com a chave de sessão, provaque o remetente sabe a chave. Da mesma forma que é importante, codificar o tempo paraprevenir que intrometidos que venham registrar o ingresso e o autenticador, possam tentarusar as informações em futuras conexões.PASSO 6: O servidor designado decifra e confere o ingresso e o autenticador e tambémconfere o endereço do usuário e o selo de tempo. Se tudo confirmar, o servidor sabe agoraque o usuário é que esta reivindicando o acesso é realmente ele, e podem usar a chave decriptografia para comunicação segura. Como só o usuário e o servidor compartilham estachave, eles podem assumir que uma recente mensagem codificou aquela chave originadacom a outra chave anterior.PASSO 7: Para aplicações que requerem autenticação mútua, o servidor envia para ousuário uma mensagem que consiste no selo de tempo mais 1, codificada com a chave desessão. Isto serve como prova ao usuário que o servidor soube da sua chave secreta de fatoe pôde decifrar o ingresso e o autenticador.Criptografia Posicional: Uma solução para Segurança de Dadoshttp://143.54.31.10/reic/edicoes/2001e2/cientificos/CriptografiaPosicional.pdfCopyright © 2007, ESAB – Escola Superior Aberta do Brasil 229
Antes de iniciar sua Avaliação Online, é fundamental que você acesse sua SALA DE AULA e faça a Atividade 3 no “link” ATIVIDADES.Atividades dissertativasAcesse sua sala de aula, no link “Atividade Dissertativa” e faça o exercício proposto.Bons Estudos!Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 230
GLOSSÁRIOCaso haja dúvidas sobre algum termo ou sigla utilizada, consulte o link Glossário em suasala de aula, no site da ESAB.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 231
BIBLIOGRAFIACaso haja dúvidas sobre algum termo ou sigla utilizada, consulte o link Bibliografia em suasala de aula, no site da ESAB.Copyright © 2007, ESAB – Escola Superior Aberta do Brasil 232
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232