reVault: Định dạng lưu trữ bảo mật mới với mã hóa hậu lượng tử
reVault là định dạng lưu trữ mã nguồn mở mới có tên 'lockbox', mặc định mã hóa, ký và nén dữ liệu. Dự án viết bằng Rust, hỗ trợ hơn 12 ngôn ngữ lập trình và đang ở giai đoạn beta, hướng tới người dùng cần chia sẻ dữ liệu an toàn.
reVault: Định dạng lưu trữ bảo mật mới với mã hóa hậu lượng tử
reVault vừa được giới thiệu trên diễn đàn Hacker News như một định dạng lưu trữ bảo mật mới mang tên lockbox, được thiết kế theo nguyên tắc "bảo mật mặc định" (secure-by-default). Dự án do một nhà phát triển độc lập dành khoảng 2 năm xây dựng, ban đầu viết bằng Dart và sau đó chuyển sang Rust nhờ sự hỗ trợ của các công cụ AI.
Phiên bản hiện tại đang ở giai đoạn beta, và tác giả đang tìm kiếm phản hồi từ cộng đồng, đặc biệt là về các ràng buộc ngôn ngữ (language bindings).
Lockbox hoạt động như thế nào?
Mỗi lockbox theo mặc định sẽ mã hóa, ký số và nén dữ liệu. Người dùng có thể tắt từng tính năng này một cách chọn lọc nếu cần. Các đặc điểm chính bao gồm:
- Mã hóa hậu lượng tử (post-quantum) dạng lai hoặc dùng passphrase, bao gồm cả phần metadata
- Nén Zstd giúp giảm dung lượng lưu trữ
- Ưu tiên các thư viện Rust thuần ở mọi nơi có thể, với mục tiêu loại bỏ dần phần mã C còn lại khi có giải pháp thay thế
Dự án cũng cho biết đã được quét bằng các công cụ an ninh mạng Daybreak của OpenAI. Tài liệu hướng dẫn vẫn đang trong quá trình hoàn thiện.
Đa nền tảng và đa ngôn ngữ
reVault hỗ trợ Linux, macOS và Windows trên kiến trúc x64 và arm64, cùng với Wasm. Phần lõi viết bằng Rust, đi kèm ràng buộc cho rất nhiều ngôn ngữ lập trình:
- C/C++, Java, Dart, Python, Ruby
- JavaScript/TypeScript, Go, C#, Kotlin, Lua, PHP và Swift
Bên trong một lockbox, người dùng có thể lưu trữ tệp tin, thư mục, quyền truy cập và liên kết tượng trưng (symlink), cùng với các biến (variables) và biểu mẫu (forms). Mỗi biến, biểu mẫu và bản thân lockbox đều có thể có phần mô tả riêng.
Kho khóa di động và tích hợp hệ thống
reVault sử dụng một vault di động — về bản chất cũng là một lockbox với nội dung có cấu trúc — để lưu trữ khóa của bạn, khóa của người liên hệ, bí danh (alias) của các lockbox và định nghĩa biểu mẫu.
Công cụ này tích hợp với secure store của hệ điều hành, nên khi bạn đăng nhập vào máy tính là vault đã được mở khóa. Nhờ đó, bạn không phải nhập passphrase mỗi lần truy cập lockbox — tuy nhiên vẫn có thể tắt tính năng này nếu muốn kiểm soát chặt hơn.
Câu lệnh ngắn gọn và linh hoạt
reVault cung cấp nhiều lệnh tắt tiện dụng. Khi tạo lockbox, hệ thống tự lưu một bí danh trong vault dựa trên tên tệp hoặc tên bạn chọn:
lbx create /some/path/mybox.lbox
lbx mybox open --duration 1h
lbx mybox var set KEY VALUE
Bạn cũng có thể đặt lockbox mặc định để không cần gõ tên mỗi lần:
lbx session default mybox
lbx var get KEY
Đáng chú ý, tính năng mirror cho phép sao chép một cây thư mục vào lockbox và tự động cập nhật khi thư mục thay đổi:
lbx store.lbox mirrors project create --from ./project --to /projects/project
lbx store.lbox mirrors update
API mạnh mẽ và khả năng phục hồi
API của reVault cho phép đọc, ghi và tìm kiếm (seek) bên trong tệp mà không cần giải nén ra hệ thống tệp. Mỗi lockbox có một bảng mục lục (table of contents), giúp trích xuất một tệp đơn lẻ từ lockbox hàng gigabyte diễn ra rất nhanh.
Các thao tác cập nhật được thực hiện theo cơ chế giao dịch (transactional), tự động rollback nếu cập nhật thất bại. Định dạng được thiết kế cho khả năng phục hồi: nội dung lưu theo trang (page), nên nếu một phần lockbox bị hỏng, các phần còn lại vẫn có thể khôi phục được.
Chia sẻ an toàn giữa nhiều người
Một lockbox mã hóa sẽ hữu ích hơn nếu chia sẻ được. reVault có keyserver mã nguồn mở để trao đổi khóa công khai, kèm xác thực qua kênh tin cậy thứ hai — dù tính năng này vẫn đang ở mức thử nghiệm.
OnePub đã tài trợ một máy chủ để chạy keyserver. Tác giả cho biết đang tìm nguồn tài nguyên để dựng thêm máy chủ dự phòng thứ hai; keyserver viết thuần Rust, dùng dưới 100 MB RAM và hỗ trợ giới hạn tần suất truy cập.
Quy trình chia sẻ khóa gồm các bước:
- Công bố khóa công khai của hồ sơ mặc định bằng
lbx vault profiles publish - Gửi mã công bố cho người liên hệ để họ nhập khóa của bạn
- Hiển thị vân tay (fingerprint) và trao đổi qua kênh tin cậy thứ hai
- Lặp lại quy trình theo chiều ngược lại để có khóa của họ
- Cấp quyền truy cập bằng
lbx access grant alicerồi gửi lockbox đã mã hóa qua email
Cài đặt và bắt đầu
Để cài đặt CLI và khởi động, bạn có thể dùng Cargo:
cargo install revault_cli
lbx vault init
lbx completion install
Lệnh hoàn thiện (completion) sẽ tự phát hiện shell của bạn. Khi gặp sự cố, dùng lbx doctor để chẩn đoán. Các ràng buộc ngôn ngữ được phát hành trên kho gói tương ứng của từng ngôn ngữ.
Tác giả cho biết muốn nhận góp ý xây dựng về chính dự án — đặc biệt là API và các ràng buộc ngôn ngữ — chứ không muốn tranh luận về việc dùng AI để viết lại mã nguồn.
Góc nhìn cho người dùng Việt Nam
Với các đội phát triển tại Việt Nam đang xây dựng sản phẩm cần lưu trữ dữ liệu nhạy cảm hoặc chia sẻ tài liệu nội bộ an toàn, reVault là một lựa chọn đáng theo dõi. Việc hỗ trợ sẵn Python, JavaScript/TypeScript, Java, Go và C# giúp dễ tích hợp vào các hệ thống backend phổ biến.
Tuy nhiên, cần lưu ý dự án vẫn ở giai đoạn beta, keyserver còn thử nghiệm và tài liệu chưa hoàn chỉnh. Các tổ chức nên đánh giá kỹ trước khi đưa vào môi trường sản phẩm, và nên cân nhắc tự vận hành keyserver riêng thay vì phụ thuộc vào hạ tầng công cộng duy nhất hiện có.
Bài viết liên quan

Công nghệ
Vì sao tôi trở thành lập trình viên: Hành trình từ những chiếc đĩa mềm đến thế giới lập trình
25 tháng 10, 2026

Công nghệ
JetBrains ra mắt ThinkRail: IDE tác tử tự học hỏi theo cách bạn lập trình
25 tháng 10, 2026

Công nghệ
UTS #39: Cơ chế bảo mật của Unicode và bài toán chống giả mạo định danh
25 tháng 10, 2026