Skip to content

Instantly share code, notes, and snippets.

@pandada8
Last active August 26, 2022 10:01
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pandada8/625b68584ad0d8f9c100b1a94b0b3557 to your computer and use it in GitHub Desktop.
Save pandada8/625b68584ad0d8f9c100b1a94b0b3557 to your computer and use it in GitHub Desktop.
完全使用 Yubikey 进行密码管理

完全使用 Yubikey 进行密码管理

目标:不依赖第三方服务

密码存储和管理

使用 gopass 管理密码,gopass 是 https://www.passwordstore.org/ 的 go 语言实现。密码会被加密之后存储到 git repo 里,多个设备间使用 git 进行同步。

Chrome && Firefox

使用 https://github.com/gopasspw/gopassbridge, 采用 Chrome/Firefox 提供的 stdin/stdout rpc 和本地文件系统的 gopass binary 进行交互,配置简单,可以自动填充密码,支持 Basic Auth

Android

使用 OpenKeyChain + Password Store 需要单独生成一个 ssh keypair 给安卓手机同步 git repo, 同时需要想办法把 GPG key 放到手机上。已知的方法:

  1. 直接把私钥丢上去,如果手机丢了就依靠 Google 远程抹手机
  2. OTG 插上一个 Type C 的 yubikey. 有点丑但是安全

iOS

使用 pass for ios。iOS 目前对 USB 外设支持较差,但是系统安全性感觉还行,可以考虑丢秘钥上去。

Glitch

  1. Yubikey NFC 很香,但是 GPG Card 这个功能不能走 NFC ,暂时没标准。
  2. GPG2 会独占 Yubikey,所以如果要用 PIV 功能,得 patch GPG2

优点

  1. 不依赖任何 Vendor
  2. 以上方案都支持 TOTP (比如 Google Authenticator 用的)(但是不支持 SteamGuard)
  3. 你可以在密码加密中写 user 等元信息,一部分工具支持自动填充。
  4. 使用 GPG 时可以生成一个 subkey 来专门用来 ssh.

Ref

  1. 官方文档:https://www.passwordstore.org/
  2. Gopass Security: https://github.com/gopasspw/gopass/blob/master/docs/security.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment