首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Lamport OTP系统

Lamport OTP系统
EN

Security用户
提问于 2015-06-05 04:14:56
回答 2查看 2.9K关注 0票数 2

Lamport OTP算法与HOTP和TOTP不同吗?它们有多相似或不同?

EN

回答 2

Security用户

发布于 2015-06-05 04:59:56

HOTP与TOTP相似。Lamport OTP是不同的。

HOTP是共享秘密和计数器的HMAC。例如,在您的第N次登录时,您将使用HMAC(SHARED SECRET, N)。这提供了很强的安全性,但是客户端和服务器之间的计数器会变得不同步。它也有一个问题,下一个HOTP是长寿的。也就是说,它在使用之前是有效的。这可能会让攻击者有相当长的时间来猜测。

TOTP是共享秘密和当前时间的HMAC。在我们的讨论中,我们假设密码每60秒更改一次。作为一个例子,一个登录发生在2015-05-05:33格林尼治时间,你可以使用HMAC(SHARED SECRET, 201506050533).与HOTP不同的是,没有计数器不同步(假设时钟在几秒钟内同步是公平的)。此外,每个密码只持续一分钟,因此试图猜测TOTP的攻击者必须在60秒内找到它,否则必须再次开始猜测。

Lamport OTP与HOTP和TOTP略有不同。Lamport OTP不需要共享秘密。Lamport用于验证一系列连续登录。对于我们的例子,让我们假设我们有一个哈希函数H(选择您最喜欢的)。Lamport具有Nth的属性,编写的OTP(N)H(OTP(N+1))。这意味着,如果服务器记得最后一个OTP是X,当它接收到下一个OTP Y时,它可以通过确保X等于H(Y)来验证它是正确的。如果正确,服务器将允许登录并存储Y,以便在下一次登录中使用。当客户机第一次登录时,服务器从客户端获取初始OTP。

在客户端,客户端从选择种子值开始。然后计算H(SEED)H(H(SEED)),.比方说,1000次迭代。它存储了整个序列。当它第一次登录到服务器时,它会传递给它第1000个值。下一次它传递给它999个值,依此类推。因为哈希算法是不容易逆转的,一个观察者如果看到任何特定的OTP,就无法计算下一个OTP,因为这需要他们逆转哈希。

当Lamport链耗尽时(例如:在使用1000之后),客户端必须创建一个新的种子,计算一个新的链,并将新的最后值传递给服务器。虽然这不是Lamport OTP的要求,但可以想象,正在传递链的新最后值的登录将需要2因素身份验证,而使用下一个Lamport OTP的登录只需要1因子。

虽然所有这些都有“密码”一词在他们的名字,他们可以用于其他目的,而不是登录。例如,这篇文章描述使用Lamport对会话中的连续消息进行身份验证。

票数 3
EN

Security用户

发布于 2017-03-06 22:11:43

我认为lamport OTP和宣誓HOTP/TOTP在概念上是有区别的。

请看一看RFC1938,您在引用Lamport时验证了这一点。它于1996年出版,是基于1的

1 Leslie Lamport,“使用不安全通信的密码身份验证”,ACM 24.11 (1981年11月),770-772

实际上,有一些工具可以计算这样的OTP值--“驱逐小马驹嘴尖”和登录,比如说SSH。我几年前就做过这个实验。这样的OTP值是根据您为计算OTP值而输入的迭代次数和密码计算的。

HOTP/TOTP (RFC4226)是根据一个秘密密钥(通常存储在硬件中)计算的。至少所有参与RFC4226的作者都是....hardware供应商。

据我理解,Lamport OTP和宣誓HOTP/TOTP有着完全不同的目标。虽然SSL1.0是在1994年发布的,但SSL的RFC号码是2246,这明显高于1938年;-) Lamport OTP的目标是避免在不安全的连接上重复密码攻击!也见1936年RFC的缩写。

相反,HOTP/TOTP将引入第二个认证因素,其中秘密密钥最初存储在脱机硬件中。Lamport OTP基于一个因素“密码”生成OTP,只是为了避免通过线路发送密码。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/90909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档