Pergunta

Eu implementei um servidor/cliente Kerberos usando soquetes em Java, onde o cliente envia seu TGT de serviço para o servidor, e o servidor sabe que o cliente é autêntico.

Minha principal preocupação é o ataque de 'homem no meio'. Alguém poderia capturar o TGT e fingir ser o cliente.

Em uma implementação pura de Java, isso não tem problema, pois uma comunicação adicional é criptografada com as chaves da sessão de serviço (gsScontext.wrap ()/gsScontext.unwrap ()), que o snopadista não possui.

Mas o aplicativo cliente precisa ser reescrito em C#.

Eu acho que minhas duas opções para manter a comunicação criptografada são:

  1. Escreva meus próprios métodos WRAP () e Under () em C#
  2. Use SSL/TLS.

A opção 1 é possível, antes de procurar o SSL como uma opção?

Foi útil?

Solução

A opção 1 envolve algumas portas pesadas de código que você pode ou não ter tempo para fazer. A opção 2 parece boa.

Existe a opção 3 que depende de suas restrições, use um canal TCP criptografado privado, que deve ser mais rápido que o SSL/TLS, mas como eu disse pode não ser aplicável. Pode usar a criptografia simétrica, tendo inicializado pelas chaves da sessão (que são secretas)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top