A versão 5 do protocolo Kerberos tem a intenção de contornar as limitações da
versão 4 em duas áreas: falhas no ambiente e deficiências técnicas.
A versão 4 foi desenvolvida para uso no Projeto Athena, do MIT,porém não
apresentava características que a pudessem definir com propósitos mais gerais.
As principais falhas no ambiente são:
1) Dependência do tipo de encriptação do sistema: A versão 4 requer a
utilização do DES. Logo, questões relacionadas à confiabilidade do DES são
relevantes. Na versão 5, as mensagens criptografadas possuem um identificador
com o tipo de criptografia utilizado. Dessa forma, qualquer tipo de criptografia
pode ser utilizado.
2) Dependência do IP (Internet Protocol): A versão 4 requer o uso d endereços
de IP.Os endereços na versão 5 são identificados com o tipo e o comprimento,
permitindo a utilização que qualquer tipo de endereçamento na rede.
3) A ordem dos bytes na mensagem: Na versão 4, o emissor da mensagem
emprega uma ordem de bytes de sua própria escolha e identifica a mensagem
indicando o bit menos significativo ou o bit mais significativo no endereço mais
baixo. Na versão 5 , todas as mensagens são definidas usando a ASN.1 (
Abstract Syntax Notation One ) e a BER ( Basic Encoding Rules ), que
proporciona uma ordenação dos bytes sem ambigüidades.
4) Ticket Lifetime: Os valores do tempo de vida do ticket na versão 4 são
codificados em unidades de 8 bits de 5 minutos. Dessa forma, o tempo máximo
para que ocorra a expiração do ticket pode se caculada como 28 X 5 = 1280
minutos. Este tempo pode ser inadequado para algumas aplicações, como uma
simulação de longa duração, por exemplo, que requer credenciais de Kerberos
válidas durante a execução. Já na versão 5, os tickets possuem um tempo
explícito de início e de fim, permitindo que os tickets tenham tempos de vida
arbitrários.
5) Autenticação passada adiante: A versão 4 não permite que credenciais
concedidas a um determinado cliente sejam passadas adiante para outras
máquinas e usadas por outros clientes. No entanto, esta capacidade, habilitada
pela versão 5, permite que o cliente acesse a um servidor, que por sua vez,
possui acesso a um outro servidor, em nome daquele cliente. Por exemplo, se um
cliente faz uma requisição a um servidor de impressão, este tem acesso ao
arquivo do cliente através de um servidor de arquivo, usando as credenciais do
cliente para este acesso.
6) Autenticação entre realms: Na versão 4, interoperabilidade entre N realms
requer um conjunto de relações Kerberos-Kerberos igual a N2. A versão 5 provê
suporte a um mértodo que requer poucas relações deste tipo.
Além dessas limitações de ambiente, existem dificuldades técnicas na versão 4
do protocolo. A versão 5 tenta corrigir esses erros. As deficiências são as
seguintes:
1) Encriptação Dupla: Note que os tickets mandados pelo AS e pelo TGS para o
cliente são encriptados duas vezes, primeiro com a chave secreta do servidor alvo
e depois com a chave secreta conhecida pelo cliente. A segunda encriptação não
é necessária, sendo um desperdício computacional.
2) Encriptação PCBC: A encriptação na versão 4 utiliza um modo não padrão do
DES, conhecido como Cadeias de Propagação de Bloco Encriptado (
Propagating cipher block chaining - PCBC). Foi demonstrado que este modo é
vulnerável a ataques envolvendo a troca de blocos de mensagens encriptadas
[KOHL89]. O PCBC deveria permitir uma verificação de integridade como parte
das operações de encriptação. A versão 5 fornece mecanismos de integridade
explícita, permitindo o uso do modo CBC padrão para encriptação.
3) Chaves de Sessão: Cada ticket possui uma chave de sessão, que é usada
pelo cliente para encriptar o autenticador mandado para o serviço associado com
aquele mesmo ticket. Além disso, a chave de sessão pode ser usada pelo cliente
e servidor para proteger as mensagens trocadas durante aquela sessão.
Entretanto, devido ao fato do mesmo ticket poder ser usado diversas vezes para
usar um serviço de um determinado servidor, existe um risco de um intruso
reenviar mensagens de uma sessão antiga para o servidor ou para o cliente. Na
versão 5, o cliente e o servidor têm a possibilidade de negociar uma chave de sub-
sessão, que será usada apenas para uma conexão entre eles. Em cada acesso
novo feito pelo cliente, será usada uma nova chave de sub-sessão.
4) Ataques às senhas: Ambas as versões são vulneráveis à ataques sobre a
senha. A mensagem do AS para o cliente inclui material encriptado com uma
chave baseada na senha do cliente. Um intruso pode capturar esta mensagem e
tentar decriptá-la tentando senhas diferentes. Se a decriptação funcionar, o intruso
descobriu a senha do cliente e pode então usá-la para ganhar a autenticação do
Kerberos. A versão 5 possui um mecanismo conhecido como pré-autenticação, o
que torna os ataques às senhas mais difíceis de acontecer, mas não os previne
completamente.