25 ポイント 投稿者 xguru 2025-11-25 | 7件のコメント | WhatsAppで共有
  • パスワード保管庫(vault)が不要なパスワードマネージャーで、マスターパスワード + realm文字列を組み合わせ、常に同じパスワードをその場で生成する
  • どのデバイスでも同じ入力さえあれば同じパスワードを再現できるため、バックアップ・同期・サードパーティへの信頼の問題そのものがなくなる
  • 単純なパスワードだけでなく、ECC/RSAキー・rawバイトストリーム・seedファイルなど多様な種類のキー生成をサポート
  • 強いエントロピーが必要な場合に備え、暗号化されたseedファイルを作成して高強度キー生成にも活用可能(AES-256-GCMで暗号化)
  • CLI中心のツールで、-p, -r, -t などを組み合わせることで、URLベースのログインパスワードからx25519・ed25519キーまですべて再現可能
  • 出力は基本的に stdout で提供され、-o オプションでファイル保存可能
  • サポートされる出力タイプ
    • pass: 一般的なパスワード生成
    • seed: 暗号化されたシードファイル生成
    • raw: 32バイトの乱数ストリーム生成
    • ec256, ec384, ec521: ECC秘密鍵生成
    • rsa2048, rsa4096: RSA秘密鍵生成
    • x25519, ed25519: Curve25519ベースのECCキー生成
  • 2つの動作モード
    • Simple mode: マスターパスワードとrealm文字列だけで派生パスワードを生成
      • 各組み合わせごとに固有の結果を生成し、別途保存は不要
      • ただし、セキュリティレベルはマスターパスワードの強度に依存
    • Seed file mode: シードファイルをエントロピーソースとして使用し、より高い安全性を確保
      • シードファイルは AES-256-GCM で暗号化されるため、外部ストレージ(例: Google Drive, Dropbox)にも安全にバックアップ可能
      • マスターパスワードはシードファイル保護用としてのみ使用される
  • Go言語ベースのCLIユーティリティで、go install github.com/cloudflare/gokey/cmd/gokey@latest コマンドでインストール可能
  • Cloudflare が開発したオープンソース

7件のコメント

 
sngwn 2025-11-25

https://pashword.app/
これととてもよく似ていますね。

 
crawler 2025-11-25

本当に良いアイデアのように思えますが、他のサービスがストレージを持っているのにはすべて理由があるのだと思います。
これを使うとしても、サイトでパスワードを変更しろと言われるたびに、回数にせよキーにせよ情報を何十個も覚えておかなければならないでしょうし...

 
hided62 2025-11-25

パスワードも一種のキーだとするなら、鍵導出関数さえ適切に使えば不可能ではないでしょう。

pw = kdf(master_key, site_id, {salt})

site_id をドメインにするのか、それともサイト固有の値にするのかを決めればよく、
毎月変更を強制してくる面倒なところなら、そのたびに salt を変えればいいわけです。

 
t7vonn 2025-11-26

では結局、ソルトもサイトごとに保存しておく必要があるのではないですか?(笑)

 
t7vonn 2025-11-25

ドメインが変わったり、複数使う場合はだめそうですね..

 
howudoin 2025-11-25

こういうやり方のほうがずっといい。
パスワードに記号や数字をいくつか入れろ、3か月ごとに変えろ、みたいな管理を押しつけるサイトのせいで台無しになる。
実質的なセキュリティ上の脅威は、セキュリティが何かも分かっていないサイトの企画担当者のほうがむしろ生み出している。

 
say8425 2025-11-25

ああ……「実質的なセキュリティ上の脅威は、セキュリティが何かを分かっていないサイト企画者のほうがもっと引き起こす」には同意します。
ふと、いくつか嫌な記憶がよみがえりますね……