基于口令的身份认证——挑战握手认证协议:
挑战握手认证协议通过三次握手对被认证对象的身份进行周期性的认证。
① 当用户需要访问系统时,先向系统发起连接请求,系统要求对用户进行CHPA认证。如果用户
同意认证,则由系统向用户发送一个作为身份认证请求的随机数,并与用户ID一起作为挑战信息发
送给用户。
② 用户得到系统的挑战信息后,根据报文用户ID在用户表中查找与此对应的用户ID口令。如果找
到相同的用户ID,便利用接收到的随机数和该用户的口令,以Hash算法生成响应信息,并将响应
信息和自己的用户ID发送给验证方。
③ 验证方接收到此响应信息后,利用对方的的用户ID在自己的用户表中查找系统中保留的口令,
找到后再利用自己的口令和随机数,以Hash算法生成结果,并将结果与被验证方的应答比较。验
证成功后,验证服务器会发送一条ACK报文,以表示身份认证得到承认;否则会发送一条NAK报
文,并切断服务连接。
④ 经过一定的随机间隔,系统发送一个新的挑战信息给用户,重复步骤1到步骤3。
使用CHPA认证安全性除了本地口令存储的安全性外,传输的安全性则在于挑战信息的长度,随机
性和单向Hash算法的可靠性。
CHPA认证的优点:只在网络上传输用户名;Hash算法不可逆;使用不同的挑战信息;不断重复挑
战限制了单个攻击的暴露时间,认证者可控制挑战的频度;虽然认证是单向的,但是在两个方向都
需要进行CHPA协商,同一密钥可以很容易地实现交互认证。
CHPA认证地缺点:口令必须时明文信息进行保存,不能防止中间人攻击;在大型系统中不适用,
每个可能地密钥由链路地两端公共维护;过程繁琐,易耗费带宽。
版权归原作者 阳阳大魔王 所有, 如有侵权,请联系我们删除。