2.3 常见身份识别和身份验证方法
我将详细介绍3种常见的身份识别和身份验证方法:密码、生物识别和硬件令牌。
2.3.1 密码
大多数经常使用计算机的人都很熟悉密码。密码在与用户名结合使用时,通常允许你访问计算机系统、应用程序、电话或类似设备。虽然密码只是身份验证的一个单独的因子,但如果恰当地设置和使用,密码可以代表相对较高的安全等级。
人们经常将某些密码描述为强密码,但更好的描述可能是复杂密码。如果你设置的密码只使用小写字母,并且长度仅为8个字符,就可以使用密码破解程序快速破解它,如第1章所述。如果将字符集添加到密码中,就会增加破解的难度。如果你使用大写字母、小写字母、数字和符号,最终的密码可能很难记忆,例如$sU&qw!3,但更难破解。
除了设置强密码,你需要养成良好的密码安全习惯(密码卫生)。不要把你的密码写下来,然后贴在键盘下或显示器上,这样做完全违背了设置密码的初衷。名为密码管理器的应用程序可以帮助我们管理不同账户的所有登录信息和密码,一部分是本地安装的软件,另一部分是Web或移动设备的应用程序。有很多支持和反对这类工具的理由:有些人认为将所有密码存在一个地方并不是一个好主意,但如果小心使用,可以帮助你保持良好的密码卫生。
另一种常见的方式是手动同步密码。简单来说,就是在任何地方都使用相同的密码。如果你的电子邮件、工作中的登录和在线论坛中都使用相同的密码,那么所有账户的安全都将掌握在这些系统所有者的手中。如果其中任何一个被攻破,那么所有账户都将变得易受攻击。攻击者要访问其他账户,只需在互联网上查找你的账户名,找到你的其他账户,使用你的默认密码登录即可。当攻击者进入你的电子邮箱时,游戏就结束了,因为攻击者通常可以使用它来重置你的任何其他账户证书。
2.3.2 生物识别
虽然有些生物特征识别符可能更难伪造,但这只是受限于当今技术。在未来某个时候,我们需要开发更强大的生物识别特征来进行衡量,或者停止将生物识别作为认证机制。
1. 使用生物识别技术
生物识别设备正变得越来越普遍和廉价。只要不到20美元,你就可以找到种类繁多的产品。但在你依靠这些设备进行安全保护之前,值得仔细进行研究,因为一些比较便宜的版本很容易被破解。
你可以通过两种方式使用生物识别系统。如前文所述,你可以用它来验证某人提出的身份声明,或者你也可以颠倒这个过程,将生物识别作为身份识别的一种方法。执法机构通常使用这一过程,确定各种物体上指纹的所有者。考虑到这些机构所拥有的指纹库规模巨大,这可能是一项耗时的工作。无论以哪一种方式使用生物识别系统,你都需要让用户进行某种注册过程。注册包括记录用户选择的生物特征,例如复制指纹,并将其保存在系统中。对特征的处理还可能包括记录图像某些部分出现的元素,这些元素称为细节(见图2-3)。
图2-3 生物识别细节
你随后可以使用这些细节,将特征与用户进行匹配。
2. 生物识别因子特征
生物识别因子有7个特征:普遍性、唯一性、恒久性、易采集性、系统性能、可接受性和防欺骗性[4]。
普遍性,意味着应该能够在你期望加入该系统的大多数人中找到你选择的生物特征。例如,虽然你可以用疤痕作为标识,但你不能保证每个人都有疤痕。即使你选择了一个通用的特征,比如指纹,你也应该考虑到有些人的右手可能没有食指,并做好准备弥补这一点。
唯一性,是衡量某一特征在个体中有多独特的一种标准。例如,如果你选择用身高或体重作为生物识别符,你很有可能在给定的群体中找到几个身高或体重相同的人。你应该尝试选择具有高度唯一性的特征,例如DNA或虹膜,但这些特征也可能被有意或无意地复制。例如,同卵双胞胎有相同的DNA,攻击者可以复制指纹。
恒久性,衡量某一特征在多大程度上抵抗时间和年龄增加而发生的变化。如果选择了一个容易变化的因素,比如身高、体重或手形,你最终会发现自己无法验证合法用户的身份。最好使用指纹这样的因子,如果没有刻意的举动,这类因子不太可能发生变化。
易采集性,衡量获取特征的难易程度。大多数常用的生物识别技术,如指纹,相对容易获取,这也是其运用普遍的原因之一。另外,DNA样本更难获得,因为用户必须提供基因样本才能注册并在以后再次验证。
系统性能,根据速度、精确度和错误率等因素衡量系统的运行情况。在这一节后面,我将更详细地讨论生物识别系统的准确性。
可接受性,是系统用户对特征接受程度的衡量标准。一般来说,速度慢、难以使用或很难使用的系统不太可能被用户所接受[5]。要求用户脱掉衣服,触摸他人重复使用的设备,提供组织或体液,这样的系统不太可能具有很高的接受度。
防欺骗性,描述了使用伪造的生物标识符欺骗系统的容易程度。“假手指”(gummy finger)是将指纹作为生物特征标识符进行欺骗攻击的典型示例。在这种类型的攻击中,指纹从表面被提取后,将用于创建一个模具,攻击者可以在明胶上创建指纹的正面图像。一些生物识别系统有专用的辅助功能,通过测量皮肤温度、脉搏或瞳孔反应来应对这类攻击。
3. 性能衡量
衡量生物识别系统性能的方法有很多种,但有几个主要指标尤其重要。错误接受率(False Acceptance Rate,FAR)和错误拒绝率(False Rejection Rate,FRR)就是其中的两个[6]。FAR衡量的是接受一个应该被拒绝的用户的概率,这也称为假阳性。FRR衡量的是拒绝合法用户的概率,有时被称为假阴性。
你要避免这两种情况过度发生,目标应该是在两种错误类型之间取得平衡,称为等错误率(Equal Error Rate,EER)。如图2-4所示,在图中同时绘制FAR和FRR,EER将是两条线的相交点。我们有时使用EER来衡量生物识别系统的准确性。
图2-4 等错误率是错误接受率和错误拒绝率的交叉点
4. 生物识别系统中的缺陷
生物识别系统容易出现几个常见问题。正如我在讨论防欺骗性时提到的,一些生物特征识别符很容易伪造,而且一旦被伪造,就很难在系统中重新注册用户。例如,用用户的两个食指指纹同时注册,而如果这些指纹被泄露,你就可以从系统中删除这些指纹,然后注册另外两个手指指纹,但是,如果已经在系统中注册了所有的手指指纹,那么就根本无法使用手指重新注册。根据所讨论的系统,你可以为相同的标识符选择不同的细节集,但这偏离了讨论的问题,即生物特征标识符是有限的。在2015年,这个问题确实出现了,当时一名攻击者侵入了美国人事管理办公室,窃取了560万名持有安全许可的联邦雇员的指纹记录[7]。
在使用生物识别技术时,你还可能面临隐私问题。当你在生物识别系统中注册时,实际上就给予了一份识别符副本,无论指纹、虹膜还是DNA样本,一旦这些被录入计算机系统中,你几乎无法控制它会发生什么。但愿当你不再与机构有关联时,该机构会销毁这些材料,但你无法保证这一点。特别是在DNA采样的情况下,交出遗传物质的后果可能会影响你的余生。
2.3.3 硬件令牌
标准的硬件令牌(见图2-5)是一种小型设备,通常与信用卡或钥匙链的外形(大小和形状)相当[8]。最简易的硬件令牌看起来与USB闪存驱动器相同,并且包含证书或唯一标识符。它们通常被称为加密狗。更复杂的硬件令牌包括液晶显示器(Liquid-Crystal Display,LCD)、用于输入密码的键盘、生物识别读取器、无线设备以及增强安全性的附加设备。
图2-5 硬件令牌
许多硬件令牌包含一个内部时钟,可根据设备的唯一标识符生成代码,还包含输入的PIN码或密码,以及其他可能的因子。通常情况下,代码会传输到令牌的显示器上,并定期更改,一般每30秒更改一次。用于跟踪这些令牌的基础设施可以预测任何给定时间的正确输出,以便对用户进行身份验证。
最简易的硬件令牌只代表你拥有的东西,因此很容易被窃取,并被知情者使用。虽然这些设备提高了用户账户的安全等级,而且没有关联账户的证书通常无法使用,但你确实需要保护好它们。
更复杂的硬件令牌可以代表你知道的东西或你的身体特征。它们可能需要PIN码或指纹,这将大大增强设备的安全性。除了获得硬件令牌之外,攻击者还需要破坏使用设备的基础设施,或者从设备的合法所有者那里提取你知道的事项或你的特征因子。