区块链 · 数字资产知识 · 行业资讯
文章库关于本站

数字资产知识

区块链应用认证涉及哪些技术概念:账户、签名与通行密钥

摘要

区块链应用认证涉及账户控制权、公私钥、数字签名、挑战响应和权限边界。以以太坊账户与 WebAuthn 为例,说明链上账户验证和网站登录的区别,以及通行密钥的适用条件和常见误区。

SGT区块链发行总量的科技主题配图

认证首先要明确验证对象

区块链应用认证涉及哪些技术概念,首先取决于应用要验证什么:用户能否控制某个链上账户,还是能否登录某个网站账户。两者都可以使用公钥密码学,但验证对象与凭证用途不同。认证证明凭证控制权,应用还需另外确定该身份能够执行哪些操作。

账户、公私钥与数字签名

以太坊账户文档区分外部账户与合约账户:外部账户由私钥控制,合约账户由代码逻辑控制。私钥用于签名,公钥及相关验证过程用于核验签名;地址用于标识账户。钱包则是与账户交互的应用或界面。

因此,仅知道一个地址不足以证明控制权。有效签名需要与所验证的消息对应,也不能单凭签名确定签署者的现实身份。合约账户的认证则需要考虑合约自身的验证逻辑,不能一律套用外部账户的私钥模型。

挑战响应与防重放

挑战响应让认证围绕本次请求展开:服务端提供随机挑战,客户端利用相应凭证生成可验证的响应。验证时需要核对挑战与请求是否匹配,避免把过去的响应当成新的认证证明。

以太坊交易中的 nonce 用于约束交易的重复执行。它与网站认证挑战都涉及防重放,但属于不同流程;链上交易的保护机制不会自动覆盖网站登录。

WebAuthn 与通行密钥的适用条件

MDN 的 WebAuthn 文档介绍了基于公钥凭证的网站认证:注册时服务端保存与用户关联的公钥,认证时验证认证器生成的响应。网页中的通行密钥通过 WebAuthn 实现,该接口要求安全上下文,通常是 HTTPS,并将认证与网站来源关联。

这类机制适合网站登录或多因素认证。区块链应用也可以采用它,但网站凭证和链上账户之间如何关联,需要应用明确设计;支持通行密钥并不自动意味着能够控制某个链上地址。

常见问题与权限边界

连接钱包是否等于完成登录?如果应用只是获得地址,尚不足以证明账户控制权。登录成功是否等于批准链上操作?登录验证与具体操作的授权范围需要分别定义,不能从一次认证推导出无限权限。

哈希是否就是签名?哈希用于形成数据摘要,数字签名结合密钥提供可验证的签署证明。理解这些边界,才能准确区分账户标识、凭证验证和业务授权各自承担的职责。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验