Sí, con algunas advertencias. Como se describió en una respuesta anterior, la autenticación Kerberos también comparte una clave de sesión entre el cliente y los principales del servidor, que pueden usar para una mayor comunicación. Otra respuesta anterior afirmó que "Kerberos no es un protocolo de cifrado", pero esto no es cierto: el protocolo incluye mensajes específicos para enviar datos arbitrarios protegidos por la clave de sesión negociada durante la autenticación (KRB_SAFE y KRB_PRIV). La forma más común de aprovechar esto es a través de GSSAPI (que es la forma más común de usar Kerberos, en lugar de una API específica de Kerberos como la de MIT Kerberos o Heimdal). Después de crear un contexto de seguridad GSSAPI, los interlocutores pueden usar las rutinas gss_wrap()
y gss_unwrap()
para sellar los datos para la transmisión, ya sea solo con la verificación de integridad o integridad y confidencialidad (cifrado). Probablemente, el ejemplo más común de este uso real es a través de SASL, cuando el cliente solicita la instalación de una "capa de seguridad" después de la autenticación con el mecanismo GSSAPI / Kerberos.
Sin embargo, ten en cuenta que a diferencia de Diffie-Hellman, aquí no tienes secreto de reenvío. En el caso más simple, el KDC genera la clave de sesión, por lo que siempre fue conocido por una parte distinta de los pares que se comunican. La clave puede ser en realidad una "subclave" generada por uno de los pares, que es mejor, pero aún así es generada por un solo lado, haciéndola vulnerable a los ataques de troyanos o bizantinos a un lado, mientras que Diffie-Hellman limita la capacidad de ambos lados de controlar la clave compartida final. Y, en cualquier caso, la clave de la sesión se asegura en última instancia mediante la clave a largo plazo del servidor, que normalmente se encuentra en un archivo de tabla de claves en el servidor y en el KDC, y las comunicaciones registradas previamente se verán comprometidas si eso es así. Más tarde revelado.