• Nenhum resultado encontrado

3.3 Abordagens Fim{a{Fim

3.3.5 Kerberos

O Kerberos ja foi apresentado, embora super cialmente, na secc~ao 2.7.4. Nesta secc~ao sera analisado do ponto de vista da programac~ao de aplicac~oes que necessitam de seguranca na comunicac~ao.

O Kerberos, recorde{se, e um servico de Autenticac~ao que, adicionalmente, permite o estabelecimento de um canal seguro, entre um cliente e um servidor, com base em chaves- -de{sess~ao simetricas, tipicamente DES.

Na pratica, o Kerberos e geralmente usado por aplicac~oes especialmente modi cadas (e.g., telnet, rlogin, rsh, ftp, servidores de mail54, NFS55, etc.) para tirarem proveito da 50O que geralmente corresponde a integrac~ao do cliente num ou mais grupos de entidades que partilham

esse privilegios.

51Do ingl^es

Access ControlLists.

52Opcionalmente, pode optar{se apenas pela Autenticac~ao e Integridade, dispensando Con dencialidade,

a m de acelerar a troca de mensagens, desde que os riscos resultantes da n~ao encriptac~ao se considerem reduzidos, o que se pode assumir, por exemplo, para redes relativamente isoladas.

53O que n~ao impede determinados fabricantes de acrescentarem outros algoritmos, em vers~oes \pro-

prietarias" do ambiente de desenvolvimento DCE.

54Por exemplo, servidores do tipo

Post{Oce{Protocol(POP).

Autenticac~ao que o Kerberos oferece. O Kerberos, portanto, e predominantemente usado por entidades/protocolos da Camada de Aplicac~ao, o que n~ao impede que desempenhe o seu papel tambem a nveis mais baixos (e.g., DCE RPC e variante AUTH KERB do Sun RPC56).

O processo de reconvers~ao de uma aplicac~ao que lhe permitira bene ciar da Autenti- cac~ao do Kerberos designa{se, na gria propria do Kerberos, de \kerberizac~ao" [SNS88]. A \kerberizac~ao"de uma aplicac~ao envolve chamadas as func~oes disponibilizadas pelas bi- bliotecas que fazem parte do ambiente de desenvolvimento do Kerberos. Essas func~oes57 desempenham, entre outras tarefas, a Autenticac~ao entre as partes, a Encriptac~ao (usual- mente DES) do trafego subsequente com a chave de sess~ao estabelecida durante a Autenti- cac~ao e tambem a gerac~ao de MACs como forma de assegurar Integridade das mensagens trocadas entre as partes autenticadas.

Actualmente, o acesso directo as APIs do Kerberos deixou de ser necessario58 dado que, conjuntamente com a vers~ao 5 do Kerberos, foi disponibilizada uma implementac~ao da GSS{API. A \kerberizac~ao" de aplicac~oes torna{se assim automatica desde que essa aplicac~oes tenham sido programadas com base em invocac~oes a GSS{API.

Apesar da sua crescente popularidade, o Kerberos n~ao e imune a algumas crticas, entre as quais [GS96]:

 cada servico/aplicac~ao deve ser individualmente modi cado para ser usado com o Kerberos. A \kerberizac~ao" implica, obviamente, a disponibilidade do codigo fonte o que nem sempre e viavel;

 o Kerberos n~ao foi concebido para ambientes multi{utilizador. O ambiente nativo do Kerberos pressup~oe estac~oes de trabalho dedicadas, num dado instante, a um so utilizador, porque a coexist^encia de varios utilizadores pode constituir uma oportu- nidade para que um deles, caso a seguranca da estac~ao de trabalho tenha falhas59, se aproprie dos tickets de outro, os quais eram, nas primeiras vers~oes do Kerberos, mantidos em cachena directoria/tmp

60;

 o Kerberos necessita de um servidor central | o Kerberos, usualmente acompanha- do do TGS |, localizado numa area fsica segura (i.e., de acesso fsico restrito) e exclusivamente dedicado as tarefas de autenticac~ao e gest~ao da base de dados com as chaves secretas de todos os clientes. A disponibilidade de instalac~oes com nveis de seguranca t~ao exigentes, a m de albergar a(s) maquina(s) com o Kerberos, nem sempre e viavel para as organizac~oes, quer sob o ponto de vista economico, quer sob o ponto de vista administrativo;

Sun a m de integra{lo com o Kerberos.

56O mecanismo de RPCs situa{se algures, acima da Camada de Transporte e abaixo da Camada de

Aplicac~ao, sendo comummente classi cado como pertencente a Camada de Apresentac~ao [Ste90] dado que faz uso de uma representac~ao (e.g., XDR [Sun87], no caso do Sun RPC) dos argumentos e resultados dos

procedimentos, independente de quest~oes de ordenac~ao dos bits (bigendianversus littleendian) e outros

pormenores de baixo nvel.

57Cuja descric~ao completa, para a vers~ao 5 do Kerberos, pode ser observada em [MIT91]. 58E ate aconselhado, a n~ao ser por quest~oes de desempenho.

59Basta que a

passworddo super{utilizador seja comprometida.

60A este proposito, [BM91] salienta que mesmo usando memoria partilhada, os riscos subsistem dada

a possibilidade de paginac~ao sobre o disco. Se as estac~oes de trabalho n~ao tiverem disco, ent~ao os riscos agravam{se porque se gera trafego n~ao protegido, em direcc~ao ao servidor de cheiros.

 o servidor Kerberos necessita de estar continuamente disponvel. Caso contrario, os servicos que dele dependem cam inacessveis;

 no servidor Kerberos, as chaves dos clientes s~ao todas cifradas com a chave mestra do servidor, a qual se encontra guardada na mesma maquina onde reside a base de dados das chaves dos clientes. Se essa chave mestra for comprometida, as chaves de todos os clientes car~ao tambem comprometidas;

 o Kerberos n~ao oferece protecc~ao contra modi cac~oes no software do sistema ope- rativo. Sem autenticac~ao da estac~ao de trabalho perante o utilizador, mecanismos t~ao simples como mascaras de login s~ao su cientes para comprometer a seguranca do Kerberos61;

 o Kerberos n~ao e t~ao transparente como seria desejavel. O tempo de vida de um ticketesta limitado a oito horas, ao m das quais o servico correspondente deixa de estar disponvel, sendo necessario repetir o procedimento de login ou ent~ao invocar uma serie de comandos que permitem, manualmente, requisitar novos tickets de acesso aos servicos pretendidos.

Adicionalmente, em [BM91] faz{se uma analise detalhada a determinadas insu ci^encias detectadas nos protocolos de base do Kerberos (algumas das quais foram corrigidas na vers~ao mais recente do Kerberos [KN93]) e que n~ao ser~ao aqui discutidas, pelo elevado nvel de detalhe que envolvem em torno da especi cac~ao interna do Kerberos.