Kerberos

Kerberos 是否提供應用程序會話數據的加密?

  • April 14, 2014

我了解 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 的應用程序時,您必須驗證這一點。

引用自:https://serverfault.com/questions/585063