サービスごとのパスワードを生成するヘルパーツール書いた
マスタパスワードからサービスごとに異なるパスワードを自動生成するのが簡単な対策ですよね。
quoted from: http://d.hatena.ne.jp/kazuhooku/20130509/1368071543
これを読んで、確かに!と思ったので、そこそこ実用に耐えそうな程度にモジュール化してみました。
App::MyPasswd
https://github.com/bayashi/App-MyPasswd
mypasswd
上のモジュールに mypasswd
というコマンドが付いてきます。以下のような感じで使用します。
$ mypasswd --salt example.com
Input master password:
Again, input same master password:
use this: SRGPNbcA
--salt
でサービスのホストなんかを指定しておいて、master パスワードを別途入力して、その2つから生成した文字列を実際のパスワードとして利用する感じですね。
- マスターパスワードは表示させません
- デフォルトで SHA の b64digest で大文字小文字英数と記号のパスワードを生成
--only-number
オプションで数字だけのパスワードが生成できます--only-uc
または--only-lc
でアルファベットを大文字小文字だけにできます--no-symbol
で記号を使わないパスワードにできます
というように、サイトのパスワードの要件にあわせた生成オプションをつけてみました。
とはいえ実用的にはまだけっこう大変><
いろいろ複雑になってくると、生成コマンド自体を覚えておかないと再計算が難しいという問題がありまして、まあどうしよっかなーと思ったんですが、取り急ぎ自分は適当にディレクトリ/ファイルこさえてパスワード生成履歴を記録して git 管理する目論見。
サービスに登録したときにメモしておきたい内容もそこにぶっこんでしまう運用で良さそうな感じがしてる。
と、ここまで書いたところで、mypasswd --log path/to/file
とかやれて生成オプション記録されてれば楽かなとか思った。
srd
mypasswd --log path/to/file
これ実装しました。