KeePass 2 用了挺久,很长时间都只是使用了保存密码的功能,然后慢慢的开始接触了一些基本的功能。比如触发器同步、比如Totp插件、比如TAN功能。记录一下目前使用的功能。
自动输入
这是最主要的,既然用了密码管理器,那么保存的大部分都是使用随机生成的复杂密码,自动输入是少不了的。考虑到大部分账户是网页服务,所以使用过PassIFox之类的插件,但是实际使用下来,由于登陆并没有那么频繁,我个人的账户和数量问题,以至并不是太需要这类插件,而且这种方式会影响到本地搭建的梯子,所以回归了KeePass自身的输入功能。
使用自带的输入功能,需要面对两个问题,一个是窗口匹配问题,一个是系统输入法问题。
窗口匹配:如果账户真的很多,那么还是使用插件吧,如KeePassHttp和前面提到的PassIFox这类的插件,浏览器上可以实现如Lastpass中输入框自动匹配的功能。个人并没有太过于纠结,常用的账户直接手动配置Target Window,用的少的账户,复制粘贴也能接受。
头疼的是输入法问题,由于是模拟键盘输入,所以会受到系统当前输入法的干扰,开启切换到英文输入法的快捷键,当时是有效的,但重启就没有用了,解决办法还是得动注册表,将下面 注册表项保存为.reg导入注册表即可,方法已经有人造了轮子了,有详细的解释(https://zhuanlan.zhihu.com/p/36536521)
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000100] "Key Modifiers"=hex:02,c0,00,00 "Target IME"=hex:09,04,00,00 "Virtual Key"=hex:30,00,00,00 [HKEY_USERS\.DEFAULT\Control Panel\Input Method\Hot Keys\00000100] "Key Modifiers"=hex:02,c0,00,00 "Target IME"=hex:09,04,00,00 "Virtual Key"=hex:30,00,00,00
当然快捷键有效后,Keepass本身也是需要配置AutoType的,设置起来还是比较简单,无非就是按键顺序而已,先修改KeePass默认的AutoType,让默认的自动输入加入切换到英文输入法的快捷键。修改最上层的目录即可,下面的会自动继承。
当然,很多账户并不是直接就给两个框框给你输入的,所以有些常用账户还需要单个设置,比如我的微软账户,配置好之后是这样的 “^0{USERNAME}{ENTER}{DELAY 2000}{PASSWORD}{ENTER}{DELAY=1000}{TOTP}{ENTER}” ,效果如下动图,配置方法可以参考官方文档(https://keepass.info/help/v2/autotype_obfuscation.html)
两步验证
上面的微软账户开通了两步验证功能,而且实现了自动登陆,其实很简单,使用插件Tray TOTP(已失效,改进版本名称为KeeTrayTOTP)即可,对应账户获得密钥按正常操作生成二步验证码即可,可以右键复制Totp验证码,也可使用{TOTP}字段实现自动输入。而且该二步验证码码需要的密钥会保存到自定义字段,要是换手机,使用该密码重新配置验证器即可,默认字段是TOTP Seed。
保存二步验证到Keepass存在一定的风险问题,比如Keepass数据库的完全泄露什么的,这个自行选择了。
TAN功能
这个就是一个比较鸡肋的功能了,用来保存设置设置二步验证码后提供的一次性登陆码,复制一次即自动标记过期。个人感觉还不如直接记录到对用账户的备注中。。。。。。
同步问题
一个方法是将数据库直接存入同步盘中,直接从里面读取就可以了,该方法可以满足绝大部分人的需求了。存在的风险是,同步多个客户端的情况下,万一哪个客户端不小心删了,同步一下就没全了…,哪怕有其它备份也是件麻烦的事情。
我安全意识比较高(吃饱没事干),使用的第二种方法,使用的是本地的数据库(非同步文件),每次打开和保存都自动通过触发器同步到WebDav网盘,轮子在这里(http://www.cnblogs.com/gumuyueying/p/keepass2-sync-trigger.html),讲的非常的清楚了。比较龟毛的是,触发器属于软件配置,不会保存到数据库。。。
自定义字段
最后一个会用的是自定义字段,之前提到的二步验证的密码就是以自定义字段保存的,默认字段是TOTP Seed。
自定义字段有什么用呢,比如用来保存绑定该账户的邮箱,比如支付密码什么的,生成后的字段可以和用户名、密码一样,在自动输入中使用。根据自身需要,可以弄出一些奇葩的用法。
手机端Keepass2Android
用的Android手机,苹果手机用什么APP没关心过,上面提到的方法和保存的数据都可以在Keepas2Android中使用,同步功能直接从WebDav路径中打开即可,该APP会自动离线缓存、同步。
比较糟心的是APP搜索的字段,基本上找账户的时候都是手动搜索了,还好手机上基本登陆一次也不会随便退出,还是能接受的。
什么东西不会保存到Keepass
数字类的东西,不能丢的都在银行和支付宝之类的地方。SO,银行取款密码、各个数字钱包的支付密码最好还是自己设定一个加密方案放到自己脑袋里,如果一定要放数据库中,最好是掩饰成自己才知道的条目。
想要的功能
目前最想的一个功能就是:Windows 账户解锁和密码解锁两个都开启的情况下可以单独使用,也就是两个加密方式使用OR的方式解锁,而不是AND,我这种硬盘加密,Windows账户独立使用,还单独给账户划分权限,有这个功能还是能省去很多事情的。
参考:
https://keepass.info/plugins.html
https://www.exvs.org/post/79/
以前一直使用Keepass,结果后来手贱改了一次数据库密码,然后又隔了很长时间没有使用,再次使用时死活想不起来登录密码,悲剧。。。
你需要一个纸质的密码引导机制,如果没有,那只有用付费的那种可以找回主密码的软件了
其实敏感密码之类的也是可以扔进Keepass数据库里的,只不过加密数据库时必须选择“密码+密钥”,这样既能跨平台又足够安全。Keepass数据库随意丢无所谓,因为暴力破解只能跑出数据库密码,没有密钥还是进不去。密钥保存在本地(或者数据库和密钥都想扔在云端的话,可以数据库和密钥互斥,就是假如在Dropbox存了一份数据库,那么密钥就不要放在Dropbox公司的产品中,而是可以选择扔一份在谷歌网盘。当然还有最重要的,千万别选本国的网盘运营商。)这样搞完后,基本可以兼顾便携与安全性。
主要是存在密钥丢失的风险,个人并不是特别喜欢,因为系统硬盘做Bitlocker,用户账户又专用,我一直想用Windows USER ID OR Password的方式解密,但是在解密时要求AND的方式,希望后面能找到一个方便的解决方式吧