HN 日本語サマリー

← 一覧へ戻る
プログラミング

Show HN: ReVault – 新しいセキュアなアーカイブフォーマット

Show HN: ReVault – new secure archive format (news.ycombinator.com)

3 pointsby bsutto1 コメント

要約

reVaultは、シンプルさを目指して設計された、デフォルトでセキュアな新しいアーカイブフォーマット「lockbox」です。Rustで書かれ、ハイブリッドポスト量子暗号化、Zstd圧縮、クロスプラットフォーム対応、多様な言語バインディングを備えています。キー管理や共有のための機能も提供し、現在ベータ版でフィードバックを募集しています。

全文翻訳

reVaultは、使いやすさを目指して設計された、デフォルトでセキュアな新しいアーカイブフォーマット「lockbox」です。

reVaultは、約2年間開発してきました。当初はDartで書かれていましたが、AIの進歩を受けて、AIを活用してRustに移植しました。

現在はベータ版であり、特に様々な言語バインディングに関するフィードバックを求めています。

lockboxはデフォルトで暗号化、署名、圧縮されます。それぞれ選択的に無効化することも可能です。

  - メタデータを含む、ハイブリッドポスト量子暗号化またはパスフレーズ暗号化。
  - 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用のバインディングがあります。

lockbox内には以下を保存できます:

  - ファイル、ディレクトリ、パーミッション、シンボリックリンク。
  - 変数。
  - フォーム。

変数、フォーム、およびlockbox自体に説明を付けることができます。

reVaultは、キー、連絡先のキー、lockboxエイリアス、フォーム定義を保持するために、ポータブルなボルト(構造化されたコンテンツを持つ別のlockbox)を使用します。

プラットフォームのセキュアストアと連携するため、デスクトップにログインするとボルトがアンロックされます。lockboxにアクセスするたびにパスフレーズを入力する必要はありません。これを無効にすることもできます。

多くのショートカットがあります。lockboxを作成すると、そのファイル名または選択した名前に基づいて、ボルトにエイリアスが保存されます:

  lbx create /some/path/mybox.lbox
  lbx mybox open --duration 1h
  lbx mybox var set KEY VALUE

デフォルトのlockboxを設定すると、その名前を省略できます:

  lbx session default mybox
  lbx var get KEY

ディレクトリツリーをlockboxにミラーリングし、ディレクトリが変更されたときに更新できます:

  lbx store.lbox mirrors project create --from ./project --to /projects/project
  lbx store.lbox mirrors update

APIを使用すると、ファイルをファイルシステムに展開せずに、ファイル内を読み取り、書き込み、シークできます。各lockboxには目次があるため、数ギガバイトのlockboxから単一のファイルを展開するのは高速です。

リカバリ

アップデートはトランザクショナルであり、失敗したアップデートは自動的にロールバックされます。フォーマットはリカバリのために設計されています。コンテンツはページに保存されるため、lockboxの一部が破損した場合でも、影響を受けないコンテンツをリカバリできます。

共有

暗号化されたlockboxは、共有できるとより便利です。

reVaultには、公開鍵を交換するためのオープンソースのキーサーバーがあり、2番目の信頼できるチャネルを通じて検証が行われます。これはまだ実験的です。

OnePubは、単一のキーサーバーを実行するためのサーバーを寄付しました。リソースの寄付に興味がある場合は、2番目の冗長サーバーを立ち上げたいと考えています。これは純粋なRustで、100MB未満のRSSしか使用せず、レート制限をサポートしています。

デフォルトプロファイルの公開鍵を発行するには:

  lbx vault profiles email you@example.com
  lbx vault profiles publish

発行コードを連絡先に渡してください。彼らはあなたの鍵をインポートできます:

  lbx vault contacts receive <publish-code> <contact-name>

プロファイルのフィンガープリントを表示し、2番目の信頼できるチャネルを通じて交換してください:

  lbx vault profiles fingerprint

相手の鍵を取得するために、逆のプロセスを繰り返してください。鍵を取得したら、デフォルトのlockboxへのアクセスを許可します:

  lbx access grant alice

その後、暗号化されたlockboxをAliceにメールで送信できます。

CLIをインストールして開始するには:

  cargo install revault_cli
  lbx vault init
  lbx completion install

完了インストールの検出は、お使いのシェルを認識します。問題を診断するには:

  lbx doctor

言語バインディングは、それぞれのパッケージリポジトリに公開されています。

プロジェクト自体のメリット、特にAPIと言語バインディングについて、建設的な批判を求めています。AIの使用に関する議論には興味がありません。