公钥基础设施(PKI)是创建、管理、分发、使用、存储和撤销数字证书和公钥所需要的一套硬件、软件、策略、流程和规程。PKI是数字签名、加密等技术得以被广大用户群体使用的基础。PKI是为电子商务和不断发展的物联网营造安全可信业务环境所不可或缺的要素。
PKI可帮助为人员、设备和服务建立身份——从而使对系统和资源的受控访问、数据保护和交易问责得以实现。下一代商业应用程序越来越依赖PKI技术来保证高保障,因为不断发展的各种商业模式越来越离不开要求在线验证身份并遵守更严数据安全法规的电子交互。
发证机构(CA)的角色
PKI借助数字证书把公钥与关联用户(私钥拥有者)绑定。数字证书是便于用户在交易中相互验证身份的一种凭证。就像护照可以证明一个人作为一国公民的身份一样,数字证书也可以为用户在生态系统内建立身份。由于数字证书用于识别接收加密数据的用户或验证信息签名者的身份,因此保护证书的真实性和完整性对于保持系统的可信度来说至为关键。
发证机构(CA)签发用于认证用户身份的数字证书。CA支撑着PKI以及PKI支持的服务的安全,因此难免成为复杂定向攻击的焦点。为了降低发证机构面临的攻击风险,物理和逻辑控制以及强化机制(例如硬件安全模块)已成为确保PKI完整性的必要条件。
PKI部署
PKI提供了一个框架,使数字证书、签名等密码数据安全技术得以大规模有效部署。PKI支持网络内和网络间的身份管理服务,同时还支持安全套接字层(SSL)和传输层安全(TLS)中固有的在线身份验证,以保护互联网通信流以及文档和交易签名、应用代码签名和时间戳。PKI支持桌面登录、公民身份识别、公共交通、移动银行等解决方案,并且在物联网设备认证中发挥着关键作用。而设备认证在向数量不断增加的基于云和连接互联网的设备(其中从智能手机到医疗设备,应有尽有)传递身份的过程中扮演着越来越重要的角色。
密码安全
PKI在非对称和对称加密法原理的基础上给用户和设备之间建立安全的数据交换带来了方便——可保证交易的真实性、保密性和完整性。用户(在PKI语汇中也叫“订阅者”)可以是个人最终用户,也可以是Web服务器、嵌入式系统、互连的设备或正在执行业务流程的程序/应用。非对称加密法为生态系统中的用户、设备或服务提供由公钥和私钥组成的一个密钥对。公钥提供给用户群组中的任何人用于加密或验证数字签名。另一方面,私钥必须保密,只能由它所归属的实体使用,通常用于解密或创建数字签名等任务。
PKI的重要性不断提升
随着不断发展的商业模式越来越依赖电子交易和数字文档,并且有越来越多的互联网感知设备被连接到企业网络,PKI的作用不再仅限于被隔离的系统,例如安全电子邮件、用于物理访问或被加密网络通信流的智能卡。当今的PKI有望支持复杂生态系统中更多的应用、用户和设备。随着政府和行业数据安全法规的日益严格,主流操作系统和业务应用程序比以往任何时候都更加依赖机构的PKI来保证可信度。
发证机构(CA)或根私钥失窃会使攻击者得以接管机构的公钥基础设施(PKI)并签发伪造证书,就像Stuxnet攻击事件所发生的情况那样。任何此类破坏都有可能迫使以前签发的部分乃至全部证书撤销和重新签发。像根私钥失窃这样的根泄露会摧毁你的PKI的可信度,轻易就会迫使你重建新的根及其附带的CA签发基础设施。除了损害公司的企业形象外,这还意味着你需要付出高昂的成本。
就从根到发证机构的整个基础设施而言,机构私钥的完整性是PKI的核心信任基础,因此必须受到严格保护。而确保这些关键密钥安全的公认最佳做法,是使用通过了FIPS 140-2三级认证的硬件安全模块(HSM)这种符合最高安全和保障标准的防篡改设备。
对签名密钥使用的控制不力会导致发证机构(CA)被人滥用——即便密钥本身并没有泄露。恶意行为者可能会签发恶意证书,允许设备或用户冒充合法用户并实施中间人攻击,或者给随后传播的恶意软件作数字签名,使它们看上去来自可信来源。
设计机构公钥基础设施(PKI)时,要建立适当的安全控制。这其中包括分离CA角色和制定相关策略,以便形成个人尝试执行多个CA角色时会出现操作失败的局面。通过制定策略和规程来确保适当的职责分离,其中包括建立有团队成员离职时的应急措施,对于PKI的安全性和完整性至关重要,而且必须成为PKI初始设计的一部分。最好的办法是采用一种技术,通过技术解决方案自动落实职责分离策略。例如,“N之取M”智能卡组可以通过简单地不允许一个人在没有安全官等其他人员在场的情况下独自签发证书,来强制执行强职责分离策略。
设计时没有把机构及其用户的增长因素考虑周全的公钥基础设施(PKI)最终会因为业务规模的不断扩大而不得不重新设计,而这会对机构的生产以及客户造成不良影响。随着每天都有新应用上线,越来越多的用户要求可以通过多种设备进行访问,良好的业务规划要求从设计之初就考虑好PKI的可扩展问题。
许多机构将需要有多个发证机构(CA)来满足其不断增加的需求——证书可用于登录身份验证、数字文档签名、电子邮件等多个目的。机构可以设置一个根CA充当“主CA”,再辅以多个从属CA涵盖各种用途。机构也可以通过建立多个根CA和多个分层结构来规划CA的规模。无论采用何种策略,目标都是在第一时间把事情办好,确保机构的PKI能够满足本单位不断增长的需求。
在线证书验证进程的颠覆可能会导致已经撤销的证书被人恶意利用。有能力阻止证书到达证书撤销列表(CRL)的攻击者可以冒充合法参与者并实施恶意活动,而受害者则对自己正在与非法行为者通信毫不知情。
制定证书身份验证策略和规程是公钥基础设施(PKI)设计的重要组成部分。此外,这些策略和规程的适当执行和落实将确保被撤销的证书以及用户被拒绝访问。一方面会有许多机构采用证书撤销列表,另一方面又会有一些机构可能会选用其他不同方法,例如在线证书状态协议(OCSP)或身份验证、授权和问责法(AAA)。
此类决策必须在最初根据机构的需要进行PKI设计讨论时做出。值得注意的是,在证书撤销过程中部署的任何私钥都必须得到与密钥签发进程签发的密钥一样的保护。
机构遇到无法合法验证消息发自某一特定用户的情况时,安全性不足(尤其在密钥管理方面)的公钥基础设施(PKI)会把机构暴露在蒙受损失或业务进程中断的风险之下。
以安全性和完整性为核心构建的PKI可以在用户活动出现争议的时候为你提供法律保护。安全数字签名可提供有关消息发件人和消息发送时间的无可辩驳证据,但是它只有在PKI强劲有力的前提下才具有防御效力。只要事实证明,签名密钥自根密钥起一直都在充分保护之下,你的机构必然能够应对有关某一特定用户及其行为真实性的任何法律挑战。