跳到正文
原文
Hacker News· bsutto·· 14 天前精选AI 评分70

ReVault新安全归档格式

Show HN: ReVault – new secure archive format

AI 摘要

reVault是一个新的、默认安全的归档格式,称为锁箱,设计得简单易用,支持多种操作系统和语言绑定,具有加密、签名、压缩等功能,并支持恢复和共享,目前处于beta阶段,正在寻找反馈,特别是关于不同语言绑定的意见。

正文 · 清洗整理版

reVault是一个新的、默认安全的归档格式,称为锁箱,设计得简单易用。 我已经大约工作了2年。 它最初是用Dart编写的,但随着AI的改进,我决定使用AI将其移植到Rust。 现在它处于beta阶段,所以我正在寻找反馈,特别是在不同的语言绑定方面。 锁箱默认情况下是加密、签名和压缩的。 每个都可以选择禁用。 - 混合后量子或密码短语加密,包括元数据。 - Zstd压缩。 - 尽可能使用纯Rust库。 我们打算随着替代方案的可用而逐步淘汰剩余的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的语言绑定。 在锁箱中,您可以存储:- 文件、目录、权限和符号链接。 - 变量。 - 表单。

变量、表单和锁箱本身可以有描述。 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和语言绑定。 我不感兴趣关于使用AI的辩论。

来源:Hacker News · news.ycombinator.com

00