可插拔認證模組

可插拔認證模組PAM)是一種將多個低階認證方案整合到進階應用程式編程介面(API)中的機制, 可以讓依賴於身份驗證的程式獨立於底層的身份驗證方案編寫。PAM 最初由太陽電腦在1995年10月的開放軟件基金會請求意見稿 (RFC)86.0中提出。它被用作通用桌面環境的身份驗證框架。作為獨立的開源基礎結構,PAM 於1996年8月在 Linux PAM 專案中首次出現在 Red Hat Linux 3.0.4中。 當前, AIX作業系統DragonFly BSD[1]FreeBSDHP-UXLinuxmacOSNetBSDSolaris 均支援PAM。

由於不存在規範 PAM 行為的中心標準,後來有人嘗試將 PAM 標準化為 X/Open UNIX 標準化過程的一部分,從而產生了X/Open Single Sign-onXSSO)標準。 該標準尚未獲得批准,但是其草案可供後來的PAM實現(例如OpenPAM)參考。

批評 編輯

由於大多數 PAM 實現本身都不與遠端客戶端互動,PAM 本身無法實現 Kerberos(Unix環境中最常見的SSO類型)。這導致SSO被合併為可能的XSSO標準的「主要認證」部分,並且出現了諸如SPNEGO和 SASL 之類的技術。 這種功能上的缺乏也是 SSH 自己實現身份驗證機制協商的原因。

在大多數PAM實現中,pam_krb5 只能取得票據授權票據(TGT),這涉及到提示用戶輸入憑據,並且僅用於SSO環境中的初始登入。如要在不提示用戶再次輸入憑據的前提下,取得特定應用程式的服務票證,則必須對該應用程式進行特定的編碼以支援 Kerberos,這是因為 pam_krb5 本身無法取得服務票證(儘管有些 PAM-KRB5 版本正試圖解決該問題)。[2]

參見 編輯

參考文獻 編輯

  1. ^ PAM manual page of DragonFly BSD. [2021-07-16]. (原始內容存檔於2021-07-19). 
  2. ^ PAM-KRB5. [2021-07-16]. (原始內容存檔於2021-04-15). 

外部連結 編輯