Encryption RSA SecurID:Can";“失踪”;象征性的问题?

Encryption RSA SecurID:Can";“失踪”;象征性的问题?,encryption,random,cryptography,rsa,securid,Encryption,Random,Cryptography,Rsa,Securid,我对RSA SecurID和类似的2因素系统非常着迷 我读过很多文章,包括这篇: 我的问题是,由于RSA算法使用“种子”,因此生成的数字是“序列” 如果当服务器请求时,我在安全设备上生成了一个令牌,而不是使用该令牌,我再次按下按钮生成另一个令牌,该怎么办? 这会不会导致在设备和服务器上运行的系列中出现“不匹配” 如果逻辑仅仅依赖于时钟和设备序列或者其他,那就容易多了,但是由于涉及到种子和随机数,我想知道如果跳过一两个令牌会发生什么 谢谢。据我所知,不要使用“滚动计数器”-令牌仅从设备序列和当前时

我对RSA SecurID和类似的2因素系统非常着迷

我读过很多文章,包括这篇:

我的问题是,由于RSA算法使用“种子”,因此生成的数字是“序列”

如果当服务器请求时,我在安全设备上生成了一个令牌,而不是使用该令牌,我再次按下按钮生成另一个令牌,该怎么办? 这会不会导致在设备和服务器上运行的系列中出现“不匹配”

如果逻辑仅仅依赖于时钟和设备序列或者其他,那就容易多了,但是由于涉及到种子和随机数,我想知道如果跳过一两个令牌会发生什么

谢谢。

据我所知,不要使用“滚动计数器”-令牌仅从设备序列和当前时间生成。另外:在我所看到的RSA SecurID令牌中(承认是有限的),用户不按按钮生成令牌;相反,令牌在屏幕上始终可见。因此,生成的令牌不会(按顺序)与服务器不同步,除了令牌端时钟漂移的可能性(通常服务器使用NTP,因此它们的时钟漂移可以忽略不计)

然而,时钟漂移问题的典型解决方案是在服务器上按令牌存储“漂移”参数。这个漂移参数可以手动更新(为了最大的安全性,也为了最大的痛苦),或者可以在服务器端检查周围的间隔。例如,如果我现在登录,您可能会检查服务器当前的60秒间隔、上一个间隔和下一个间隔是否有效,如果上一个/下一个间隔有效,您将为令牌存储该漂移

另一方面,有一个算法受到您描述的问题的影响:算法。它使用一个滚动计数器,该计数器应该在服务器和令牌上同步。因此,如果您有一个基于HOTP的验证器,并且多次按下令牌生成按钮,则会导致它失去同步,服务器管理员需要手动干预

类似的解决方案可以如上所述:检查计数器的下几个值,如计数器+1、计数器+2、计数器+3等,并将其存储为“漂移”参数。如果反复按下令牌,它最终可能会失去同步,这取决于检查的距离

HOTP的一个变体修复了这个问题,它使用“时间计数器”而不是真正的计数器。这就是Google Authenticator使用的。在这里,您仍然存在时钟漂移问题,使用与上面相同的解决方案

据我所知,不要使用“滚动计数器”-令牌仅从设备序列和当前时间生成。另外:在我所看到的RSA SecurID令牌中(承认是有限的),用户不按按钮生成令牌;相反,令牌在屏幕上始终可见。因此,生成的令牌不会(按顺序)与服务器不同步,除了令牌端时钟漂移的可能性(通常服务器使用NTP,因此它们的时钟漂移可以忽略不计)

然而,时钟漂移问题的典型解决方案是在服务器上按令牌存储“漂移”参数。这个漂移参数可以手动更新(为了最大的安全性,也为了最大的痛苦),或者可以在服务器端检查周围的间隔。例如,如果我现在登录,您可能会检查服务器当前的60秒间隔、上一个间隔和下一个间隔是否有效,如果上一个/下一个间隔有效,您将为令牌存储该漂移

另一方面,有一个算法受到您描述的问题的影响:算法。它使用一个滚动计数器,该计数器应该在服务器和令牌上同步。因此,如果您有一个基于HOTP的验证器,并且多次按下令牌生成按钮,则会导致它失去同步,服务器管理员需要手动干预

类似的解决方案可以如上所述:检查计数器的下几个值,如计数器+1、计数器+2、计数器+3等,并将其存储为“漂移”参数。如果反复按下令牌,它最终可能会失去同步,这取决于检查的距离

HOTP的一个变体修复了这个问题,它使用“时间计数器”而不是真正的计数器。这就是Google Authenticator使用的。在这里,您仍然存在时钟漂移问题,使用与上面相同的解决方案

据我所知,不要使用“滚动计数器”-令牌仅从设备序列和当前时间生成。另外:在我所看到的RSA SecurID令牌中(承认是有限的),用户不按按钮生成令牌;相反,令牌在屏幕上始终可见。因此,生成的令牌不会(按顺序)与服务器不同步,除了令牌端时钟漂移的可能性(通常服务器使用NTP,因此它们的时钟漂移可以忽略不计)

然而,时钟漂移问题的典型解决方案是在服务器上按令牌存储“漂移”参数。这个漂移参数可以手动更新(为了最大的安全性,也为了最大的痛苦),或者可以在服务器端检查周围的间隔。例如,如果我现在登录,您可能会检查服务器当前的60秒间隔、上一个间隔和下一个间隔是否有效,如果上一个/下一个间隔有效,您将为令牌存储该漂移

另一方面,有一个算法受到您描述的问题的影响:算法。它使用一个滚动计数器,该计数器应该在服务器和令牌上同步。因此,如果您有一个基于HOTP的验证器,并且多次按下令牌生成按钮,您将导致