智能卡与生物识别技术:您的 PKI 密钥

作者:David Corcoran

几个世纪以来,安全一直是保密的代名词。共享秘密——在彼此都知道密码的两方之间进行业务——是一种全球通用的方法。即使在电子和超级计算机时代,密码和 PIN 码仍然在您和您想要访问的计算机或 ATM 机之间共享。但是,秘密密码需要在共享秘密的各方之间建立高度信任。您总是可以信任您正在访问的机器的管理员或其他用户吗?如今,大多数计算机入侵都是由于系统用户或黑客利用合法帐户(可能是您的帐户)来访问通用安全系统造成的——有时甚至获得超级用户访问权限。这种传统的共享秘密计算机安全范例可能很快就会成为过去,取而代之的是基于智能卡的加密凭证和用于访问控制的生物特征认证。

一些个人和公司正在用公钥基础设施 (PKI) 方法取代共享秘密安全(也称为对称安全)。PKI 使用一套标准化的事务,采用非对称公钥密码术,这是一种更安全且可能功能更强大的数字资源访问机制。相同的系统也可以用于保护对受控环境(例如您的家或办公室)的物理访问。

在 PKI 世界中,每个人都将至少获得一对加密密钥对。每对密钥对都将包含一个秘密(私有)加密密钥和一个公共加密密钥。这些密钥通常是由 1024 位或 2048 位二进制数字组成的字符串,具有独特的属性:当一个密钥与编码算法一起用于加密数据时,另一个密钥可以与相同的算法一起用于解密数据。编码密钥不能用于解码。公钥由负责任的方(例如公证人、护照办公室、政府机构或受信任的第三方)进行认证。公钥被广泛分发,通常通过目录或数据库进行分发,公众可以搜索该目录或数据库。但是,私钥仍然是所有者严密保守的秘密。在发送者和接收者之间,安全消息传递(或其他安全事务)将按如下所述工作。

Smart Cards and Biometrics: Your Key to PKI

图 1. 发送者

对于发送者(图 1),会发生以下步骤

  1. 消息数据被哈希处理;也就是说,可变长度的输入字符串被转换为固定长度的输出字符串。哈希函数主要与公钥算法一起使用,以创建数字签名。

  2. 创建一个对称密钥,并用于加密整个消息。DES 和 IDEA 是对称密钥密码术的示例。

  3. 对称密钥使用接收者的非对称公钥进行加密。

  4. 消息哈希使用发送者的非对称私钥进行加密,从而创建独立于加密消息的数字签名。

  5. 加密的消息、加密的对称密钥和签名的消息哈希被发送给接收者。

Smart Cards and Biometrics: Your Key to PKI

图 2. 接收者

对于接收者(图 2),会发生以下步骤

  1. 加密的对称密钥使用接收者的非对称私钥进行解密。

  2. 然后,对称密钥用于解密消息体。

  3. 加密的哈希使用发送者的非对称公钥进行解密。

  4. 然后,解密的消息使用原始哈希算法重新哈希处理。

  5. 比较两个哈希值以验证发送者的身份,并作为消息在传输过程中未被篡改的证明。

在实现此方案之前,必须解决几个技术问题

  • 安全密钥存储

  • 密钥存储的安全身份验证

  • 目录服务(中央公钥数据库)

  • 加密数据的密钥托管或其他紧急恢复方法

  • 跨平台标准(Microsoft PC/SC、Netscape SMIME、Intel CDSA、IBM OSF 等)

  • 强密码术的国际出口和使用法规

如果这些问题看起来令人生畏,请记住,曾经通用的网络策略看起来多么不可能。今天,互联网无处不在,并且连接到几乎每种类型的计算机。让我们逐一考虑 PKI 问题。

安全密钥存储

密钥存储存在几种可能性。请记住,这些密钥是长位字符串,记住它们是不可能的。有三种存储可能性:硬盘、软盘和智能卡。

硬盘存储提供了一种低成本的解决方案。用户的密钥对直接存储在用户的机器上。用户使用共享秘密密码进行身份验证,以解锁其用于签名的私钥。此解决方案不允许在桌面环境中轻松移动,并且对终端应用程序施加了限制。用户无法轻松使用另一台机器,除非将信息卸载到他们尝试使用的机器上。如果用户尝试登录另一台机器而网络不可用,也会出现问题。硬盘存储也容易受到物理攻击,例如终端或硬盘驱动器的盗窃,这两者都可以用于轻松的密码破解。

软盘存储解决了移动性问题。现在,用户有一种非常廉价且便携的方式来使用移动数字凭证。任何人都可以通过插入软盘并使用传统的共享秘密密码进行身份验证来使用另一台机器。但是,软盘的长期、稳健的数据保留性并不为人所知,尤其是在随身携带时。软盘容易受到磁场(例如,机场安检站)的影响,并且不方便放在口袋或钱包中。

智能卡存储提出了最佳方案。智能卡在欧洲已经使用了多年,应用于各种应用。这些信用卡大小的计算机具有坚固且熟悉的外形,可以很好地放入钱包或口袋中,并且可以承受大量的物理压力。一些现代的基于处理器的智能卡甚至具有板载加密协处理器,允许签名和密钥生成完全在卡上完成,因此私钥可能永远不需要被泄露或卸载。微处理器使智能卡比磁性或光学介质存储具有很大的优势。基于智能卡的 PKI 可能确实非常安全,消除了在创建和传输过程中密钥对被窥探的任何可能性。初始费用较高,因为智能卡需要读卡器。但是,这种额外成本被私钥更高的安全性和便捷的端口性所抵消。

使用生物识别技术的安全身份验证

所有三种存储方法——硬盘、软盘或智能卡——都可以使用对称加密(共享秘密密码或 PIN 码)来保护私钥。这适应了单点登录,因为一旦用户通过身份验证进入密钥存储,加密协议就可以用于随后对不同应用程序进行身份验证。从管理角度来看,这将是好的,但会使安全状况变得更糟。现在,如果破解者获得了保护加密密钥的共享秘密密码或 PIN 码的访问权限,那么他还将获得对授权用户可用的每个加密保护的应用程序或数据元素的访问权限。我们需要的是一种只有授权方才能访问的身份验证方法。生物识别技术应运而生。

生物识别技术一词来自希腊语 bio 和 metric,意思是“生命测量”。通过测量个人独有的某些东西并使用它来识别他们,我们可以显着提高密钥存储的安全性。较新的生物特征测量包括来自组织样本的 DNA、声音模式、面部模式,甚至视网膜中血管的排列或眼睛角膜中的着色模式。最古老和最广泛接受的生物特征是指纹。每个手指的指尖都有一个称为“摩擦脊”的特征。虽然通常相似,但没有两个摩擦脊完全相同。通过对指尖的脊进行成像,我们可以得到指纹。

大多数指纹生物识别技术的实现都从原始图像创建模板,该模板的大小仅为原始指纹图像的一小部分。此模板只能用于将指纹与其他模板进行比较,而不能用于重新创建原始图像。生物识别技术的模板实现非常适合智能卡,原因有两个。首先,它们的大小通常在 100 到 600 字节之间,可以轻松地放在智能卡上。其次,您不必担心攻击者会从您的模板中复制您的指纹并使用它们来冒充您。生物识别技术可以辅助身份验证。以下是向计算机应用程序验证您身份的大致步骤

  1. 将您的智能卡插入读卡器。智能卡包含您的加密密钥和生物特征指纹数据。

  2. 输入您的共享秘密 PIN 码(或密码),以解锁您的指纹的数字表示形式。在行业中,这被称为细节点数据。

  3. 将您的手指放在扫描仪上。扫描的指纹与智能卡上的指纹数据进行比较。

  4. 如果数据匹配,则智能卡指纹数据将转换为数字,并与智能卡秘密 PIN 码(在步骤 2 中检索)组合,并用作对称加密密钥来解密私钥。

  5. 随机数(随机数)从计算机应用程序传递到智能卡。

  6. 智能卡上的私钥用于加密随机数,并将其传递回应用程序。

  7. 应用程序验证从基于网络的目录服务或从卡获得的经过认证的公钥是否确实解密了来自卡的加密消息,并显示最初传递给卡的相同随机数。

此过程无可辩驳地验证了出示该卡的人员与加密密钥所属的人员是同一个人,并在加密密钥存储和加密密钥的授权用户之间提供了必要的紧密绑定。

到目前为止,您可能要问,“这些生物识别技术的效果到底如何?误差幅度是多少?”有两个术语描述了生物识别技术的功能。误接受率 (FAR) 是入侵者被接受的概率,其测量值不属于注册用户。误拒绝率 (FRR) 是注册用户未被识别的概率。良好的生物识别技术具有低 FAR 和低 FRR,但不幸的是,很少有标准化的测试可用于确定这些结果,因为每次生物识别读取都以略有不同的方式进行测量。因此,在评估任何生物识别技术时,第三方的验证非常重要。

通常,安全性和便利性之间通常需要权衡。生物识别技术也不例外。一般来说,它们的安全性越好(FAR 越低),用户的不便性就越大,因为会发生更多的误拒绝。同样,系统使用起来越方便,安全性就越差。良好的生物识别系统允许用户从广泛的可能的 FAR/FRR 水平中进行选择,以便可以为所需的安全级别最大化便利性。

接触一些侦探电影可能会使普通人提出病态但相关的问题,“这些设备如何确保手指是活着的?”已经尝试解决这个问题。一些供应商测量手指的热量以确保其处于体温,这使得该系统难以在寒冷的气候或手容易冰凉的人身上使用。其他供应商测量手指的电导率以防止伪造的指纹(例如,硅胶铸件)。这没有解决死手指问题,但值得注意的是,通过在硅胶铸件上放一点盐溶液,可以欺骗电导率测量。最好的解决方案是以光谱方式测量血液中含氧血红蛋白的量,因为这种测量最难欺骗,并且对于活手指和死手指而言差异很大,但是价格和必要性之间又存在权衡。您是要验证自己是否可以进入航天飞机发射还是车库门?

Smart Cards and Biometrics: Your Key to PKI

图 3。

将智能卡技术和生物识别技术融合在一起的最佳产品之一是 American Biometric Company 的 BioMouse Plus (http://www.biomouse.com/)。BioMouse Plus 是一款集成的智能卡读卡器和指纹扫描仪。为开发人员提供了 Linux 工具包,其中包含有关如何创建生物识别和智能卡感知应用程序的文档。该工具包完整,包含示例、示例源代码、驱动程序和库。实际上,支持超过 13 个平台,包括大多数 UNIX 版本、Windows 和 MS-DOS。

中央公钥数据库

目录服务在任何 PKI 系统中都起着至关重要的作用。应用程序必须能够验证智能卡上包含的公钥的证书颁发机构。证书颁发机构是最初颁发加密密钥和智能卡的组织。证书颁发机构验证该人是否是他们声称的那个人。如果可以克服隐私问题,则公钥(对于证书颁发机构和个人)应可供所有需要交叉验证的应用程序使用。

办公室中的 PKI:一个人拥有一张智能卡,其中包含受生物识别技术保护并由政府机构签名(验证)的加密密钥。现在,这个人申请在私营部门工作。如果公司验证政府签名有效,则该人的公钥可用于就业验证。智能卡本质上可以作为身份证明重复使用。

个人银行业务:此应用程序在应用程序、公共加密密钥和存储在员工目录中的个人数据之间建立绑定。同样,原始的单一身份令牌被重用。目录服务和生物识别安全加密密钥存储将真正实现电子商务。如果这种方案被广泛采用,将允许个人携带单个方便的令牌来向任何地方的应用程序验证自己的身份。

各种标准

假设支持智能卡的 PKI 在所有其他方面都有效,那么在标准和跨平台性能方面仍必须克服一些问题。智能卡环境需要标准的资源管理器和 API,以便通过读卡器与卡进行通信。这些 API 通常是特定于卡的。一些 API 是特定于读卡器的。由于大多数智能卡都不能很好地遵守 ISO-7816-4 等通用标准,因此有必要使用高级 API 与所有卡进行通信。读卡器也是如此。通常,读卡器的资源管理器跟踪系统上安装的不同读卡器,并监视卡插入和移除等事件。此资源管理器还负责将智能卡的控制权转移到其他应用程序,以便多个应用程序可以与卡进行通信。

卡管理跟踪通信速度和当前选定的文件。考虑以下示例:应用程序 B 想要从基本文件 0200 卸载数据。应用程序 A 处于等待状态,但当前已选择文件 0001。卡管理器必须跟踪此文件,以便当应用程序 B 接管控制权、选择 0200 并执行数据传输时,应用程序 A 可以在完成后重新获得控制权并重新选择基本文件 0001。如果没有此类资源管理,用户必须假设发生了另一个事务,并在任何文件或验证相关事务之前执行冷复位。

卡包含使其独一无二的特定功能。最常见的是支持加密的智能卡。在这种卡中,有必要拥有另一个与卡管理器通信的通用 API。此 API 称为加密服务提供程序。加密 API 执行密钥生成、安全签名、哈希、加密和密钥验证等功能。

正如卡和读卡器资源管理器存在多个标准一样,对于加密服务提供程序也提出了许多建议的标准。其中之一是 PKCS-11 标准,主要由 Netscape 推动。当然,微软提出了不同的标准,称为 Crypto API (CAPI)。英特尔也在通过发布 CDSA 进军加密中间件市场。CDSA 更像是一个框架而不是 API,它利用了 CAPI 和 PKCS-11。CDSA 和 PKCS-11 都缺少系统的一个主要组件:卡和读卡器管理。CDSA 和 PKCS-11 都不是专门为加密令牌设计的,但两者都可以很好地与其他卡和读卡器管理器配合使用。微软的模型包含一个称为 PC/SC 的规范。PC/SC 处理所有卡和读卡器资源管理,并与 CAPI 配合使用以提供加密支持。所有这些规范都可以在 http://www.smartcardsys.com/ 上找到。

在开放标准方面,IBM 使用 Open Card Framework (OCF) 以跨平台风格创建了对读卡器和卡资源管理的支持。这是一个纯粹基于 Java 的卡和读卡器资源管理器,可在大多数具有工作 JVM(Java 虚拟机)的操作系统上运行,包括 Linux。想法不错,但缺少什么?OCF 未能包含加密支持,尽管 PKCS-11 的开放版本可能会很好地放在基础设施之上。如果此 PKCS-11 是用 ANSI C 编写的,那么 Linux、Macintosh 和 Sun 等高级工作站的用户可以获得 Microsoft 系统上包含的所有支持。CDSA 的非 Microsoft 操作系统端口也会很好,因为可以想象更好地移植到 Microsoft OS。实际上,非 Microsoft 系统的 PC/SC 兼容资源管理器只会受到低级读卡器驱动程序代码的跨平台兼容性的限制。

MUSCLE 项目目前正在开发用于智能卡读卡器的基于 C 的资源管理器。资源管理器使用远程过程调用来实现远程身份验证。有关更多信息,请访问 http://www.linuxnet.com/smartcard/。

出口法规

关于强密码术出口的法律充其量是零散的,总体而言,它们可能是最大的障碍。采用消息恢复功能(如多密钥加密或密钥恢复)的解决方案将有助于推动立法向前发展。目前,Linux 开发社区的全球性和 MUSCLE 项目的模块化方法似乎有助于这项技术的传播。

结论

集成智能卡、生物识别技术和公钥密码术为开发安全应用程序和通信提供了坚实的基础。最高级别的安全性使用三因素身份验证

  • 您知道的东西(密码或 PIN 码)

  • 您拥有的东西(智能卡、磁条卡或物理密钥)

  • 您自身的东西(您的指纹、视网膜/虹膜扫描或声音模式)

个人通过结合智能卡、生物识别技术和 PIN 码获得三因素身份验证。如果用户丢失了智能卡,则没有生物识别技术,该卡将无法操作。使用 PIN 码可以淘汰伪造的指纹。

在智能卡安全的世界中,您不会被锁定在一种形式的身份验证中,例如永远容易受到攻击的密码。您控制着自己的身份,因为它包含在您随身携带的卡上。即使攻击者在您的互联网提供商的密码文件上运行 Crack 5.0,他们也无法在没有放在您自己前口袋中的智能卡的情况下获得访问权限。

改进安全性的论点是崇高的。一些实现改进安全性的方法可能使用昂贵的硬件,但仍然相对容易受到损害。大多数对称形式的安全性都属于这一类。共享秘密变成完全不是秘密只是时间问题。智能卡与生物识别技术相结合提供了当今保护电子数据的最佳方法。但是,正如您的母亲可能告诉您的那样,真正保守秘密的唯一方法是永远不要分享它。

Smart Cards and Biometrics: Your Key to PKI
David Corcoran 是普渡大学计算机科学专业的学生。他在 Gene Spafford 指导的 COAST/CERIAS 实验室工作,并在德克萨斯州休斯顿郊外的舒格兰市为斯伦贝谢有限公司担任知识工作者。可以通过 corcordt@cs.purdue.edu 与他联系。

Smart Cards and Biometrics: Your Key to PKI
David Sims 是位于德克萨斯州舒格兰市的斯伦贝谢有限公司的信息技术技术经理。他拥有密苏里州圣路易斯华盛顿大学的机械工程学士学位。可以通过 sims@sugar-land.sl.slb.com 与他联系。

Smart Cards and Biometrics: Your Key to PKI
Bob Hillhouse 是 American Biometric Company 的高级软件工程师。他位于加拿大安大略省渥太华,拥有滑铁卢大学的计算机科学学士学位(辅修电气工程)。可以通过 bob@abio.com 与他联系。
加载 Disqus 评论