我了解 kerberos 使用加密提供身份验证。我看到它交换会话密钥。执行身份验证后,用于应用程序的会话密钥是否通过该网络加密发送数据?
举个例子来说明:
如果我对我的 telnet 服务器和客户端进行 kerberize,那么我的客户端和服务器会话也会被加密(可能使用上述会话密钥)(即嗅探器无法看到我在会话中键入的命令)?
我看到基于 HTTP 的 SPNEGO kerberos 不遵循这一点,因此需要使用 SSL 来保护会话。
我了解 kerberos 使用加密提供身份验证。我看到它交换会话密钥。执行身份验证后,用于应用程序的会话密钥是否通过该网络加密发送数据?
举个例子来说明:
如果我对我的 telnet 服务器和客户端进行 kerberize,那么我的客户端和服务器会话也会被加密(可能使用上述会话密钥)(即嗅探器无法看到我在会话中键入的命令)?
我看到基于 HTTP 的 SPNEGO kerberos 不遵循这一点,因此需要使用 SSL 来保护会话。
这完全取决于服务的实现方式。我有理由确定大多数版本的 kerberized telnet 确实使用会话密钥来加密流量。
这将是 kerberos API 对旧程序的“标准”使用。标准 kerberos 发行版附带的几乎所有东西都以这种方式使用 kerberos。要查找的关键 API 是
另一个标准 API 是
但是,在这种情况下,您需要检查调用争论以确定是否启用了隐私。
看
http://www.kerberos.org/software/appskerberos.pdf
有关如何在应用程序中使用 kerberos 的相对较新的概述。
SPNEGO 是 kerberos 世界中的一个特例,因为它仅用于身份验证。作为一般经验法则,应用程序协议中任何适当设计的 kerberos 使用都将包括会话数据的加密,除非您出于某种原因专门将其关闭。
不幸的是,并非所有 kerberos 的使用都经过适当设计。在检查任何声称支持 kerberos 的应用程序时,您必须验证这一点。