Kerberos是否提供应用程序会话数据的encryption?

我知道Kerberos使用encryption提供身份validation。 我看到它交换会话密钥。 用于应用程序的会话密钥是否在执行身份validation后通过networkingencryption发送其数据?

举一个例子来说明:

如果我将我的telnet服务器和客户端连接起来,那么我的客户端和服务器会话也会被encryption(大概使用前面提到的会话密钥)(例如,嗅探器看不到我在会话中input的命令)?

我看到,基于HTTP的SPNEGO Kerberos不会遵循这一点,而且需要使用SSL来保护会话。

这完全取决于服务是如何实施的。 我相当肯定,大多数版本的kerberized telnet都使用会话密钥来encryptionstream量。

这将是旧版程序的“标准”kerberos API的使用。 几乎所有的标准kerberos发行版都以这种方式使用kerberos。 要查找的关键API是

krb5_mk_priv 

另一个标准的API是

 gss_wrap 

但在这种情况下,您需要检查通话争议以确定隐私是否启用。

看到

http://www.kerberos.org/software/appskerberos.pdf

有关如何在应用程序中使用Kerberos的相对最新概述。

SPNEGO是Kerberos世界中的一个特例,因为它仅用于身份validation。 一般来说,在应用程序协议中正确devise的kerberos的使用将包括会话数据的encryption,除非您由于某种原因而特意将其closures。

不幸的是,并不是所有的kerberos的使用都是正确devise的。 在检查声称支持Kerberos的任何应用程序时,您必须validation这一点。