主页 > imtoken官网下载 > LNURL-Auth:基于比特币闪电网络的身份认证

LNURL-Auth:基于比特币闪电网络的身份认证

imtoken官网下载 2023-03-09 06:23:33

介绍

大多数人认为闪电网络是一种支付网络,可以实现快速、低成本的比特币交易。 但是,您知道您可以使用闪电网络钱包轻松、安全且匿名地登录某些服务吗?

密码

今天,在互联网上最常见的身份验证方式是输入用户名和密码(译者注:大家习惯称其为“密码”)。 这个概念已有数十年历史,并且运作良好。 但是它有什么缺陷呢?

为了方便起见,用户通常会选择易于猜测或暴力破解的简单密码。 或者,用户可以为多个服务设置相同的密码。 在后一种情况下,一旦用户密码泄露,攻击者就可以在多个平台上同时黑入该用户的账户。 攻击者只需要在其他平台上尝试相同的密码组合。

闪电网络如何用于身份验证?

但是,我们是否可以使用其他安全登录方式来代替用户名和密码呢? 这现实吗?

比特币qt钱包发币地址_比特币放什么钱包最安全_比特币莱特币以太币钱包通用么

本文介绍 LNURL-auth 协议。 LNURL 是一组扩展闪电网络功能的协议(我们已经在关于闪电网络地址的文章中介绍了其中一个)。 具体来说,LNURL-auth 负责登录部分。

原则

所有闪电网络钱包的组成部分之一是私钥。 就像在比特币网络中一样,私钥是一个绝不能透露给任何人的随机数。 谁知道你的私钥谁就证明谁拥有你的比特币。

实际上,该网站向您发送随机数据,您使用您的私钥对该随机数据进行签名,然后返回签名和公钥。 网站随后会验证您的签名比特币放什么钱包最安全,如果签名正确,则您的身份验证成功。 这一切都取决于您知道您的私钥,并且您是它的唯一所有者。 没有私钥就无法创建有效签名。

事实上,用于身份验证的私钥与用于证明比特币所有权的私钥不同。 认证私钥是根据网站URL生成的,所以不同的网站使用不同的私钥。

您唯一需要关心的就是确保您的私钥安全。 通常,您可以使用种子短语(用于检索主私钥的 12 到 24 个单词)。

比特币放什么钱包最安全_比特币qt钱包发币地址_比特币莱特币以太币钱包通用么

优点和缺点

与传统的用户名密码登录方式相比,私钥登录有哪些优势?

您无需创建、记住或存储任何密码。 您甚至不需要填写用户名,只需“扫码”即可。 您的密码(在本例中为私钥)永远不会通过网络传输,因此无法被拦截。 每个服务的私钥生成方式不同,因此您的身份不可能跨多个服务链接(例如,如果您使用相同的电子邮件或用户名)。快速简单

缺点是什么?

到目前为止,很少有服务支持这种登录方式。 您必须拥有支持 LNURL-auth 技术的闪电网络钱包。 通过完全访问您的钱包,您拥有自己的身份。 您有责任确保您的助记词安全。练习

上面说的很清楚了,首先你需要一个闪电网络钱包。 对于这个例子,我强烈建议你选择一个非托管钱包(确保你拥有私钥),比如 Phoenix 或 Breez。 您还可以通过 Zeus 运行自己的节点。

比特币qt钱包发币地址_比特币放什么钱包最安全_比特币莱特币以太币钱包通用么

BlueWallet也支持这个功能,但是默认是托管的(即第三方持有私钥),所以不推荐。 目前中本聪钱包和Muun钱包不支持LNURL-auth技术。

您必须妥善备份您的钱包。 一旦你丢了钱包,你就失去了身份。 当然,您应该设置额外的身份验证方法(PIN、指纹、FaceID 等)来访问钱包。

有些人可能会发现以这种方式存储身份很危险。 但是,如果攻击者闯入您的手机并绕过生物识别身份验证以从您的钱包中窃取您的身份,他可以使用相同的方法窃取您存储在任何密码管理器中的密码。

就是这样 - 你不需要使用钱包来支付,你甚至不需要将比特币存入这个钱包。

哪里可以试用基于闪电网络钱包的登录方式? Stacker.News 就是这样一个例子。

综上所述

比特币qt钱包发币地址_比特币莱特币以太币钱包通用么_比特币放什么钱包最安全

然而,LNURL-auth 技术本身仍处于早期开发阶段。 因此,我们需要等待一段时间才能获得更广泛的支持,无论是在服务器端还是钱包端。

同时,我还要强调的是,这种登录方式不涉及“真人识别”,任何人都可以创建无限多的密钥/钱包(即身份)。 因此,这个问题必须单独处理。

无论如何,免费试用。 勇敢的来吧!

先进的

等等,就这样结束了吗? 如果你是一个极客,想深入了解这种概念,不妨和我一起从技术的角度来看一下LNURL-auth技术。

每个非托管钱包都有一个主私钥(如果没有,我们也有解决方案)。 推导路径 m/138'/0 包含所谓的 hashingKey。 我们将 hashingKey 与服务 URL 一起放入 HMAC 函数中:

比特币放什么钱包最安全_比特币莱特币以太币钱包通用么_比特币qt钱包发币地址

1output = HMAC-SHA256(hashingKey,来自 URL 字符串的域)

将输出的前16个字节拆分成4个等长的部分比特币放什么钱包最安全,得到所谓的linkingKey的推导路径。 linkingKey 对于每个服务 (URL) 都是唯一的。

1linkingKey = m/138'////

tag参数告诉我们这是LNURL-auth,action参数表示行为是登录(或注册等)。 另外,还有一个非常重要的参数k1,它包含了我们需要用linkingPrivKey签名的长度为32字节的随机数据。

同意登录对话框后,钱包以相同的 URL 响应,仅添加了 sig 和 key 参数:

sig= secp256k1 曲线上用私钥 linkingPrivKey 签名的随机数据 k1

key=linkingKey公钥

最后,服务验证签名是否正确。 验证后,服务会根据我们使用的 linkingKey 为我们分配一个身份。 在注册的情况下,该服务会为我们创建一个新身份。