网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

挑战响应认证机制(CRAM)

更新时间:2026年03月27日   作者:spoto   标签(Tag):

挑战响应认证机制(CRAM)这是最常用的身份验证方式。这类协议中,一方会提出一个挑战,另一方则必须给出正确的答案来回应这个挑战,这样才能获得身份验证。
 


图 –CRAM活动流程图
两种类型的问题(挑战) 
 

  • 静态的正如其名称所示,这类问题本质上是一种静态的 challenged方式。用户可以选择自己想要面临的挑战,并验证自己的身份。例如,以电子邮件服务中的“忘记密码”功能为例。所谓静态挑战,其实就是你在账户设置过程中保存下来的“安全问题”。这些问题的正确答案通常不会随时间而改变。
  • 动态性这些问题涉及到对挑战的选取以及认证过程的动态处理。这些挑战是随机选定的,前提是假设用户能够知道该挑战的正确答案,因为用户本身就是真正的参与者。


CRAM的执行方式—— 
 

  • 验证码: 
    完全自动化的公共图灵测试,用于区分计算机与人类。CAPTCHA技术的应用,可以有效防止垃圾邮件的发送,以及防止有人通过自动化手段来注册新的电子邮件账户或网站账号。
  • SSH(安全外壳): 
    SSH是一种加密网络协议,用于在不安全的网络上安全地运行网络服务。
  • 密码: 
    该密码会被发送到服务器上,以便与正确的密码进行比对,从而确认其有效性。
  • 盐味挑战响应认证机制(SCRAM,属于CRAM的一种变体): 
    这个挑战的难点在于,密码会被进行哈希处理,这样就能确保该密码只能被使用一次。哈希后的密码会被发送到服务器中,与正确的密码的哈希值进行比对。这样一来,就不会出现中间人攻击或重放攻击的情况了,因为密码只能被使用一次而已。
  • 生物识别技术: 
    那些独特的生物识别信息(如视网膜扫描、指纹扫描等)会被记录下来。每当用户想要进行身份验证时,他都必须向认证系统提交自己的生物识别凭证,以便进行验证。


应用场景/使用方式 
 

  • 为了区分计算机和人类: 
    用户会看到一张图片(通常很难从表面直接辨认出内容)。用户需要阅读图片中的字符来输入信息。然后,用户输入的信息会与实际存在的字符进行比对,从而防止机器人进入系统。
  • 在训练机器学习模型时: 
    这张图片被打乱后呈现给用户,目的是让用户进行某种验证,以确认该用户确实为真实的人类用户。用户输入的信息会被用于验证用户的身份。用户给出的答案会与机器学习模型给出的答案进行比对。这张打乱后的图片就是“挑战题”,而用户需要做的就是将其重新组合成正确的图像。这种机制在Google的CAPTCHA认证系统中被广泛使用。
  • 用于登录/身份验证的目的: 
    输入的密码与正确的密码进行匹配(无论是直接还是间接的方式)。正确的密码已经存储在您试图访问的服务器中。


针对CRAMs的常见攻击方式—— 
 

  • 窃听
  • 网络钓鱼攻击
  • 伪基站攻击
  • 中间人攻击
  • DNS缓存中毒攻击
  • 特洛伊木马攻击
  • 电话中的人类攻击
  • 浏览器中毒攻击
  • 字典攻击
  • 暴力攻击
  • 零知识密码证明
  • 可重复使用的密码攻击方式


局限性/限制条件 
密码存在一个根本性的问题,那就是密码会被反复使用。当服务器接收到密码时,服务器无法判断到底是由真正的用户输入的密码还是其他人的伪造的密码。
较新的CRAM机制还采用了加密技术,这样,所匹配的就不是原始密码本身,而是密码的哈希值。
一些加密CRAM的例子—— 
 

  • SCRAM – 盐基化挑战响应认证机制
  • CRAM-MD5
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

上一篇: IEEE 802.11 数据帧

下一篇: 量子密码学

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料