Twaish/blackbox
GitHub: Twaish/blackbox
Blackbox 是一个适用于 Windows 和 Linux 的本地优先加密文件保险库,使用 AES-256-GCM 在本地加密文件与元数据,让用户完全掌控数据存储位置和同步方式。
Stars: 0 | Forks: 0
Blackbox
Local-first encrypted file vault for Windows and Linux
Download
·
Report Bug
·
Request Feature
Blackbox 是一个开源、本地优先的加密文件保险库,适用于 Windows 和 Linux。
文件和元数据在本地使用 AES-256-GCM 进行加密。保险库以标准目录的形式存储在您的文件系统上,允许您决定数据的存放位置,以及如何进行备份或同步。
## 功能
* 本地优先存储
* AES-256-GCM 认证加密
* 使用 scrypt 进行基于密码的密钥派生
* 加密的文件元数据
* 用于上传和文件访问的流式加密与解密
* 保险库目录直接存储在磁盘上
* 更改保险库密码无需重新加密已存储的文件
* 开源 (GPL-3.0)
## 工作原理
每个保险库包含:
```
vault/
├── manifest.json
├── data/
│ ├──
│ └── ...
└── meta/
├──
└── ...
```
### 加密模型
Blackbox 采用双密钥设计:
1. 使用 `scrypt` 从您的密码派生出密钥加密密钥 (KEK)。
2. 在创建保险库时会生成一个随机的数据加密密钥 (DEK)。
3. DEK 使用 KEK 进行加密,并存储在保险库清单中。
4. 文件和元数据使用 DEK 和 AES-256-GCM 进行加密。
这使得在更改密码时,无需重新加密保险库中的每个文件。
### 文件格式
加密文件存储格式如下:
```
[ IV | Ciphertext | Authentication Tag ]
```
其中:
* IV = 12 字节
* Authentication Tag = 16 字节
* Cipher = AES-256-GCM
## 存储
Blackbox 不需要数据库。
保险库内容作为加密文件直接存储在文件系统上,便于使用外部工具进行备份、移动和同步。
## 同步
Blackbox 不提供内置的云存储或同步功能。
由于保险库是标准目录,因此可以与以下工具配合使用:
* Syncthing
* Nextcloud
* Dropbox
* Google Drive
* iCloud Drive
* OneDrive
使用第三方同步服务时,加密的保险库数据可能会被复制到这些服务中。
## 安全说明
* 密码不会存储在保险库清单中。
* 保险库元数据在静态存储时会被加密。
* 加密和解密均在本地执行。
* 丢失保险库密码可能导致加密数据无法恢复。
* Blackbox 不提供密码恢复功能。
## 平台支持
* Windows 10+
* Windows 11
* Linux
## 安装
从项目的 Releases 页面下载最新版本。
或者,从源码构建:
```
git clone https://github.com/Twaish/blackbox.git
cd blackbox
npm i
npm run build:release:local
```
## 开发
```
npm i
npm run dev
```
构建生产环境的二进制文件:
```
npm run build:release:local
```
## 许可证
Blackbox 采用 GPL-3.0 许可证授权。
有关详细信息,请参阅 `LICENSE` 文件。
## 免责声明
没有任何软件能保证绝对的安全。您数据的安全性取决于密码强度、设备安全性、操作系统完整性以及备份习惯等因素。
在存储敏感信息之前,请审查源代码并评估该项目是否符合您的安全要求。标签:AES-256-GCM, MITM代理, 数据加密, 文件管理, 暗色界面, 本地优先, 桌面应用, 自动化攻击