EFV — Encrypted File Vault(暗号化ファイルボールト)
概要
EFV(Encrypted File Vault)は、AES Crypt 形式の暗号化ファイル群を堅牢に管理することを目的にした、Rust製のスプリットボールト管理ツールです。設計上、ファイルの暗号化本体と検索・管理用のインデックス(メタデータ)を分離し、データベースには SQLCipher を用いることでディスク上の永続化データを暗号化します。さらに、既存の「平文で保持されている」レガシーデータを安全に移行するための「zero-plaintext」アップグレードパスを重視し、秘密情報のメモリ中残留を防ぐ zeroize、アクセス制御に secure-gate を導入するなど、安全性を意識した設計が特徴です。現状はプレリリースアルファであり、実運用環境での使用は推奨されていません。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 4
- ファイル数: 9
- メインの言語: Rust
主な特徴
- スプリットボールト設計:暗号化データ本体(AES Crypt)とインデックス(SQLCipher)を分離
- レガシー資産の「zero-plaintext」アップグレード経路を用意
- Rust の安全性機構に加え、zeroize・secure-gate による秘密情報保護
- プレリリース(アルファ)段階で公開作業中、実運用は非推奨
技術的なポイント
EFV の設計で注目すべき点は「分離」と「最小露出」の原則です。まずスプリットボールトとは、実ファイル(暗号化されたバイナリ)とその検索・管理用メタデータ(インデックス)を物理的・論理的に分けるアプローチです。本プロジェクトではメタデータ側に SQLCipher(SQLite の暗号化層)を想定しており、インデックス自体を暗号化して保管することで、ファイルリストや属性情報の漏洩リスクを低減します。一方でファイル本体は AES Crypt 形式を前提にしているため、既存の AES Crypt 互換ワークフローと統合しやすくなっています。
「zero-plaintext」アップグレードは、過去にプレーンテキストで保管されていた情報を、運用停止や条件付きの移行を経ずに安全に暗号化済みアーカイブに移すことを想定した方針です。これを実現するために、メモリ中に平文が残らないよう zeroize(Rust のクリアリングを行うクレート)を多用し、シークレット値の露出を避けます。また secure-gate の導入は、認可レイヤや保護境界の確立に寄与し、API や鍵管理操作に対するアクセス制御やガードを強化します。
実装面では Rust を採用しているため、型システムと借用チェッカによるメモリ安全性が期待できます。ただし、暗号実装や鍵のライフサイクルは運用上の重要点であり、ライブラリ選定(例:ring、rust-crypto 等)や安全なランダムソース、シークレットの保護(ディスク上・スワップ・ページングへの配慮)など、さらに監査と実運用テストが必要です。README にある通り現段階はアクティブなワークベンチで、v0.1.0 で履歴をクリーンにした上で初の実用リリースを目指す計画が記載されています。現状はプロトタイプ的要素が多く、実使用前にコード監査とセキュリティレビューが必須です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- CHANGELOG.md: file
- Cargo.toml: file
- LICENSE-APACHE: file
- LICENSE-MIT: file
…他 4 ファイル
リポジトリは小規模で、現状は初期実装と設計メモ、ビルド定義(Cargo.toml)やライセンス類が揃っている状態です。README によると履歴はクリーンアップされる予定で、v0.1.0 で実運用向けの面が整えられる計画です。
まとめ
分割設計とメモリ安全を重視した暗号ファイル管理の実験的実装。監査後の v0.1.0 を待ちたいプロジェクトです。
リポジトリ情報:
- 名前: encrypted-file-vault
- 説明: EFV – Hardened split-vault manager for AES Crypt files (real release at v0.1.0+)
- スター数: 1
- 言語: Rust
- URL: https://github.com/Slurp9187/encrypted-file-vault
- オーナー: Slurp9187
- アバター: https://avatars.githubusercontent.com/u/112834292?v=4
READMEの抜粋:
EFV – Encrypted File Vault [PRE-RELEASE ALPHA]
Current version: 0.0.0(開発中)
First public release: v0.1.0(クリーンな履歴、監査済みの表面、実用性を備えたリリース予定)
This repository is a live workbench. It will be deleted and replaced with a clean history at v0.1.0.
Do not use EFV with real data yet.
Everything here is being built in the open:
- Split-vault design (SQLCipher + separate index)
- Zero-plaintext legacy upgrades
- zeroize + secure-gate everywhere …