什么是多因素验证?为何要使用多因素验证来保障密码管理的安全?
随着网络用户数据的泄露问题日益严重,单纯使用用户名和密码来保护用户资料已不够安全。主要的网络服务都开始使用多因素验证来进一步保护用户数据安全。多因素验证的英文是Multi-factor authentication,常缩写为MFA。
多因素验证
MFA是通过结合两个或多个独立的凭证来识别用户,如:用户知道什么(比如,PIN),用户有什么(比如,U盾或密码器),或用户是什么(生物识别,如指纹,虹膜等)。传统的多因素验证通常是通过:
- 用户名密码和智能卡(U盾)
- 用户名密码和密码器
来识别用户。
因为主要使用了两个独立的因素进行认证,也叫双因子认证。英文是Two-factor authentication或简称2FA。随着网络科技的发展,其他形式的验证方式也逐渐地被采用,如通过应用推送的一次性密码,通过短信发送的一次性密码等。
KeePass对多因素验证的支持
PassXYZ是基于KeePass开发的密码管理软件。为了提高数据库的安全性,PassXYZ也提供了多因素验证的支持。KeePass是一个开源的密码管理软件,同时也是一个很好的开源密码管理软件开发框架。KeePass的MFA支持分成两部分:
- KeePass数据库的多因素验证支持,需要通过多因素验证才能打开数据库;
- KeePass本身也可以用来存储多因素验证信息,或当作多因素验证工具使用
本文主要讨论第一种多因素验证的支持。对于第二种,将另行撰文讨论。
虽然KeePass提供丰富的MFA特性,但很多MFA的支持是通过KeePass插件的方式实现的,对专业人士来说这不是个问题,但对普通用户来说使用难度比较大。目前,KeePass插件的安装并没有做成简单的安装程序,而是需要一定的编程基础才能做到的。由于KeePass插件是由不同的开源开发者所提供的,不同的插件完整性和稳定性也大不相同。
KeePass对MFA的支持是通过组合密钥(Composite Keys)和密钥服务(Key Providers)组成的框架来实现的。PassXYZ对MFA的支持正是延用了这个框架