从工作到现在已经丢了两个笔记本电脑了,我的电脑基本上都是工作、学习、生活一体,虽然平时有备份的习惯,大部分比较核心的资料都能找的回来,但有一个重要的问题却无可避免——Windows的登录密码就是摆设,这个大家都懂的……我的电脑文件肯定已经泄露,生活学习上的内容倒没什么,我也乐于分享,尽管拿去,但是工作上的文件性质就不同了,很多项目相关的资料都是涉密文件,被行业相关而又有心的人获取到,这种风险就不得而知了;再者,保留的一些浏览器密码,基本也是悲剧了,能改的就赶紧改掉吧!鉴于这种不愉快的经历,痛定思痛,觉得还是有必要寻求一种安全性相对较高的数据加密方案,下面这种方式虽然也有漏洞,但毕竟安全级别已经很高,不妨一试。
基本思路是先用VeraCrypt做硬盘数据加密,然后再用AES Encrypt做文件加密,当然所有加密文件均放在VeraEncrypt生成的加密盘区,文件加密用的密钥用KeePass来生成,密钥随机生成,而且这种算法如果没有密钥串,想用爆破的方式基本上不可能破解。KeePass密码数据文件虽然放在本地,但本身也是采用AES加密,如果没有主密码,也不可能通过数据文件来获取到你的密码。
总结一下,这种方案也就是用VeraCrypt+AES Encrypt+KeePass环环相扣的方式来加密,已经可以达到很优的加密级别了,唯一薄弱环节就是VeraCrypt和KeePass的主密码,虽然这两个工具也提供通过密钥文件进行解密的方式,但这种方式一是便利性不够,二是密钥文件又要想办法加密和隐藏,且又不能放在VeraCrypt加密区。当然如果希望足够安全,可以以牺牲便利性为代价,考虑将密钥文件放在其它存储介质中,比如U盘中,将U盘作为USB Key来使用。对于我们这种需要对加密文件进行频繁操作的用户,用密钥文件的方式就不太合适,只能通过提高密码强度来提高安全系数,建议主密码采用大小写字母+特殊字符+数字+密码长度大于20字符的密码组合,这种密码组合即使进行爆破,难度也非常大。
第一步,先来看一下VeraCrypt,提供一下传送门,下载地址:https://veracrypt.codeplex.com/,下载之后的使用过程也非常简单,这个软件实际上是在你的磁盘上开辟一块加密区,只有通过VeraCrypt软件(需要主密码)加载后,才能够对放在加密区的文件进行访问:
1.选择路径后(选择路径后,键入一个加密区名称,创建成功后将以文件的方式显示在该路径下),然后点击创建加密卷。
2.选择创建文件型加密卷(默认选项,建议入门用户使用)。
3.选择标准加密卷(默认选项)。
4.选择路径后,键入一个加密区名称,点击保存,创建成功后将以文件的方式显示在该路径下。
5.选择默认的AES算法即可。
6.下一步后,输入加密区的空间大小,可根据自己的加密文件需求和磁盘空间自由选择。
7.在这里要键入上文中提到的主密码,非常之关键,如果你忘记了主密码,而你设置的主密码又特别复杂,有可能这块加密区你再也打不开了,文件……想想非常可怕!
8.这里会生成磁盘加密的密钥,这个密钥是采集你当前的鼠标移动轨迹,来随机生成的,这种方式的基本上不可还原,也很难再现出现第二个相同的磁盘加密密钥。
9.然后点击初始化(Format),等待初始化完成就好。
10.创建完成后,就可以通过加载磁盘的方式来将这块加密区打开,选择盘符(注意不能选择已经占用的盘符,加载完成后,会看到这块加密区单独占一个盘符),然后点击加载(Mount)按钮。
11.点击加载后,会让你输入刚才设置的主密码,输入完毕后,在我的电脑中,就可以看到相应的盘符,此时这块磁盘就可以像正常盘符一样读写文件了。
12.当加密区使用完毕后,记得将这块加密磁盘卸载(Dismount)
第二步,再来看一下AES Encrypt,同样提供传送门,下载地址:https://www.aescrypt.com/download/,这个工具是通过AES算法来加密你的文件,在加密时会要求输入AES加密的密钥,在输入密钥后,会自动生成原文件名+扩展名+.aes的加密文件,这时需要我们手动将原文件删除,即加密完成。想打开原文件时,只需要通过AESEncrypt打开.aes的加密文件,然后输入文件的加密密钥,即可再次将文件还原,用起来非常方便。
但存在一个问题,我们的加密文件很多,如果都用同样的密钥,安全系数就低,如果设置很多密钥,到最后未免连自己都记不得了,到时候相当于丢文件,违背了加密的基本原则——数据安全性首先要保证数据不丢失!这里有两种方案,第一种是使用自己的规则性密钥,如文件名+后缀+自己定义的标识码(或自己的某个常用密码),这种方式既保证了密钥的多样性,又不至于把密钥弄丢;第二种的安全级别实际上更高,用起来也很方便,就是用KeePass来管理所有文件的AES加密密钥,所有密钥都是KeePass随机生成的字符串,如果不用KeePass连我们自己野不清楚密钥。
第三步,使用KeePass管理文件的AES加密密钥,再次提供传送门,下载地址:https://keepass.info/,这是一个完全开源的密码管理工具,理论上KeePass的主密码不丢,你的密码基本上没有被破解的可能性。
1.看一下KeePass的管理界面,需要输入第二步中的加密密钥时,可以复制文件名+后缀,然后在KeePass中点击新增密钥(addEncry)按钮:
2.Title和Username均填文件名+后缀,便于我们解密文件时的密钥查找,这里之所以没有考虑到文件重名的问题(在不同的路径下可能存在重名的文件),一是加密文件重名的概率比较小,二是即使重名也没关系,多个密钥可以依次验证。
截止到此处,采用VeraCrypt+AES Encrypt+KeePass的高级别文件加密,实际上已经完成,但KeePass的核心用法其实完全没得到使用,所以下面再额外说一下KeePass配合firefox实现各大网站密码随机生成和自动填充的方式,这种方式的好处一是可以保证各个网站密码的多样性,即使哪天某个网站又被撞库了,我们也不至于全军覆没;二是可以保证密码强度,休想爆破我们的密码;三是可以实现各网站用户名密码的自动填充,用户名忘了、密码忘了,统统没关系,有KeePass帮我们记得那,而且省掉了还需要我们手动输入的烦恼,下面来看一下具体实现步骤:
1.安全完KeePass后,需要在Firefox中安全KeeFox扩展,传送门地址:https://addons.mozilla.org/zh-CN/firefox/addon/keefox/,直接点击添加到Firefox即可。
2.在KeePass中安装KeePassRPC.plgx插件,传送门地址:https://github.com/kee-org/keepassrpc/releases/tag/v1.7.3.1,下载完后,将文件KeePassRPC.plgx放在安装路径下Plugins文件夹下,如C:\Program Files (x86)\KeePass Password Safe 2\Plugins,然后重启KeePass,这两步做好后,就具备完成Firefox和KeePass数据同步的条件了。
3.重启KeePass后,此时会有弹窗,而Firefox会打开一个新的标签页,请将KeePass弹窗里面的红色文字通信密码粘贴到Firefox新标签页的文本框中,这个是互相通时的校验密码,密码填错的话Firefox就无法从KeePass中读取账号和密码。
完成上述步骤后,就可以实现上面所说的自动在浏览器中填充用户名和密码。另外再推荐一下KeePass的备份插件,我现在在用的是DataBaseBackup,可以将密钥数据文件自动备份到其他的磁盘区,当然你也可以选择具有云备份功能的其他备份插件,保证密钥文件的安全性和使用便利性。