计算机科学

首页 > 计算机科学

询问握手认证协议

询问握手认证协议(Challenge-Handshake Authentication Protocol,CHAP)是一个用来验证用户或网络提供者的协议。负责提供验证服务的机构,可以是互联网服务供应商,又或是其他的验证机构。通过三次握手周期性的校验对端的身份,可在初始链路建立时完成时,在链路建立之后重复进行。

RFC 1994详细定义了CHAP这个协议。

CHAP 用于使用3次握手周期性的验证对端身份。在链路建立初始化时这样做,也可以在链路建立后任何时间重复验证。

以下这个例子说明,如果 A 要向 B 进行验证,所需进行的步骤:

  1. 在连线建立之后,使用者 A 会发出一个“challenge”信息给使用者 B。
  2. 当 B 在收到这个讯息后,会使用 hash function,像是 MD5 来计算出杂凑值。
  3. 之后 B 会将这个杂凑值送回去给 A。
  4. A 在收到之后,也会使用自身的 hash function 将原本的“challenge”信息运算,得到一组杂凑值。
  5. 此时 A 就可以比较:自己算出来的这组与收到(从B来)的杂凑值是否相同,如果相同,则通过验证。
  6. 之后 B 也可以彷照上述方法,向 A 进行验证。

CHAP通过增量改变标识和“challenge-value”的值避免“playback attack”攻击。验证的两端都需要知道“challenge”信息的明文,但不会在互联网上传播。

参看

  • 密码认证协议

参考文献

  • RFC 1994
  • CHAP 协议详细资料(连结与CHAP无关(可能已过时))

上一篇:YubiKey
下一篇:一次性密码
相关推荐