Autenticación Kerberos

4

Estoy tratando de entender la autenticación Kerberos.

Hasta ahora mi entendimiento es:

  

Suponiendo que 'Alice' (A) quiere hablar con 'Bob' (B).

     

Paso 1:
  A - > S: {A, B, Ninguna} K (A, S) donde S es el servidor Kerberos, y   K (A, S) es una clave para comunicarse entre A y S.

     

Paso 2:
  S - > A {K (A, B), {K (A, B), A} K (B, S)} K (A, S) El servidor devuelve la clave utilizada   para comunicarse entre A y B y una segunda copia de dicha clave cifrada   con una clave utilizada para compartir información entre B y S K (B, S). K (B, S) es   Desconocido para A. Todo esto está encriptado con K (A, S).

     

Paso 3:
  {K (A, B), A} K (B, S) A envía a B la clave que usarán cifrada   con K (B, S)

     

Paso 4:
  B- > A {Nonce} K (A, B) B descifra el mensaje y envía un Nonce   cifrado utilizando K (A, B)

     

Paso 5:
  A- > B {Nonce + 1} K (A, B) Prueba de cordura de que están en la misma clave

Por lo tanto:

  

Si S no autoriza la comunicación entre A y B, no habría certificado la clave K (A, B) a B. Al cifrar {K (A, B) A} K (B, S) Garantizamos que S ha validado el proceso. A no tiene K (B, S), por lo que no pudo validarlo.

     

Si 'A' usara una clave diferente, diga K (B, S) 'que intentaron pasar, estarían enviando: {K (A, B) A} K (B, S)'. Cuando B lo descifra utilizando K (B, S), ya que el mensaje se habría cifrado con una clave diferente, no se obtendría K (A, B), sino algo de K (A, B) '. Entonces, cuando B devolvió {Nonce} K (A, B) 'A no podría recuperar el Nonce y completar la autenticación.

¿Lo he entendido correctamente?

También (creo que esto puede ser una pregunta aparte): ¿Cómo configura Kerberos de forma independiente K (A, S) y K (B, S) de forma segura? ¿Y cómo se asegura Kerberos de que 'A' sea quien dicen ser?

    
pregunta MrD 28.03.2015 - 16:08
fuente

1 respuesta

1
  

¿Cómo configura Kerberos de forma independiente K (A, S) y K (B, S) de forma segura?

Para los usuarios, las claves se derivan de la contraseña de la cuenta (usando los nombres principal y amp; reino como sal). Cuando establece o cambia la contraseña en su cuenta, el KDC almacena claves derivadas de ella. Cuando inicias sesión con kinit, el cliente Kerberos deriva la misma clave que tiene el KDC.

Para los servicios, las claves se generan aleatoriamente en el KDC, y se proporcionan al servicio en un archivo "keytab" fuera de banda. Normalmente, la generación de claves se realiza a través de Kadmin RPC asegurada con las credenciales de usuario de un administrador (y, opcionalmente, se entrega a través de HTTPS, SFTP, memoria USB, etc.)

  

¿Y cómo se asegura Kerberos de que 'A' sea quien dicen ser?

Al igual que muchos otros sistemas, asume que solo el propietario de la cuenta conoce la clave secreta; por lo tanto, quien sepa la clave secreta debe ser el propietario de la cuenta.

Tenga en cuenta también que dado que el servicio en sí tiene K (B, S), puede crear boletos "falsos" para A → B; a veces eso se considera una característica.

    
respondido por el grawity 26.12.2015 - 11:57
fuente

Lea otras preguntas en las etiquetas