1实现注重事项:对端可能通过用户的输入得到身份值,因此建议认证者在收到错误的身份值或者认证失败的身份值后重新发送标识类型的请求报文,以应付用户输入错误的情况 。并且建议认证者至少在尝试三次失败以后才向对端发送一个失败(Failure)的应答报文来终止认证阶段 。认证者可以在重新发送标识(ID)请求报文之前发送一个通知(Notification)报文用于提示对端认证错误(也可以把这些提示信息放在重新发送的标识(ID)请求报文的提示信息中) 。
类型Type
1
类型数据Type-Data
在请求报文中这个字段可以包含一段可显示的提示信息;而在应答报文中这个字段包含对端的身份(ID),假如对端还不知道自己的身份,那么在长度(Length)字段中指示标识(ID)字段的长度应该为零 。在该字段中的字符串不需要用空字符(NULL)结束,因为长度字段中的值就标明了字符串的长度 。
1.2通知Notification
描述
通知类型经常用于认证者向对端传送一个可显示的字符串 。对端应该把这个字符串显示给用户,假如不能显示的话也应该记录下来 。它主要用于向对端发一些通知,比如提示密码将要超期、OTP的顺序号码接近零以及认证失败的警告等 。在大部分情况下不需要这个类型 。
类型Type
2
类型数据Type-Data
请求报文中的类型数据字段包含一段长度大于0字节的可显示的字符串 。字符串的长度由请求报文中的长度字段的值来决定,并且字符串不需要用空字符(NULL)结束 。对端收到这种类型的请求报文以后不管怎么处理其中的通知信息都必须马上发送一个类型值为2(通知)的应答报文,并且应答报文的类型数据字段的长度应该为零 。
1.3否定Nak
描述
否定类型只应该出现在应答报文中,用来表示对端不接受请求报文中的认证信息类型 。认证信息类型是指类型值大于等于4的信息类型 。否定类型的应答报文中可以同时提供一个对端所期望的认证信息类型 。
类型Type
3
类型数据Type-Data
这个字段必须包含一个字节用来向认证者提供对端所期待的认证信息类型 。
1.4MD5挑战字
描述
MD5挑战字和PPP的CHAP[3]协议中的挑战字类似,使用MD5算法 。CHAP的具体实现细节应该查阅PPP挑战握手认证协议的RFC[3] 。在类型为MD5挑战字的请求报文中包含一个“挑战”信息,对端收到这个请求报文后必须发送一个应答报文,应答报文的信息类型可以是4(MD5挑战字)或者3(否定),在NAK应答报文中对端同时也标明了它所期待的认证机制的类型值 。所有的EAP实现必须支持MD5挑战字算法 。
类型Type
4
类型数据Type-Data
类型数据的内容如下所示 。至于如何使用其中的这些字段请参阅PPP的挑战握手认证协议[3] 。
0123
01234567890123456789012345678901
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value-SizeValue...
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name...
- - - - - - - - - - - - - - - -
1.5一次密码(OTP)
描述
一次密码系统在文献[4]中定义 。请求报文中包含一个可显示的信息作为一次密码(OTP)的挑战字 。对端收到这种请求报文后必须发送一个应答报文,应答报文的类型值也必须设为5(OTP)或者3(NAK),在NAK应答报文中对端同时也标明了它所期待的认证机制的类型值 。
类型Type
5
类型数据Type-Data
在请求报文中,类型数据字段包含一个可显示的信息作为一次密码(OTP)的挑战字 。在应答报文中类型数据字段用于填充从OTP目录中得到的6个字 。该字段不需要用空字符(NULL)结束,该字段的长度可以从报文的长度字段中计算得到 。
推荐阅读
- BGP-4多协议扩展
- 对多宿主的多提供者连接的可扩展性支持
- IP多点广播的主机扩展
- POP3扩展机制
- 支持IPv6地址聚合和重编号的DNS扩展
- GRE的Key和Sequence Number扩展
- SMTP 针对命令流水线的服务扩展
- 主机扩展用于IP多点传送
- IMAP4 ID 扩展名
- PPP 链路质量监控
