Kerberos
Kerberos 是否提供應用程序會話數據的加密?
我了解 kerberos 使用加密提供身份驗證。我看到它交換會話密鑰。執行身份驗證後,用於應用程序的會話密鑰是否通過該網路加密發送數據?
舉個例子來說明:
如果我對我的 telnet 伺服器和客戶端進行 kerberize,那麼我的客戶端和伺服器會話也會被加密(可能使用上述會話密鑰)(即嗅探器無法看到我在會話中鍵入的命令)?
我看到基於 HTTP 的 SPNEGO kerberos 不遵循這一點,因此需要使用 SSL 來保護會話。
這完全取決於服務的實現方式。我有理由確定大多數版本的 kerberized telnet 確實使用會話密鑰來加密流量。
這將是 kerberos API 對舊程序的“標準”使用。標準 kerberos 發行版附帶的幾乎所有東西都以這種方式使用 kerberos。要查找的關鍵 API 是
krb5_mk_priv
另一個標準 API 是
gss_wrap
但是,在這種情況下,您需要檢查呼叫爭論以確定是否啟用了隱私。
看
http://www.kerberos.org/software/appskerberos.pdf
有關如何在應用程序中使用 kerberos 的相對較新的概述。
SPNEGO 是 kerberos 世界中的一個特例,因為它僅用於身份驗證。作為一般經驗法則,應用程序協議中任何適當設計的 kerberos 使用都將包括會話數據的加密,除非您出於某種原因專門將其關閉。
不幸的是,並非所有 kerberos 的使用都經過適當設計。在檢查任何聲稱支持 kerberos 的應用程序時,您必須驗證這一點。