簡單認證與安全層
外觀
簡單認證與安全層 (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是IETF的標準規格協議,而且也是截至2016年[update]網際網路標準中的一項。
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.