静态 vs 动态 vs 挑战响应

信息安全 验证
2021-09-06 16:35:39

我正在上安全课。幻灯片说,智能卡通常使用三种身份验证协议之一:静态、动态和质询响应。这些有什么区别?

3个回答

警告:术语有点模糊,所以不可能有一个完全权威和明确的答案。

静态认证协议意味着进行认证的设备不计算任何东西。如果嵌入了一些秘密值,但充其量只能显示它。人类用户,当他在登录页面或界面中输入他的密码时,是一个静态认证设备。最小、最笨、最便宜的智能卡也是如此:在被正式解锁后(用户输入他的 PIN 码),卡会喷出一个始终相同的秘密值。

动态身份验证协议则相反:设备计算事物动态认证协议有很多类型和子类型:

  • 该协议可以是质询-响应:运行认证的系统提交质询,例如随机字节序列,设备通过计算使用质询和包含在设备中的秘密数据的密码函数来响应该质询。例如,加密函数可以是设备在质询上计算的MAC,其中密钥作为密钥;身份验证系统将验证 MAC(此方案假定智能卡和身份验证系统都知道秘密值)。另一种挑战-响应基于数字签名:这需要更重的计算(因此更便宜的智能卡),但意味着认证服务器不需要知道嵌入在智能卡中的秘密值。

  • 有些卡会生成一次性密码这可以看作是一个挑战-响应协议,其中挑战不是由服务器发送的,而是一个公开已知的不断变化的值(例如,计数器,如HOTP或当前时间,如TOTP)。RSA SecurID 令牌属于该类型。使用这种协议的设备必须保持某种永久状态以抵抗复位(例如,电池供电的内部时钟,或存储在 EEPROM 中的计数器值);但它们更容易集成到现有系统中(与 RSA SecurID 令牌一样,用户只需键入其令牌上显示的内容;他不必将令牌插入他的台式机)。

NIST 出版物 800-12解释了

智能令牌可以使用许多可能的协议进行身份验证。一般来说,它们可以分为三类:静态密码交换、动态密码生成器和挑战-响应。

静态令牌的工作方式与内存令牌类似,不同之处在于用户向令牌验证自己,然后令牌向计算机验证用户。

使用动态密码生成器协议的令牌会创建一个唯一值,例如一个八位数字,该值会定期(例如,每分钟)更改。如果令牌具有手动界面,用户只需读取当前值,然后将其输入计算机系统进行身份验证。如果令牌具有电子接口,则自动完成转移。如果提供了正确的值,则允许登录,并授予用户访问系统的权限。

使用质询-响应协议的令牌通过让计算机生成质询来工作,例如随机数字串。然后,智能令牌会根据质询生成响应。这被发送回计算机,计算机根据响应对用户进行身份验证。质询-响应协议基于密码学。挑战-响应令牌可以使用电子或手动界面。

下图显示了质询-响应密码令牌的一个很好的示例,取自金雅拓的Gold OTP 身份验证器页面

质询响应密码令牌