【SMTP服务认证扩展】1.简介
本文档定义扩展邮件服务,一个SMTP(简单邮件传输协议)的客户端和服务器之间可以存
在一种认证机制,执行认证协议的交互,并为以后的邮件协议交互进行安全层次的协商 。这
个扩展是SASL(简单认证与安全层)的一个方面 。
2.本文档中的约定
在示例中,“c:”和“s:”分别代表了客户端和服务器端发送的数据行 。
本文中,要害词MUST","MUSTNOT","SHOULD","SHOULDNOT","MAY"和"Key
WordsforuseinRFCstoIndicateRequirementLevels"中的定义一致 。
3.验证服务扩展
(1)这种SMTP扩展服务的名称是“认证” 。
(2)和本扩展服务关联的EHLO要害字的值是“AUTH”
(3)AUTHEHLO要害字是一个有空格间隔的被SASL机制支持的名字列表的参数 。
(4)定义了一个新的SMTP协议的命令词AUTH 。
(5)要害词AUTH被用做一个可选的参数被加入MAILFORM命令中并把MAILFROM
命令行的的最大长度扩展到500个ansi字符 。
(6)此扩展和委托协议兼容(thesubmissionprotocol[SUBMIT]) 。
4.AUTH命令
AUTH机制[初始化响应]
参数:
判别是一个SASL认证机制的字符串 。
可选的由base64编码的响应 。
约束:
在一个AUTH命令完整结束后,本次会话就不再有其他的AUTH命令涉及了 。
就是说,在一个成功的AUTH命令后,SMTP服务器用503标识的回应来拒绝任何以后的
AUTH命令 。
在一个邮件传输过程中发出的AUTH命令是不被容许的 。
讨论:
AUTH命令显示了一种和邮件服务器间的安全认证机制 。假如邮件服务器支持这
种认证机制,它就会执行一个认证协议交互来认证并识别邮件用户 。作为可选的情况,他也
会忽略这以后后协议交互的一个安全层 。假如服务器并不支持所需要的认证协议,就会用
504的回答来拒绝这个AUTH命令 。
认证协议交互过程由一系列由认证机制定义的邮件服务器端的命令和邮件客户端
的响应组成 。
一个邮件服务器端命令,或者所谓一个预备好响应,是一个334起头的,包含用
base64编码的字符串文本 。邮件客户端也同样由包含了用base64编码的字符串 。假如邮件
客户端希望可以取消一个进行中的认证交互过程,它会发出一个仅包含一个字符"*"命令行,
邮件服务器端一旦收到这样的一个回答后,必须发一个501标识的回答,而后拒绝AUTH
命令 。
对AUTH命令来说,可选的初始化响应建议是用来在使用认证机制时保持一个往
返的回程,认证机制的定义中此建议不发送任何数据 。当初始化响应部分用在这种机制时,
开始的空的发起命令不被送到客户端,并且服务器端使用的数据也好象是发送来
响应一个空的命令 。它发送一个零长度的初始化回答作为一个"="符号 。假如客户端
在认证机制的AUTH命令响应中使用初始化建议,客户端就在初始化命令中发送响应的
数据,服务器端用535回答来拒绝AUTH命令 。
假如不能对参数用base64解码,就用501回答来拒绝AUTH命令,假如服务器
拒绝认证数据,它应该用535的回答(可以带其他具体的非凡错误代码,比如在第6节所列
的代码中的一个)来拒绝AUTH命令 。假如客户端成功完成了认证交互,SMTP服务器就
应该返回一个235的响应 。
本SASL协议梗概中描述的服务名称是SMTP.
假如一个安全层通过了SASL认证交换,随着作为终止客户端认证交换的CRLF
(回车换行),这个安全层立即有效 。在安全层起作用后,其上的SMTP协议被复位到初试
状态(这个SMTP状态是在服务器发出一个220服务预备好的消息后开始的) 。接着服务器
推荐阅读
- 如何启用客户机的WINS功能
- WINS 服务的新特性
- WINS 服务的基本概念
- 502错误
- TCP的服务
- 欢太云服务是什么意思
- IP多播提供的两类服务
- PPP Over FR & RIP v2明文认证
- 微信腾讯游戏实名认证怎么填
- 如何在学信网上申请学历认证