EOSIO工具发布—WEBAUTHN示例应用更新


EOSIO 2的稳定版引入对WebAuthn的支持,之后,应用开发者可以开始集成其设备对YubiKeys和其它WebAuthn支持的2FA(双因素认证)设备的支持。今天我们荣幸地宣布我们对WebAuthn示例应用程序进行更新,给开发人员一个一站式的服务,让有兴趣在项目中集成WebAuthn的开发人员能够利用设备,如YubiKey,在签署交易的时候进行2FA认证。

WebAuthn允许用户使用硬件设备,如YubiKeys,在浏览器中进行2FA认证,而不需要在设备中安装插件或其它软件。我们很高兴地看到EOSIO开发者能够在EOSIO应用中建立对WebAuthn 2FA的支持,该技术是万维网联盟(W3C)的著名的科技公司开发的。

在EOSIO中支持WebAuthn有助于区块链应用实现更安全和无缝的验证。我们鼓励应用开发者能够加入第一波早期参与者队伍,来测试这项针对区块链平台的技术,我们也会继续探索机制支持新兴企业和其它企业为这项创造性的科技进行应用评级。

密码问题

单单依靠基于密码的保密措施不一定就够了。骗子会用层出不穷的各种方法欺骗轻信的受害人,他们会靠钓鱼、物理安全漏洞、恶意网站或嵌入链接、甚至冒用账号欺骗他人点击恶意链接。如果这些罪犯成功了,那么服务器就出现了漏洞、密码也就泄露了。

而WebAuthn 2FA则给高风险交易提供了一个稳健的安全层,让现有区块链应用最好的做法都更上一层楼。在支持WebAuthn的设备,如YubiKey,中,用户想要验证的每个应用都可以进行注册。公钥只开放给该特定应用,而私钥则封存在YubiKey中。注册以后,用户可以轻轻点击YubiKey就给区块链交易提供2FA验证。WebAuthn设备作为2FA层启用之后,它就能减少恶意账户访问。

WebAuthn在管理2FA验证凭证的时候是完全在硬件设备内部完成的,因此它几乎可以减少所有类型的攻击,如钓鱼等。用户会一直处于被保护状态,因为没有硬件设备进行验证的话,一般依靠窃取密码行动的犯罪分子根本不能绕过2FA路障。

工作方法

我们发布了更新过的WebAuthn示例应用以供参考,这个应用描述了开发者如何为用户在签署可能的高风险交易时集成基于WebAuthn的2FA层。开发者要注意的是,为了成功地使用带着WebAuthn示例应用的2FA设备,如YubiKey,他们需要参考EOSJS v21.0.0候补版,直到稳定版发布。

在实例应用中,用户登录到财产租赁应用Tropical中。该应用支持两种交易:“连接”财产的低风险交易和“租赁”财产的高风险交易。用户遵循以下步骤部署YubiKey作为其进行“租赁”财产的高风险中交易中的2FA方法。

WebAuthn示例应用为开发者提供了一个一站式的体验,了解如何执行基于WebAuthn的2FA

首先用户登录。接下来他们从下拉菜单中选择“Enable WebAuthn 2FA(启动WebAuthn 2FA)”。WebAuthn 2FA对可能是由内置传感器,如Macbook pro上的TouchID,或USB密钥,如YubiKey。用户可以自己选择,并通过在TouchID传感器录入指纹、插入YubiKey设备,或在NFC传感器接收范围放置YubiKey。最后验证完成之后,其选择的2FA方法也就注册完成。

用户在执行需要2FA的高风险活动的时候,他就向服务器提出了一个挑战。作为回应,服务器利用用户公钥和与该高风险活动(这里为租赁财产)相关的可靠数据共同产生的私钥签署返回该挑战。用户受到服务器的回应之后就要提出新的要求,此时即利用2FA进行用户验证。一旦验证通过,这个挑战就变成一个可以被验证的交易,接下来就被发布到区块链上。

一旦启用,基于YubiKey的WebAuthn 2FA的功能就被要求签署任何被认为是“高风险”的交易。

开发者可以参考WebAuthn示例应用发布笔记,对如何启用基于WebAuthn的2FA的各项步骤有更深入的理解,让用户进行高风险交易的时候多一重安全。

社区开发者的反馈

本示例应用展示如何在EOSIO应用中支持WebAuthn,但是我们也很期待着看到开发者社区在开发环境中测试和采用该功能的方法。我们现在正寻求开发者的反馈,若您在EOSIO应用中集成了WebAuthn,您的反馈能够帮我们理解更多用例,让我们知道这项技术还会在哪些地方帮助EOSIO应用。

EOSIO品牌下的YubiKeys很快就会推出,让开发者能够在EOSIO应用中集成对WebAuthn的支持。今天就加入首批测试者的队伍,在你的应用中搭建2FA支持,帮助我们建立安全的生态。

本文链接地址:https://www.wwsww.cn/eos/3521.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。