在最近的一篇博客文章中,Hyperledger 项目宣布他们的最新项目 Hyperledger Ursa 已经被技术指导委员会(Technical Steering Committee,TSC)接受。 Ursa 的主要目标是以可信任,易使用的方式简化和整合加密库,以便这个库能以一种可互操作的方式用于分布式账本技术(distributed ledger technology)项目。
Ursa 项目拥有一个包括模块化签名和对称密钥原语(primitive)功能的综合库,开发人员可以通过配置使用不同的加密方案,而无需修改代码。 除了这个基础库,Ursa 还将包括新一代的加密技术,包括基于双线性对的(pairing-based)签名,阈值(threshold)签名和聚合(aggregate)签名。 除了这些签名之外,还将包括像 SNARK 这样的零知识(zero-knowledg)原语。
区块链安全性高度依赖于加密操作,但对于开发人员来说,选择恰当的实现是一项挑战。 富士通的密码研究员 Hart Montgomery 同时也是 Hyperledger TSC 成员,他解释说:
随着 Hyperledger 的成熟,Hyperledger 中的各个项目开始发现它们需要成熟的加密实现。 与其让每个项目都实现自己的加密协议, 不如在共享库上进行协作。
Hyperledger Ursa 项目总结出了以下几个优点:
避免以不同的区块链实现重复解决类似的安全需求。
当代码合并到一处时,更容易完成对加密操作的安全审计。对于那些缺乏分布式账本项目经验的开发人员,这减少了他们维护这些库的工作量,同时也改善了安全足迹(security footprint)。
针对所有加密代码进行专家审查,从而降低出现危险安全漏洞的可能性。
跨平台互操作性得到改善。这是因为需要加密验证的多个平台在双方平台上都使用了相同的安全协议。
通用组件的模块化为未来采用公共组件的模块化分布式账本平台奠定了框架基础。通用组件(如安全)的成功参考实现会创造未来的机会。
如果可以集成现有的安全范式而无需自己构建,那么新项目可以加快产品上市的时间。
由于 Hyperledger Ursa 尚处于起步阶段,该项目有广泛的未来计划,包括进一步投入对 Minicrypt 的模块化,Montgomery 解释说:
我们的第一个库是我们的“基础加密”库。 现在我们专注于我们共享的模块化签名库,但我们计划对其进行扩展,以便在 Minicrypt 中能轻松模块化所有常用的加密原语。 这项工作正在进行中,包括使用通用 API 实现几种不同的签名方案,允许区块链构建者几乎可以即时地更改签名方案,或者轻松使用和支持多种签名方案。 确切的实现和 API 尚未最终确定,但它们正在进行中。
Project Ursa 的库不包含原始加密实现,而是选择用包装器(wrapper)包装现有库中的代码。 Montgomery 这样描述其好处:
这种做法的新颖之处是模块化和 API,它使区块链平台能够轻松使用各种可替换的加密算法,而无需理解底层的数学算法或与其交互。
Ursa 主要用 Rust 编写,但是将来会提供所有 Hyperledger 中常用语言的接口,包括 Go、Python 和 Java。 Ursa 的存储库可以在 GitHub 上找到。
GitHub 地址:https://github.com/hyperledger/ursa
查看英文原文:
https://www.infoq.com/news/2018/12/Hyperledger-Ursa-Security
评论 1 条评论