ReVault新安全归档格式
Show HN: ReVault – new secure archive format
reVault是一个新的、默认安全的归档格式,称为锁箱,设计得简单易用,支持多种操作系统和语言绑定,具有加密、签名、压缩等功能,并支持恢复和共享,目前处于beta阶段,正在寻找反馈,特别是关于不同语言绑定的意见。
reVault 是一种新的、默认安全的归档格式,称为保险箱,设计得易于使用。
我大约用了 2 年时间在开发 reVault。它最初是用 Dart 编写的,但随着人工智能的改进,我决定使用人工智能将其移植到 Rust 上。
现在它处于 Beta 版本,所以我正在寻找反馈,特别是在不同的语言绑定方面。
保险箱默认情况下是加密、签名和压缩的。每个都可以选择性地禁用。
- Hybrid post-quantum or passphrase encryption, including metadata.
- Zstd compression.
- Pure Rust libraries wherever possible.
我们打算随着替代方案的可用而逐步淘汰剩余的 C 代码。该项目已使用 OpenAI 的 Daybreak 网络安全工具进行了扫描。
手册正在开发中: https://docs.revault.onepub.dev/
reVault 支持 Linux、macOS 和 Windows,x64 和 arm64,以及 Wasm。核心是 Rust,具有 C/C++、Java、Dart、Python、Ruby、JS/TypeScript、Go、C#、Kotlin、Lua、PHP 和 Swift 的绑定。
在保险箱中,您可以存储:
- Files, directories, permissions and symlinks.
- Variables.
- Forms.
变量、表单和保险箱本身可以有描述。
reVault 使用便携式保险箱(只是一个具有结构化内容的保险箱)来存储您的密钥、联系人的密钥、保险箱别名和表单定义。
它与您平台的密钥库集成,因此登录到您的桌面会解锁您的保险箱。您不必每次访问保险箱时都输入密码短语。您可以禁用此功能。
有很多快捷方式。创建保险箱会根据其文件名或您选择的名字在您的保险箱中存储一个别名:
lbx create /some/path/mybox.lbox
lbx mybox open --duration 1h
lbx mybox var set KEY VALUE
设置默认保险箱后,您可以省略其名称:
lbx session default mybox
lbx var get KEY
您可以将目录树镜像到保险箱中,并在目录更改时更新它:
lbx store.lbox mirrors project create --from ./project --to /projects/project
lbx store.lbox mirrors update
API 允许您在不将文件提取到文件系统的情况下读取、写入和定位文件。每个保险箱都有一个目录,因此从多吉字节的保险箱中提取单个文件非常快。
恢复
更新是事务性的,对于失败的更新会自动回滚。该格式专为恢复而设计:内容存储在页面中,允许如果保险箱的一部分损坏,则恢复未受影响的内容。
共享
如果可以共享,则加密的保险箱更有用。
reVault 有一个开源的密钥服务器,用于交换公钥,并通过第二个可信通道进行验证。它仍然是实验性的。
OnePub 捐赠了一台服务器来运行单个密钥服务器。如果您有兴趣捐赠资源,我想提出第二个冗余服务器。它是纯 Rust,使用不到 100 MB RSS,并支持速率限制。
要发布您的默认配置的公钥:
lbx vault profiles email you@example.com
lbx vault profiles publish
将发布代码提供给您的联系人。他们可以导入您的密钥:
lbx vault contacts receive <publish-code> <contact-name>
显示您的配置文件的指纹并通过第二个可信通道交换它:
lbx vault profiles fingerprint
重复相反方向的过程以获取他们的密钥。一旦您有了它,就授予他们访问您的默认保险箱的权限:
lbx access grant alice
然后您可以将加密的保险箱通过电子邮件发送给 Alice。
要安装 CLI 并开始使用:
cargo install revault_cli
lbx vault init
lbx completion install
完成安装检测您的 shell。为了诊断问题:
lbx doctor
语言绑定已发布到各自的软件包存储库。
我正在寻找对项目本身的批评意见,特别是 API 和语言绑定。我对关于使用人工智能的辩论不感兴趣。
来源:Hacker News · news.ycombinator.com