Criptografia Simétrica - Centro de distribuição de chaves (KDC)
Conceito
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.
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.
Cenário de Distribuição de Chaves
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)
Passo a passo
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!**