一次性密码
编辑一次性密码或一次性密码是用于身份验证或授权的密码。 每个一次性密码只能使用一次,不能重复使用。 同样,每一次认证或授权都需要一个新的一次性密码。 它对被动攻击是安全的。 这也使得重放攻击变得不可能。 一次性密码无助于防止中间人攻击场景。 使用一次性密码对加密方法的安全性也没有影响。
常用的缩写OTP代表英文一次性密码,是“一次性密码”的直译。 但是,存在与一次一密加密方法混淆的风险,因为两者都缩写为“OTP”。
一次性密码的挑战是双方如何知道哪个密码对给定的登录有效。 有两种方法可以做到这一点:密码列表或密码生成器。
密码列表
编辑使用此系统,预定义的密码列表存储在两侧。 该列表要么按顺序处理,要么自由选择尚未使用的值。 该值作为密码传输,并从双方的列表中删除。 网上银行的 TAN 列表是密码列表的一个例子。
所提到的变体之间的区别如下:在一次性使用密码的情况下,一个接一个地使用,即顺序,在任何时间点都只有一个有效值,即xxx个尚未被使用的值用过的。 在一次性密码的情况下,发件人可以根据需要从列表中选择,在任何给定时间,列表中的有效值与未使用的值一样多。
缺点是可能丢失密码列表。 掌握它的攻击者知道所有可能的一次性密码。 因此,不必存储整个列表的系统优于此方法。
密码生成器
编辑密码生成器是一种自动生成密码的程序。
程序
使用密码生成器,可以使用特殊算法随时生成当前密码。 必须区分三种方法:
- 定时生成器
- 事件驱动生成器
- 挑战-响应驱动的生成器
对于这三者,传输的不是算法本身,而是证明,即算法的结果。 有了正确的结果,客户端证明它有正确的算法,如果有必要,还有正确的初始化。
定时
尽管服务器执行与客户端(安全令牌)相同的计算,但它通常在容忍范围内接受和计算多个一次性密码,因为令牌内置的时钟可能不是 xxx 准确。 尽管如此,每个一次性密码都有明确的有效期间隔,通常为1到15分钟。
这是一个令牌的简短示例,它每分钟更改一次性密码。 然而,一次性密码不仅在时间 t 有效,而且在时间 t − 1 min 和 t + 1 min 也被服务器端接受,因此由于容差而持续三分钟。 好的方法与客户端上的传入数据同步。 但是,如果登录之间有较长的中断时间,这也可能会失败。
如果在多个独立的位置使用单个令牌,如果一次性密码在一个位置被窃听,则在容忍范围内的其他位置会产生安全风险。
事件驱动
使用事件驱动方法,与时间驱动方法一样,服务器也执行与客户端相同的计算,在这里它也计算并接受容忍范围内的多个一次性密码,不包括那些已经用过的。 原因是所有者有时可能无法使用生成的密码。 这种方法在相应设备(令牌)的电池上要容易得多。 也可以在没有xxx电源的情况下运行它,只需存储最后使用的值,因此无论如何都无效。
如果单个令牌被多个独立实体使用,则在任何情况下都必须及时通知所有实体任何使用情况。
挑战-响应驱动
在质询-响应程序的情况下不存在同步问题。 在这个方法中,服务器发出一个任务(挑战)v或者说客户端必须回答。 因此,客户端从服务器接收一个值作为输入,并据此计算一次性密码。
这个程序的优点是可以完全独立地设置挑战。 如果服务器端没有可以预先计算的算法,那么客户端或破解者就无法预先计算响应。 这意味着单个算法可以由多个独立机构使用,而不会降低安全性。 有些解决方案使用设备(令牌)来计算响应。 在这种情况下,也可以使用下面描述的技术,以初始值作为挑战。
重新初始化
由于每次验证都会发送一个新的 OTP,并且计数器 N 最终会归零,因此必须重新初始化 OTP 系统。 为此,客户 z。 B. 独立选择一个新的种子 r A 和一个新的 N 并告诉服务器。 一个新的、共享的、秘密的密码 g g KW 也可以通过安全线路达成一致。 然而,今天使用的许多代币不提供超出价值本身的通信。
安全
由于加密哈希函数不可逆,因此无法获知秘密密码。 由于每次传输新密码,系统还可以防止重放攻击。
但是,服务器只对客户端进行身份验证。 另一方面,服务器不向客户端验证自己。 攻击者因此可以在网络中安装他自己的服务器并欺骗客户端,使其相信该服务器是身份验证服务器。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/335708/