博客
10 分钟阅读
|
2022年8月28日

使用我们区块链API的6条安全建议

关于Chaingateway区块链API的6条实用安全建议:离线生成私钥、妥善使用冷存储保存密钥、在本地签名交易、避免把API创建的地址当作冷钱包、开启双重验证,并把API密钥放进每次请求的Authorization头部。

章节
C
Chaingateway Team
区块链专家

和互联网上的其他一切一样,把区块链用于个人或专业用途从来都不是100%安全的。尽管它是传输交易及其他信息最安全的方式之一,但你仍然可以采取一些措施,让与区块链API的通信更加安全。

在Chaingateway.io,我们的使命是让通过我们区块链API进行的所有交易和连接都安全可靠。在这篇博文中,我们将介绍一些重要的安全建议,你可以把它们纳入日常的区块链使用习惯,尽可能保证自身安全。

Chaingateway投入了大量精力,让所提供的区块链API尽可能安全。此外,可用的节点托管在与API端点不同的机器上,并且在其前面部署了代理。

如何安全地生成私钥

私钥对区块链的运作至关重要。私钥代表一段代码,它让私钥的持有者能够在区块链上进行交易和传输信息,同时能够证明对自己持有资产的所有权。

为确保你的私钥保持私密,一个好的做法是在离线状态下创建密钥。我们的API使用节点端的伪随机方法来生成私钥,由此生成的新地址可用于发送和接收资金。

不过,使用这种方法生成的是伪随机密钥,因为计算机无法生成真正随机的密钥。

生成私钥最好的方式是离线进行,例如借助骰子来实现真正的随机性。推荐这种做法是为了避免所谓的哈希碰撞,即两个不同输入产生相同的输出。黑客有可能通过哈希碰撞获得对你钱包的访问权限。

注意不要泄露私钥

确实存在真实的危险和情形,可能导致你的密钥泄露并暴露于风险之中。把私钥存放在离线账本或纸钱包上,是确保私钥真正安全的唯一方式。

对于长期存储(即所谓的”冷存储”),最好使用纸质或离线账本来保存私钥。把密钥保存在有互联网连接的手机或电脑上,是一个潜在的漏洞。即便是连接了互联网的打印机,也有可能被入侵。

把私钥存放在没有互联网连接的设备上,听起来可能微不足道,但这非常重要。2018年,超过十亿美元从热钱包中被盗,原因仅仅是因为它们存放在持续联网的机器上。

纸钱包是保存私钥最流行的方式之一,硬件钱包也是如此。硬件钱包是一块几乎始终处于离线状态的芯片。硬件钱包最大的风险在于有可能丢失。

交易应在你自己的机器上签名

签署交易是整个流程中重要的一环,它让信息能够在区块链网络上得到验证。这是通过一个依赖于交易细节、使用你私钥的数学函数来完成的。

当一个区块链用户准备提交一笔交易时,必须向网络上的每个用户证明,他想要花费的资金确实属于他。同时,这也防止了其他用户花费同一笔资金。这正是数字签名重要的原因,它使得对区块链上交易信息所有权的真实验证成为可能。

使用私钥表明该笔交易信息来自你的机器,而你就是该交易信息的合法所有者。这就是签名在理论上所代表的含义。

签署交易最安全的方式,是在你自己的机器上完成签名,再仅使用Chaingateway.io区块链API把它广播到区块链网络。你可以查看这段用于签署Tron交易的示例代码

避免把在Chaingateway.io区块链API上创建的地址用作冷钱包

在使用入账地址时请使用冷钱包,以避免账户可能出现的安全漏洞。存放冷钱包的理想地点,是藏在家中某处的防火保险箱。

冷钱包的好处在于,可以把入账地址保存在一个不联网的钱包中。通常,冷钱包会配有一款与钱包配合使用的软件,让用户可以查看自己的资产组合,而不会让资产组合暴露在风险之中。

用Chaingateway.io功能创建的地址不应该用作你的冷钱包。用于Tron的地址创建接口支持密码保护模式:私钥会被加密,API响应中不会包含它。不设密码时,响应会以明文形式返回私钥,这只适合临时或一次性使用的地址——对于你想保留的地址,应避免使用这种模式。为了安全起见,你能做的最好的事情就是尽可能频繁地更换地址,并为Chaingateway.io区块链API使用一个地址,为冷钱包使用另一个不同的入账地址。

立即转移资金并更换地址,会大大提高你的地址和私钥的安全性,因为这样可以让黑客无法访问一个已知的用户地址。如今,拥有硬件钱包已不再是一种选择,而是一种必需。

启用双重验证

这一点适用于所有互联网活动和所有在线账户,无论是个人账户还是工作账户。双重验证是最常用的账户保护方法,应当始终应用于所有账户。

而且,这种保护方式非常有效,因为它要求用户通过两个安全和保护步骤才能访问所需的账户。尽管互联网是一个危险的地方,许多用户使用的密码却非常容易被猜到。

双重验证在保护账户方面发挥着巨大作用,它确保只有合法用户才能访问该账户。在用户输入用户名和密码后,系统会要求他根据事先设置好的双重验证方式提供与账户相关的附加信息。

在请求中把API密钥添加为Authorization请求头

由于区块链中交易信息的性质,它是技术娴熟的黑客的首要目标,这些黑客会不惜一切手段访问不属于他们的账户,以非法牟利为目的操纵数据。

Authorization请求头包含关于用户凭证的重要信息,并利用这些凭证来验证试图连接的用户是真实可信的。一旦验证过程完成,该用户就被允许连接到服务器。

一条可以防止未经授权的访问和交易信息丢失的安全建议是:在请求中把你的API密钥添加为Authorization请求头。如需更多帮助,请查看我们文档中的这一章节

对区块链API而言,采取这些措施是必要的吗?

尽管区块链本身在设计上就相当安全,但随着加密货币日益流行,它已经成为技术娴熟黑客的主要目标。无论区块链本身有多安全,采取措施保护你的资产组合都可能是一种救命之举。

最好的做法是把上面列出的所有内容都付诸实践,以最大限度地发挥上文所解释的每一个步骤所带来的安全性。这将大大提高你钱包中以及区块链网络上一切资产的安全性。

准备好自己动手构建了吗? 获取你的 API key — 7 天试用,无需信用卡 — 或查看 区块链 API 获取完整的 endpoint 参考。

C
Chaingateway Team
区块链专家

Chaingateway 团队致力于为全球开发者简化区块链集成。