简单认证与安全层
简单认证与安全层 (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.