Kerberos tres transacciones, ¿por qué no usar solo dos?

2

He leído la descripción de Kerberos en sitios como este muy informativo: enlace Creo que entiendo en general cómo funciona:

  1. El usuario presenta la identidad al servidor de autenticación
  2. El servidor de autenticación le otorga al usuario un Ticket Granting Ticket (TGT), que incluye la clave de sesión TGS
  3. El usuario se conecta al TGS con la clave de sesión TGS
  4. TGS responde con una clave de sesión de servicio
  5. El usuario se conecta al servicio mediante la clave de sesión de servicio

(Me estoy saltando las partes sobre cómo se cifran los valores con varias claves secretas, para que cada máquina pueda verificar que la encriptación fue realizada por el AS o el TGS, que posee las claves secretas).

Lo que no entiendo es por qué no es más sencillo hacerlo en dos pasos, con cifrado de clave pública:

  1. El usuario "bennett" se autentica ante el AS y genera un par de claves públicas / privadas temporales. El AS firma digitalmente la clave pública de Bennett y dice: "La persona que usa esta clave pública realmente es Bennett, al menos durante las próximas 8 horas".
  2. El usuario "bennett" se conecta a un servicio, con la certificación de su clave pública firmada digitalmente por el AS, y utiliza el par de clave pública / privada para firmar su solicitud de un servicio. El servicio decide si permite al usuario "bennett" o no.

¿No es esto más simple? ¿Qué me estoy perdiendo?

Mi única idea fue que tal vez, dado que el cifrado de clave pública es más lento que el cifrado de clave secreta, Kerberos fue más eficiente por esa razón. Pero habría pensado que los viajes de ida y vuelta a la red fueron la parte más lenta de la operación y, por lo tanto, tres viajes de ida y vuelta que utilizan el cifrado de clave secreta aún serían más lentos que dos viajes de ida y vuelta que utilizan el cifrado de clave pública. ¿No es ese el caso?

    
pregunta Bennett 21.08.2018 - 06:10
fuente

1 respuesta

0

Puede ser correcto que la criptografía asimétrica tenga pasos mucho más fáciles que el cifrado de clave secreta, pero existen barreras de eficiencia como los ciclos de CPU, la complejidad del algoritmo de criptografía asimétrica y el ancho de banda de la red.

Los algoritmos asimétricos utilizan matemáticas mucho más complejas que los algoritmos simétricos para llevar a cabo sus funciones, que requieren más tiempo de procesamiento y pueden ser un impacto adicional para el rendimiento de Kerberos. Además, la criptografía asimétrica debe incluir aleatoriedad adicional (como el vector de inicialización, nonce) que hace que los mensajes de encriptación a veces sean más grandes que el tamaño real de los datos en texto plano, depende del tamaño de los datos, el tamaño de la clave y la complejidad del algoritmo de criptografía utilizado.

RFC4556 describe extensiones de protocolo (PKINIT). Estas extensiones proporcionan un método para integrar la criptografía de clave pública en el intercambio de autenticación inicial. Sin embargo, hay algunas consideraciones de seguridad mencionadas como:

  1. La seguridad del sistema en general se ve debilitada significativamente por Usando entradas aleatorias insuficientes.

  2. Los mensajes de error de Kerberos no están protegidos por integridad; como resultado, Los parámetros de dominio enviados por el KDC como TD-DH-PARAMETERS pueden ser manipulado por un atacante para que el conjunto de parámetros de dominio seleccionado podría ser más débil o no mutuamente preferido.

  3. Para confiar en un certificado KDC certificado por una CA como Certificado KDC para un reino de destino, el cliente DEBE verificar que el La CA emisora del certificado KDC está autorizada para emitir certificados KDC para ese reino objetivo. De lo contrario, la unión entre el KDC. El certificado y el KDC del reino de destino no están establecidos.

  4. PKINIT permite el uso del mismo par de claves RSA para el cifrado y Firmar al realizar la entrega de claves basadas en cifrado RSA. Esto no es uso recomendado de claves RSA y mediante el envío de claves basadas en DH, esto se evita

  5. Cuando se usa el método de intercambio de claves Diffie-Hellman, adicional los atacantes pueden eliminar o agregar datos de autenticación previa sin siendo detectado por el cliente o por el KDC, que abre la puerta para la inserción de datos maliciosos sin ser detectado.

Para obtener más información, consulte estos enlaces:

respondido por el Hussain Mahfoodh 21.08.2018 - 21:36
fuente

Lea otras preguntas en las etiquetas