簡單認證與安全層
簡單認證與安全層 (SASL, Simple Authentication and Security Layer ) 是一個在網路協定中用來認證和資料加密的構架。它把認證機制從程式中分離開,理論上使用SASL的程式協定都可以使用SASL所支援的全部認證機制。認證機制可支援代理認證,這讓一個使用者可以承擔另一個使用者的認證。SASL同樣提供資料安全層,這提供了資料完整驗證和資料加密。 DIGEST-MD5提供了資料加密層,這是機制中的一個例子。支援SASL的應用程式通常也支援傳輸層安全(TLS)作為對SASL提供的服務的補充。
在1997年John Gardiner Myers在卡內基梅隆大學時寫下了最初的SASL說明檔案(RFC 2222)。在2006年Alexey Melnikov和Kurt Zeilenga寫的RFC 4422取代了那個檔案。
SASL機制
一個SASL機制實現了一系列的要求和特性。已經制定的SASL機制[1] 包括:
- "EXTERNAL",認證資訊在內容中(例如已經使用IPsec或傳輸層安全的協定)
- "ANONYMOUS",對與未認證的客戶端的訪問
- "PLAIN",一個簡單明文密碼機制,PLAIN取代了LOGIN機制
- "OTP",一個臨時密碼機制,OTP取代了SKEY機制
- "SKEY",一個S/KEY機制
- "CRAM-MD5",一個簡單的基於HMAC-MD5的詢問應答機制
- "DIGEST-MD5",是一個HTTP相容的,基於MD5的詢問應答機制,DIGEST-MD5提供了資料層安全
- "NTLM",一個NT LAN Manager認證機制。
- "GSSAPI",通過通用安全服務應用程式層的Kerberos V5協定的安全認證,GSSAPI提供了資料安全層
- GateKeeper,Microsoft為Windows Live Messenger開發的一個詢問應答機制。
在SASL中的GS2協定家族支援任意的GSSAPI機制。[2] 現在在RFC 5801中標準化。
外部連結
- RFC 4422 - Simple Authentication and Security Layer (SASL) - obsoletes RFC 2222
- RFC 4505 - Anonymous Simple Authentication and Security Layer (SASL) Mechanism - obsoletes RFC 2245
- The IETF SASL Working Group, chartered to revise existing SASL specifications, as well as to develop a family of GSSAPI mechanisms
- CMU SASL Information
- Cyrus SASL, a free and portable SASL library providing generic security for various applications[3]
- GNU SASL (頁面存檔備份,存於網際網路檔案館), a free and portable SASL command-line utility and library, distributed under the GNU GPLv3 and LGPLv2.1, respectively
- Dovecot SASL (頁面存檔備份,存於網際網路檔案館), an SASL implementation
- RFC 2831 - Using Digest Authentication as a SASL Mechanism
- Java SASL API (頁面存檔備份,存於網際網路檔案館) Programming and Deployment Guide
注釋
- ^ SASL mechanisms. [2012-07-02]. (原始內容存檔於2009-02-04).
- ^ Simon Josefsson. Using GSS-API Mechanisms in SASL: The GS2 Mechanism Family. [2012-07-02]. (原始內容存檔於2012-03-04).
- ^ Bartlett, Andrew. GENSEC - Designing a security subsystem (PDF): 4/13. 2005-04-25 [2010-03-28]. (原始內容存檔於2012-10-07).
The idea of a generic security API is not new [...] to implement, by some mechanism or other, a wide variety of these protocols, including SASL, GSS-API, SPNEGO as well as the proprietary NTLMSSP [...] in the wider open source world we see individual applications introduce similar abstraction layers, or adopt the Open Source Cyrus-SASL library to provide one.