macOS Keychain app でパスワード保存は推奨しない


背景

Mac が故障してしまった(macbook で内蔵ディスクが認識しなくなった)
パスワードなど Keychain app(Applications -> Utility にあるやつ) で管理している.
同じ macOS バージョンのデバイスは一つしか持っていない.
time machine バックアップ + iCloud キーチェーン同期はしているが...

とりあえずの結論

Keychain app でパスワード管理はやめましょう.
クロスプラットホーム性のある KeePassX, 1Password などに移行したほうがよいでしょう.
(もしくは iPhone などでパスワード管理(=> パスワード長いときに PC にコピペはどうするのかな?))

ローカルのパスワードは iCloud バックアップされない

ローカル(e.g. login keychain)保存のパスワードは iCloud キーチェーンバックアップの対象外です!
time machine などでバックアップを取っていないと, mac が壊れたときデータをロストします!

ファイル単体でバックアップする場合,

https://support.apple.com/en-gb/guide/keychain-access/kyca1121/mac#:~:text=Keychains%20are%20usually%20located%20in,then%20open%20the%20Keychains%20folder.

~/Library/Keychains

にあるファイルをバックアップすればよいのがよいですが, macOS のバージョンが違うとよめませんでした.
(e.g. 10.15 Catalina のファイルを 10.14 でインポートしようとしたら失敗)

また, macOS 専用フォーマット(実体は sqlite3 あたりかと思われるが)なので, Windows とか Linux とかで読めません.

頑張れるが読めるかもはしれないが, フォーマット変わる可能性があるのでお勧めしない.

(おまけ) iPhone とかとの同期

Keychain app で iCloud をターゲットとしてパスワード保存しても, iPhone とかと同期できません.
Safari のパスワード管理でパスワード保存しないとだめでした
(Keychain app で開いたとき, アットマークアイコンがついてることを確認する)

iCloud バックアップしたパスワードは直接は見れない

iCloud の web サイトでログインしてもパスワードは直接は見れない.
なにかしら Apple デバイス(iPhone, Mac)が必要.

手元に Apple デバイスがひとつで, それが故障した場合, パスワードを見る手立てがありません.

結論

Mac がクラッシュしたとき, 基本は新規に Mac 用意してリカバリしないと Keychain 保存のパスワード見れません.

1Password や, Chrome/Google などでのパスワード管理, OSS がいいならデータはクラウド管理の bitWarden あたりを使ってパスワード管理がよいでしょう.

クラウドが不安な場合は KeePassX でしょうか.

KeePassX, bitWarden では Yubikey で認証もできます(Yubico は未対応(青いやつ))

TODO

  • Yubikey などで認証する場合, キーをなくしたときのリスクを考える(ブロックチェーンみたいにマルチシグな仕組みあるといいのかも?)