reVault: Định dạng lưu trữ bảo mật mới với mã hóa hậu lượng tử

Phần mềm25 tháng 10, 2026·5 phút đọc

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:

  1. Công bố khóa công khai của hồ sơ mặc định bằng lbx vault profiles publish
  2. Gửi mã công bố cho người liên hệ để họ nhập khóa của bạn
  3. Hiển thị vân tay (fingerprint) và trao đổi qua kênh tin cậy thứ hai
  4. Lặp lại quy trình theo chiều ngược lại để có khóa của họ
  5. Cấp quyền truy cập bằng lbx access grant alice rồ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ó.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗