Implementação de um sistema similar ao Kerberos.

O sistema deve:

O funcionamento básico do sistema:

  1. O cliente se autentica junto ao AS
    1. M1 = [ID_C + {ID_S + T_R + N1}Kc]
  2. Obtém um ticket de acesso ao serviço de tickets TGS.
    1. M2 = [{K_c_tgs + N_1}Kc + T_c_tgs]
      1. Onde T_c_tgs = {ID_C + T_R + K_c_tgs}K_tgs
  3. Solicita ao TGS um ticket de acesso ao serviço (servidor) desejado.
    1. M3 = [{ID_C + ID_S + T_R + N2 }K_c_tgs + T_c_tgs]
  4. Obtém um ticket de acesso ao serviço.
    1. M4 = [{K_c_s + T_A + N2}K_c_tgs + T_c_s]
      1. Onde T_c_s = {ID_C + T_A + K_c_s}K_s
  5. Com esse novo ticket, ele pode se autenticar junto ao servidor desejado e solicitar serviços.
    1. M5 = [{ID_C + (T_A ou T_R) + S_R + N3}K_c_s + T_c_s]
  6. Recebe retorno do servidor desejado.
    1. M6 = [{Resposta, N3}K_c_s]
  • ID_C = Identificador do cliente.
  • ID_S = Identificador do serviço pretendido.
  • T_R = Tempo solicitado pelo Cliente para ter acesso ao serviço.
  • N1 = Número aleatório 1.
  • Kc = Chave do cliente (Somente o cliente e o AS conhecem).
  • T_c_tgs = Ticket fornecido para a comunicação cliente TGS.
  • K_c_tgs = Chave de sessão entre cliente e TGS (Gerado no AS randomicamente)
  • K_tgs = Chave do Servidor TGS (Somente o TGS e o AS conhecem).
  • T_A = Tempo autorizado pelo TGS.
  • K_s = Chave do Servidor de serviços (Somente o TGS e o servidor de serviços conhecem).
  • S_R = Serviço Requisitado.
  • K_c_s = Chave de sessão entre cliente e Servidor de serviço (Gerado no TGS randomicamente)
  • N2 = Número aleatório 2.
  • N3 = Número aleatório 3.
Este trabalho deverá ser defendido para o professor nas aulas definidas para este propósito.