什么是 PKI?
什么是公钥基础设施 (PKI)?
PKI 是公开密钥基础建设的缩写,是数字证书背后的技术。数字证书具有与驾照或护照类似的目的,是一种身份证明,证明您的身份并提供一些特殊待遇。数字证书使其所有者能够进行加密、签名和身份验证。因此,PKI 是使您能够加密数据、对文档进行电子签名以及使用证书对自己进行身份验证的技术。
正如公钥基础设施中“基础设施”一词所暗示的,PKI 是整个技术的基础框架,而不是单一的物理实体。PKI 封装了组成技术的各种“要素”,包括创建、管理、存储、分发和吊销数字证书所需的硬件、软件、人员、政策和程序。PKI 技术的一个重要要素是证书颁发机构。证书颁发机构是颁发数字证书的实体。
Entrust 行业领先的 PKI 解决方案值得信赖,可确保人员、系统和事物安全互通。在本地、托管和即服务部署模式中提供,以支持诸多用例。
构成有效的公钥基础设施的要素是什么?
企业在实施有效的公钥基础设施方面有许多要求。 首先,同时也是最重要的,如果用户无法在应用程序中利用加密和电子签名,那么 PKI 就毫无价值。 因此,透明度是 PKI 最重要的限制因素。 透明度一词意味着用户不必了解 PKI 是如何管理密钥和证书的,即可利用加密和电子签名服务。 有效的 PKI 是透明的。 除了用户透明度外,企业还必须在 PKI 中实施以下项目,以提供所需的密钥和证书管理服务:
- 公钥基础设施
- 证书存储库
- 证书吊销
- 密钥备份和恢复
- 支持电子签名不可否认性
- 自动更新密钥对和证书
- 关键历史记录的管理
- 支持交叉认证
- 客户端软件以安全、一致且值得信赖的方式与上述所有内容交互
注释: “客户端”一词是指应用程序客户端和应用程序服务器。 对于应用程序客户端和服务器,PKI 的要求相同,两者都是基础设施服务的“客户端”。
还必须满足所有这些要求才能拥有自动化、透明、可用的 PKI。
证书和证书颁发机构的角色是什么?
为了使公钥加密技术有价值,用户必须确信与他们通信的其他各方都是“安全的”,也就是说,他们的身份和密钥是有效且值得信赖的。 为了提供这种保证,PKI 的所有用户都必须具有注册身份。
这些身份以标准 X.509 数字公钥证书格式存储。 证书颁发机构 (CA) 代表创建数字证书的人员、流程和工具,这些证书将用户名称与公钥安全绑定。 创建证书时,证书颁发机构是 PKI 的信任代理。 只要用户信任颁发机构及其颁发和管理证书的业务政策,他们就可以信任证书颁发机构颁发的证书。 这被称为第三方信任。
证书颁发机构通过对包含以下信息(和其他项目)的一组数据进行电子签名来为用户创建证书:
- 标识名 (DN) 格式的用户名。 标识名指定用户的名称和独一无二地标识用户所需的其他属性(例如,标识名可能包含用户的员工编号)。
- 用户的公钥。 公钥是必需的,这样其他人才能为用户加密或验证用户的电子签名。
- 证书的有效期(或生命周期)(开始日期和结束日期)。
- 使用公钥的具体操作(无论是用于加密数据、验证电子签名还是两者兼具)。
证书颁发机构在证书上的签名意味着很容易检测到对证书内容的篡改。 证书颁发机构在证书上的签名就像药瓶上的篡改检测印章,很容易检测到对证书内容的篡改。 只要能够验证证书颁发机构在证书上的签名,证书就具有完整性。 由于证书的完整性可以通过验证证书颁发机构的签名来确定,因此证书本质上是安全的,可以以完全公开的方式(例如,通过可公开访问的目录系统)进行分发。
从证书中检索公钥的用户可以放心,公钥是有效的。 也就是说,用户可以相信,证书及其关联公钥属于由标识名指定的实体。 用户还相信,公钥仍在规定的有效期内。 此外,用户可以放心,公钥可以按照证书颁发机构认证的方式安全使用。
PKI 为什么很重要?
PKI 是 IT 战略骨干的关键组成部分。 PKI 非常重要,因为基于证书的技术可帮助机构在人员、系统和事物之间建立值得信赖的签名、加密和身份。
随着商业模式的不断发展,越来越依赖于电子交易和数字文档,以及越来越多的互联网感知设备连接到企业网络,公钥基础设施的作用不再局限于安全电子邮件、物理访问智能卡或加密网络流量等孤立系统。 如今,PKI 正为复杂生态系统中的大量应用程序、用户和设备提供支持。 此外,随着政府和行业数据安全条例的日益严格,主流操作系统和业务应用程序正变得比以往任何时候都更加依赖于组织 PKI 来保证信任。
什么是证书颁发机构或根私钥盗窃?
证书颁发机构 (CA) 或根私钥盗窃使攻击者能够接管组织的公钥基础设施 (PKI) 并颁发伪造的证书,例如 Stuxnet 攻击中的情况。 任何此类泄露都可能要求强制吊销并重新发卡之前印发过的部分或全部证书。 根私钥泄露(例如根私钥被盗)会破坏 PKI 的信任,并且能够轻松促使您重新建立新的根私钥和附属公司才能签发的 CA 基础设施。 除了损害企业形象外,还可能会带来高昂的成本。
从根私钥到签发 CA 的整个基础架构构成了组织私钥的完整性,为其 PKI 提供了核心信任基础,因此必须加以保护。 保护这些关键密钥的公认最佳实践在于使用经过 FIPS 140-2 3 级认证的硬件安全模块 (HSM),这是一种符合最高安全和保障标准的防篡改设备。
PKI 和 SSL 有什么区别?
PKI 和 SSL 虽然不同,但都是基于证书的解决方案,通过证书颁发机构颁发的证书建立“信任”,无论是公开信任 (SSL) 还是私人信任 (PKI)。
PKI 是由硬件、软件、政策等组成的完整框架。 PKI 还包括证书颁发机构,颁发数字证书以建立信任。 通常情况下,证书颁发机构根据与机构要求的安全性和保证水平相一致的政策和程序在内部管理。
SSL 是 PKI 的最佳用例之一。 还涉及颁发证书的证书颁发机构,但浏览器必须将其识别为受公开信任的证书颁发机构。 尽管 PKI 的用例很多,但 SSL 的目的在于保护通过在线通信传输的敏感数据,例如网上银行或电子商务交易。
PKI 的常见用例是什么?
PKI 的主要用例可以通过查看最常使用数字证书的应用程序来确定,例如:
传统用例
传统用例这些业务关键型应用程序清楚地表明,PKI 是核心 IT 骨干的战略组成部分。
- 面向公众的网站和服务的 SSL 证书
- 专用网络和虚拟专用网络 (VPN)
- 基于公共云的应用程序和服务
- 基于私有云的应用程序
- 电子邮件安全性
- 企业用户身份验证
- 设备身份验证
- 基于私有云的身份验证
- 文档/消息签名
- 代码签名
(请参阅下图中的详细信息。)
新的和正在出现的用例
新用例和新兴用例 DevOps 相关用例中的 PKI 也在重新兴起,这些用例正在推动更多的采用,如:
- 基于云的服务
- 消费者移动
- 物联网 (IoT)
- 面向消费者的移动应用
- 自携设备 (BYOD) 政策和内部移动设备管理
- 电子商务
(请参阅下图中的详细信息。)
随着技术和人工智能不断进步,一些专家正在预测未来的用例。
私钥和公钥有什么区别?
私钥和公钥之间的区别在于,一个用于加密,而另一个用于解密。
公钥用于加密信息,使非预期收件人无法读取信息。 然后,收件人持有私钥,可以用来解密信息。
此外,需要以保密方式发送信息的用户可以使用公开获得的公钥。 例如,员工的公钥可以通过共享目录提供给机构内的同事。 相反,私钥只有信息接收者才能访问,因此信息接收者是唯一能够成功解密加密内容的人。
公钥和私钥共同确保信息、数据和通信在相关方安全传输和解密之前进行加密。
什么是密钥备份和恢复?
用户丢失解密密钥时,企业必须能够检索加密数据。 这意味着用户所属企业需要备份和恢复解密密钥的系统。
密钥备份和恢复对企业如此重要有两个原因:
- 用户忘记密码。 当用户忘记访问解密密钥所需的密码时,企业丢失数据可能会造成灾难性后果。 如果无法安全地恢复密钥,那么重要信息将永远丢失。 此外,用户知道自己可以恢复加密数据(即使忘记了密码),一些用户不会因害怕丢失加密最重要、最敏感的信息,尽管这些信息需要最大限度的保护。
- 用户可能会丢失、破坏或损坏存储解密密钥的设备。 例如,如果用户的解密密钥在磁卡上存储,而卡上的磁场可能会损坏。 同样,解密密钥永久丢失也可能造成灾难性后果。 除非备份了解密密钥,否则用户无法恢复加密的数据。
密钥备份和密钥托管之间的区别
密钥备份和恢复的商业要求可以与执法部门对密钥托管的要求完全分开,后者是媒体广泛讨论的话题。
- 密钥托管意味着第三方(如联邦代理)可以获取访问加密信息所需的解密密钥。 密钥托管的目的是帮助执法,由于公共利益(如国家安全)与个人自由和隐私之间存在微妙的界限,这一点陷入了激烈的辩论。
- 无论执法要求如何,密钥备份和恢复要求都侧重于存在的基本商业需求。
哪些密钥需要备份?
唯一需要备份的密钥是用户的解密密钥。只要值得信赖的代理(如证书颁发机构)安全地备份用户的解密密钥,安全性就不会打折扣,用户的数据就可以恢复。 但是,签名密钥与解密密钥的要求不同。 事实上,正如下一章节所述,备份签名密钥会破坏 PKI 的基本要求。
什么是不可否认性?PKI 如何支持?
当个人拒绝参与交易时,就会发生拒绝。 例如,有人声称信用卡被盗时,他或她就在举报失窃事件后概不承担卡发生的交易的责任。
不可否认性意味着个人无法成功拒绝参与交易。 在纸质世界中,个人的签名将其与交易(信用卡费用、商业合同等)的法律约束力绑定在一起。 签名可防止对这些交易的拒绝。
在电子世界中,电子签名替代了用笔签下的签名。 所有类型的电子商务都需要电子签名,因为电子商务使传统的用笔签名过时了。
签名私钥
签名私钥不可否认性的最基本要求是,用于创建电子签名的密钥(签名密钥)必须随时都以用户完全控制的方式生成和安全地存储。 备份签名密钥是不可接受的。 与加密密钥对不同,当用户忘记密码或丢失、破坏或损坏签名密钥时,没有技术或业务要求来备份或恢复之前的签名密钥对。 在这种情况下,用户可以生成新的签名密钥对,并立即继续使用。
需要两对密钥
很难同时支持密钥备份和恢复以及不可否认性。 要支持密钥备份和恢复,必须安全备份解密密钥。 但是,为了支持不可否认性,用于电子签名的密钥无法备份,必须始终由用户完全控制。
为了满足这些要求,PKI 必须为每个用户支持两个密钥对。 在任何时间点,用户必须有一个用于加密和解密的当前密钥对,另一个密钥对则用于电子签名和签名验证。 随着时间的推移,用户将拥有许多必须适当管理的密钥对。
密钥历史记录的密钥更新和管理是什么?
加密密钥对不应永远使用,必须随着时间的推移进行更新。 因此,每家机构都需要考虑两个重要问题:
- 更新用户的密钥对 - 更新密钥对的过程应对用户透明。这种透明度意味着用户无需了解需要进行什么关键更新,他们永远不会遇到“拒绝服务”,因为他们的密钥不再有效。为确保透明度和防止拒绝服务,用户的密钥对必须在到期前自动更新。
- 在适当情况下维护之前密钥对的历史记录 - 在更新加密密钥对时,必须保留之前解密密钥的历史记录。 “密钥历史记录”使用户能够访问之前的任何解密密钥来解密数据。(当使用用户的加密密钥加密数据时,只能使用相应的解密密钥(配对密钥)进行解密)。为确保透明度,客户端软件必须自动管理用户的解密密钥历史记录。
密钥备份和恢复系统还必须安全地管理密钥历史记录。 使得加密数据能够安全地恢复,无论最初使用何种加密公钥加密数据(以及通过扩展,无论数据是何时加密的)。
更新签名密钥对后,必须安全销毁先前的签名密钥。 这样可以防止其他人访问签名密钥,这是可以接受的,因为无需保留之前的签名密钥。
证书存储库和证书分发方式是什么?
如前所述,证书颁发机构是受信任的第三方,向用户颁发证书。 企业还必须分发这些证书,以便应用程序可以使用。 证书存储库用于存储证书,以便应用程序可以代表用户检索证书。
“存储库”一词是指允许分发证书的网络服务。 在过去几年里,IT 行业达成了共识,即证书存储库的最佳技术由符合 LDAP(轻量级目录访问协议)的目录系统提供。 LDAP 定义了访问目录系统的标准协议。
推动达成这一共识的几个因素包括:
- 将证书存储在目录中并让应用程序代表用户检索证书,为大多数企业提供使用所需的透明度
- 许多支持 LDAP 的目录技术可以扩展为:
- 支持大量的条目
- 由于信息存储和检索方法,可以有效地响应请求搜索
- 在整个网络中分布,以满足分布程度最高的机构的要求
此外,支持证书分发的目录可以存储其他机构信息。 正如下一章节所讨论的,PKI 还可以使用目录分发证书吊销信息。
什么是证书吊销?
除了验证证书颁发机构在证书上的签名之外(如前面的证书和证书颁发机构的角色章节所讨论的),应用程序软件还必须确保证书在使用时仍然值得信赖。 证书颁发机构必须吊销不再值得信赖的证书。 有许多原因导致证书可能需要在有效期结束前被吊销。 例如,与证书中公钥对应的私钥(签名密钥或解密密钥)可能被泄露。 或者,机构的安全政策可能要求必须吊销离职员工的证书。
在这些情况下,必须告知系统中的用户,继续使用证书不安全。 每次使用证书之前必须检查证书的吊销状态。 因此,PKI 必须包含可扩展的证书吊销系统。 证书颁发机构必须能够安全地发布有关系统中每个证书状态的信息。 然后,在每次使用证书之前,应用程序软件必须代表用户验证吊销信息。
发布和持续使用证书吊销信息的结合构成了完整的吊销系统。 分发证书吊销信息的最常用方法是由证书颁发机构创建安全的证书吊销列表 (CRL),并将这些 CRL 发布到目录系统。 CRL 指定所有已吊销证书的唯一序列号。
在使用证书之前,客户端应用程序必须检查相应的 CRL 以确定证书是否仍然值得信赖。 客户端应用程序必须代表用户一致、透明地检查已吊销的证书。
什么是交叉认证?
交叉认证扩展了证书颁发机构域之间的第三方信任关系。 例如,两个贸易合作伙伴(每个都有自己的证书颁发机构)可能希望验证另一个合作伙伴的证书颁发机构颁发的证书。 或者,大型分布式机构可能需要在不同地区拥有多个证书颁发机构。 交叉认证使不同的证书颁发机构域能够建立和保持值得信赖的电子关系。
“交叉认证”一词指的是两种操作:
- 在两个证书颁发机构之间建立信任关系(不经常执行)。 在双边交叉认证的情况下,两个证书颁发机构可以安全地交换验证密钥。 这些密钥用于验证证书上的证书颁发机构的签名。 为了完成操作,每个证书颁发机构在称为“交叉证书”的证书中对另一家证书颁发机构的验证密钥进行签名。
- 验证由交叉认证的证书颁发机构签名的用户证书的可信度(经常执行)。 这是。 该操作由客户端软件完成,通常被称为“走上信任链”。 该“信任链”是指从验证用户的证书颁发机构密钥“走”(或跟踪)到验证其他用户证书所需的证书颁发机构密钥的交叉证书验证列表。 当走上交叉证书链时,必须检查每个交叉证书,确保仍然值得信赖。 用户证书必须能够被吊销;交叉证书同样如此。 在关于交叉认证的讨论中,这一要求常常被忽视。
什么是客户端软件?
在讨论 PKI 的要求时,企业往往会忽视对客户端软件的要求。 (例如,许多人在讨论 PKI 时只关注证书颁发机构组件)。 但是,最终,PKI 的价值与用户使用加密和电子签名的能力有关。 因此,PKI 必须包括客户端软件,该软件可以在桌面上的应用程序(电子邮件、Web 浏览器、电子表单、文件/文件夹加密等)之间以一致、透明的方式运行。
客户端软件中一致、易于使用的 PKI 执行可降低 PKI 操作成本。 此外,必须在技术上使客户端软件能够支持 PKI 的所有元素。 以下列表总结了客户端软件必须满足的要求,以确保企业中的用户获得可用、透明的(因此也是可接受的)PKI。
- 公钥证书为了提供第三方信任,所有支持 PKI 的应用程序必须以一致、值得信赖的方式使用证书。 客户端软件必须验证证书颁发机构在证书上的签名,并确保证书在有效期内。
- 密钥备份和恢复为了保护用户免受数据丢失的风险,PKI 必须支持用于解密密钥备份和恢复的系统。 关于管理成本,每个应用程序都提供自己的密钥备份和恢复是不可接受的。 相反,所有支持 PKI 的客户端应用程序都应与单个密钥备份和恢复系统交互。 客户端软件与密钥备份和恢复系统之间的交互必须是安全的,交互方法必须在所有支持 PKI 的应用程序中保持一致。
- 支持不可否认性为不可否认性提供基本支持,客户端软件必须生成用于电子签名的密钥对。 此外,客户端软件必须确保签名密钥永远不会备份,并始终处于用户的控制之下。 这种类型的支持必须在所有支持 PKI 的应用程序中保持一致。
- 自动更新密钥对要支持透明度,客户端应用程序必须自动启动用户密钥对更新。 这必须根据机构的安全政策进行。 用户必须知道他们的密钥对需要更新是不可接受的。 为了在所有支持 PKI 的应用程序中满足此要求,客户端软件必须透明、一致地更新密钥对。
- 密钥历史记录管理为了使用户能够轻松访问为他们加密的所有数据(无论何时加密),支持 PKI 的应用程序必须能够访问用户的密钥历史记录。 而且客户端软件必须能够安全地恢复用户的密钥历史记录。
- 可扩展的证书存储库为了最大限度地降低分发证书的成本,所有支持 PKI 的应用程序都必须使用通用的可扩展证书存储库。
常见的 PKI 管理错误/挑战有哪些?
支持新应用程序
应用程序通常很难使用 PKI。根据 Ponemon Institute 2019 年 PKI 和物联网趋势报告,组织仍将面临两个最重要的挑战,即在支持应用程序使用 PKI 方面,现有的 PKI 无法支持新的应用程序,以及无法改变传统的应用程序。
(请参阅下图中的详细信息。)
缺乏明确的所有权
缺乏明确的所有权同一调查还发现,PKI 部署的主要挑战仍然是 PKI 职能缺乏明确的所有权。 但是,在如今的 PKI 环境中,需要进行适当的管理,特别是在您考虑以下情况时:
- 基础设施是分布式的,许多证书被颁发给许多人、地点和事物
- 我们现在需要保护比以往任何时候都更多的“东西”,并应对更短的证书生命周期
- 证书可保护关键业务应用程序的安全,停机可能会导致高昂的费用且难以诊断
为了正确了解基础设施中的证书,不仅有助于在特定部门集中管理 PKI,而且还有一个软件工具,为证书监控和报告提供单一的管理平台。
哪些安全认证和标准对 PKI 很重要?
有几种不同的标准和法规,特别是在地区和/或政府层面,但部署 PKI 时,最重要的两个安全认证是:
Entrust:你的 PKI 首选来源
全面的 PKI 必须实施以下项目:
- 公钥基础设施
- 证书存储库
- 证书吊销
- 密钥备份和恢复
- 支持电子签名不可否认性
- 自动更新密钥对和证书
- 关键历史记录的管理
- 支持交叉认证
- 客户端软件以安全、一致且值得信赖的方式与上述所有内容交互
只有全面的 PKI 才能实现建立和维护值得信赖的网络环境的目标,同时提供可用的透明的自动化系统。
降低成本、简化业务流程和改善客户服务可为 PKI 投资带来切实的回报。 各机构每年节省了 100-540 万美元的成本。 专注于特定业务应用程序将使 PKI 能够提供您想要的回报。 您的现有网络可用于提供安全的电子邮件、桌面安全、基于 Web 的安全、电子商务、访问控制或虚拟专用网络。