16

谁能用简单的编程术语向我解释这些 RSA 密钥加密狗是如何工作的?我知道暴雪有它们用于魔兽世界和贝宝以及一些交易网站。

谢谢!

4

3 回答 3

26

fob 有一个时钟和一个序列号,用作PRNG的种子。当您点击“显示代码”按钮时,fob 会显示一个数字,该数字是该时间戳的乘积,序列号通过 PRNG 运行。服务器知道您的 fob 的序列号和时间,并执行相同的操作。如果您的代码匹配,则您已通过身份验证。

您可以在服务器端计算上一个/下一个 N 值以解决时钟偏差。

于 2009-02-04T19:56:14.517 回答
3

程序化条款不是必需的。想象一下两个硬件(你的加密狗和公司里的东西)以相同的定期间隔生成相同的数字。由于某些专有算法,几乎不可能猜出该数字是多少,因此如果您输入的数字(或由加密狗自动发送)与服务器上的数字匹配,您的身份就会得到验证。

至少对于我拥有的加密狗,您还必须提供一个只有您和服务器知道的引脚。因此,为了获得身份验证,您需要一些物理的东西和头脑中的一些东西。这种组合很难伪造。即使有人得到了加密狗,除非他们知道你的密码,否则它一文不值。如果他们知道您的密码,那么如果没有加密狗,这些信息将毫无价值。

于 2009-02-04T19:59:31.907 回答
1

立即安全!第 103 集讲述了它们的工作原理。(该链接指向节目说明,但页面顶部有一个指向音频播客的链接。)

基本上,密钥卡与服务器同步,并且它们都被播种以生成相同的伪随机数序列。如果您在正确的时间输入正确的数字,服务器就会知道是您。

于 2009-02-04T20:10:57.873 回答