- O KDC (Key Distribution Center) é uma entidade terceira responsável por distribuir chaves;
- Esquema de distribuição amplamente utilizado;
- Cada usuário/processo compartilha uma chave única com o KDC;
- Baseado no conceito de hierarquia de chaves.
- A comunicação entre duas entidades é realizada utilizando uma chave temporária, chamada de chave de sessão; Normalmente a duração/utilização dessa chave está relacionada a uma conexão, depois é descartada;
- Cada chave de sessão é obtida no KDC através de uma conexão criptografada utilizando a chave mestre, que é compartilhada entre o KDC e o usuário/processo.
- Ou seja, cada usuário/processo compartilha uma chave única com o KDC;
- Como é realizado esse compartilhamento de chaves? Normalmente de maneira física.
- Premissas:
- Bob deseja conversar com Alice utilizando criptografia simétrica;
- Bob não compartilha uma chave simétrica com Alice;
- Bob compartilha uma chave simétrica com o KDC (k bob);
- Alice compartilha uma chave simétrica com o KDC (k alice)
- Bob requisita ao KDC uma chave de sessão
(k sessão) para conversar com Alice, esta
mensagem contém:
- Identificador de Bob
- Identificador de Alice
- Nonce (Identificador único: normalmente um número aleatório ou timestamp, tem a finalidade de identificar a requisição)
- KDC responde com uma mensagem cifrada
utilizando (k bob) , ou seja, apenas Bob consegue
decifrar;
A mensagem contém duas informações direcionadas para Bob e duas para Alice.
Informações direcionadas para Bob:- Chave de sessão (k sessao), que será utilizada para comunicar com Alice;
- Requisição inicial (Passo-1), com o Nonce incluso; Permite identificar e verificar a integridade da mensagem
- Informações direcionadas para Alice cifradas
utilizando a (k alice):
- Chave de sessão (k sessao), que será utilizada para comunicar com Alice;
- Identificador de Bob (por exemplo, IP)
- Passo 4
- Bob armazena (k sessão). para ser utilizada posteriormente e encaminha as informações que vieram do KDC para Alice ;
- Como a mensagem está cifrada utilizando a (k alice), Alice sabe que a mensagem foi originada em KDC;
- Dessa forma, Alice conhece o identificador de Bob e a chave de sessão.
- Nesse momento, Bob e Alice possuem a (k sessão). e podem conversar utilizando criptografia simétrica;
- Alice gera um nonce e encaminha para Bob, cifrando na (k sessão).
- Passo 6
- Bob responde Alice executando uma função sobre o nonce recebido, cifrando na (k sessão). * Essa função pode ser uma operação matemática, por exemplo: incrementar o nonce.
- ##Observação: Esses dois últimos passos garantem a autenticação!**