计算机网络 CRAM挑战响应认证机制

挑战响应认证机制CRAM

验证操作的最常用方法是挑战响应认证机制CRAM。它们是一组协议,其中一方发出挑战(需要解决),另一方需要用正确的响应(需要验证/检查)来做出回应,以便进行认证。

挑战响应认证机制CRAM

挑战性问题有两种类型:

  • 正如名称所示,静态问题采用静态方法来选择挑战。用户可以选择挑战并确认其身份。以电子邮件服务中的“忘记密码”功能为例。您在账户设置中保存的“安全问题”是一个静态挑战。预计对这些问题的正确回答不会随时间而变化。
  • 动态问题使用动态选择和认证过程进行挑战。任务是随机选择的,假设用户是真实的用户,他们会知道正确的答案。

CRAM执行方法 –

1. CAPTCHA(全自动公共图灵测试以区分计算机和人类垃圾邮件):

完全自动化的公共图灵测试,用于区分计算机和人类垃圾邮件,以及阻止在网站上自动创建新帐户或用于电子邮件的CAPTCHA。

2. 安全外壳(SSH):

SSH是一种加密的网络协议,可在不安全的网络上安全运行网络服务。

3. 密码:

密码传输到服务器,在与正确密码进行比较后进行检查。

4. Salted Challenge Response Authentication Mechanism (SCRAM)的一种变体:

为确保密码仅使用一次,挑战将被哈希和加盐。服务器将哈希与正确密码的哈希进行比较,而不是与明文密码本身进行比较。由于密码只能使用一次,因此无法泄露,从而防止中间人和重放攻击。

5. 生物识别:

每当用户希望验证自己时,他必须提供他独特的生物识别信息(如视网膜扫描或指纹扫描)用于验证。

如何使用挑战-响应

挑战-响应屏障是一种安全措施,用于保护资产免受未经授权的用户、活动、程序和物联网(IoT)设备的侵害。它要求网络攻击者完成一系列挑战,以绕过安全屏障并获得对其他材料的访问权限。例如,商业银行使用挑战-响应认证创建了一个多因素身份验证(MFA)流程。使用多个CRAM,此流程对用户的身份进行认证。

双因素身份验证(2FA)流程可能涉及输入密码并通过电子邮件接收验证码。MFA变体还可能询问个人问题,例如“您母亲的婚前姓名是什么?”然而,帐户登录并不是挑战-响应认证的唯一用途。

CRAM的应用案例

  • 区分计算机和人类:

向用户显示一个通常在初始查看时难以阅读的图像,并要求用户通过解析图像中的字符来输入。然后将输入与实际字符进行比较,以阻止机器人访问系统。

  • 在训练机器学习模型时:

将图像切割并混淆后,提交给用户进行某种形式的人类用户可验证的认证。使用用户的输入来验证用户输入。比较用户的响应和ML模型提供的答案。任务是从打乱的图像中选择正确的部分。在Google CAPTCHA身份验证中经常观察到。

  • 用于登录(认证):

将已保存在您要访问的服务器上的正确密码与您输入的密码(直接或间接)进行比较,以查看它们是否匹配。

典型的CRAM攻击包括:

  • 窃听
  • 网络钓鱼攻击
  • 劫持攻击
  • 中间人攻击
  • DNS缓存中毒攻击
  • 特洛伊木马攻击
  • 手机劫持攻击
  • 浏览器注入攻击
  • 字典攻击
  • 暴力攻击
  • 零知识密码证明
  • 可重复使用的密码攻击

局限性 –

密码的一个基本问题是它们被重复使用。当服务器接收到密码时,服务器无法确定密码是否由真正的用户输入。

较新的CRAM还使用加密来匹配密码的哈希值,而不是明文密码。

一些加密CRAM示例 –

  • SCRAM是Salted Challenge Response Authentication Mechanism的缩写。
  • CRAM-MD5

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程