什么是PKI?以及它如何确保几乎所有在线内容的安全

什么是PKI?以及它如何确保几乎所有在线内容的安全

公钥基础设施(PKI)是一个包罗万象的术语,用于建立和管理公钥加密,这是最常见的互联网加密形式之一。它被应用到现在使用的每一个网络浏览器中,以保护公共互联网上的流量,但组织也可以部署它来保护其内部通信和对连接设备的访问。

顾名思义,PKI中最关键的概念是处于其核心的公钥。这些密钥不仅是加密过程的一部分,而且有助于验证通信方或设备的身份。

为什么PKI很重要?这是因为加密和身份验证的结合使得可信的在线通信成为可能。

要理解PKI的工作原理,最重要的概念是密钥和证书。如前所述,密钥是一个长的位串,换句话说,是一个数字,用于加密数据。例如,如果您使用的是古老而简单的凯撒密码,加密密钥为3,这意味着您的消息中的每个字母都会被字母表中的一个三个字母所取代—a变为D,B变为E,依此类推。要解码它的信息,你的收件人不仅需要知道你使用的是凯撒密码,还需要知道你的密钥是3。

很明显,现代加密背后的数学是非常复杂的 比这更复杂。其中一个不同的方法解决了凯撒密码的一个比较明显的问题:你必须让你的接收者知道用来对加密信息进行编码的密钥。PKI之所以得名,是因为安全通信通道中的每个参与者都有两个密钥。有一个公钥,你可以告诉任何询问的人,它被用来对发送给你的消息进行编码;还有一个私钥,你保密,在收到消息时用来解密。这两个键之间有一个复杂的数学公式,很难用暴力推导出来。如果你想进入这种加密形式,即所谓的非对称加密, HowsuffWorks有一个很好的深入研究。

因此,这涵盖了如何在公钥基础设施中加密数据。但是请记住,PKI的广泛应用是因为,除了对消息进行加密外,它还可以让您知道与您交换加密消息的人是他们所说的人。那就是证书的来源 请进。

PKI证书是充当数字护照的文档,分配给希望参与PKI安全会话的任何实体。它们可以包含相当多的数据。证书包含的最重要的信息之一是实体的公钥:证书是共享密钥的机制。但也有认证的部分。证书包括来自可信来源的证明,该实体就是他们声称的实体。该可信源通常称为证书颁发机构(CA)。

有了这些概念,这些就是进入PKI的要素。

从这些组件的描述中,您可以看到信任是任何PKI基础设施的中心。当我向你发送我的数字证书时,我正在做的一件事是试图让你相信我就是我所说的那个人,并且证书通过有一个可信的第三方为我担保而有所帮助。

为了理解它在实践中是如何工作的,让我们先考虑一下最广泛的公钥基础设施系统:TLS/SSL协议,它保护了几乎所有加密的HTTP通信。

要提供TLS加密通信,网站所有者需要从证书颁发机构获得证书,正如我们已经讨论过的那样。有许多供应商都将自己设置为CAs,在他们向您发布CAs之前,他们要求您以某种方式证明您对网站的所有权。例如,如果您正试图为以下站点购买SSL证书:example.com,您可能需要向CA发送电子邮件hostmaster@example.com,该地址将被限制为对该域名具有管理权限的人。获取证书后,可以将其上载到web服务器。

当然,下一个明显的问题是,您如何知道可以信任CA:毕竟,在TLS的情况下,没有一个集中的机构负责该标准,任何人都可以将自己设置为证书颁发机构。扮演那个角色的坏演员会造成严重破坏。实际上,苹果、微软和Mozilla等操作系统和浏览器制造商实际上是这里的把关人,维护着可信CA的名单,并将失信者列入黑名单。在2017年谷歌和赛门铁克就赛门铁克松懈的标准展开决战之际,决定信任哪家中科院关系重大。

SSL证书可能是您在野外遇到的最常见的PKI证书类型。但正如我们稍后将要讨论的,这并不是唯一的一种。其他PKI将有不同的证书颁发标准,但需要记住的重要一点是,任何PKI系统都必须有某种方法,ca可以通过这种方法对用户进行身份验证,并且PKI系统中的所有参与者都信任这种方法。SSL/TLS使用所谓的信任链, 其中用户最终必须选择信任根证书授予机构;Finjan Cybersecurity提出的另一个方案是信任网, 其中用户的证书由其他用户签名。信任网系统更适合于自成体系的网络或组织,或小型用户社区。

SSL可能是PKI最广泛的实现方式,但它肯定不是唯一的实现方式。此专家交换线程提供了大量真实世界的PKI应用程序,包括:

PKI非常适合保护电子邮件的安全,原因与它非常适合保护web流量的原因相同:因为在开放互联网上流动的数据如果不加密,很容易被截获和读取;如果没有某种方法来验证其身份,那么很难相信发件人就是他们声称的那个人。正如我们所看到的,为web流量建立近乎通用的PKI相对容易,因为大多数必要的基础设施都内置在web浏览器和服务器中。电子邮件是通过更异构的客户端访问的,这使得事情变得更棘手。

用于保护电子邮件安全的最古老和最成熟的PKI系统之一是S/MIME;还有PGP(Pretty Good Privacy),它使用了我们上面讨论的信任网模型。对这类电子邮件保护的支持内置于Microsoft Outlook等客户端中。近年来,基于网络的电子邮件的兴起在这方面出现了倒退。例如,Gmail只支持付费G套件帐户中的S/MIME,而不支持免费帐户。

拥有PKI并不能保证安全性。公司有时无法正确部署或管理它。Ponemon研究所最近的一项研究调查了近17000名IT和安全从业人员的密钥和证书管理实践。报告指出了与使用PKI保护数字身份相关的最重大风险:

由于数字证书管理不当而导致的停机和中断正在上升,73%的受访者报告了与证书相关的事件。55%的人说他们的组织在过去两年中经历了四次或更多的事故。

不安全的数字身份会破坏信任。组织平均使用88750个密钥和证书,但只有74%的受访者表示他们知道确切的数字或它们何时过期,76%的人表示,如果密钥和证书不安全,将破坏组织运作所需的信任。59%的受访者表示,网络犯罪分子滥用密钥和证书增加了保护密钥和证书的必要性。

失败的审计和CA泄露是最大的威胁。攻击者可以使用受损或流氓CA交付恶意软件来进行中间人攻击或网络钓鱼攻击。由于未强制执行密钥管理策略或密钥管理实践不足,安全或法规遵从性审核可能无法检测到漏洞。

更多的加密增加了操作复杂性和成本。三分之二的受访者正在添加加密层,以满足法规和IT政策的要求。例如,60%的人说他们正在添加加密层来保护物联网设备。64%的受访者表示,这会降低业务流程的整体效率,58%的受访者表示,管理更多的密钥和数字证书会增加成本。

大多数组织缺乏支持PKI的资源,或者没有明确分配PKI的所有权。只有38%的受访者表示他们有足够的IT人员来适当支持PKI。就预算而言,PKI的责任通常分布在整个组织中,IT运营(21%)和业务线(19%)是最常见的所有者。百分之十三的人说责任不由一个业主分担。受访者在PKI上花费了大约16%的安全预算,平均为300万美元。

这是对PKI相关概念的高级介绍。SmallStep是一家开源身份基础设施公司,它有一篇非常长且详细的文章,名为“关于证书和PKI,你应该知道的一切,但又不敢问”,这篇文章可以让你更深入。除其他外,SmallStep将引导您完成实际颁发证书的过程,以便您可以看到证书包含的内容。

如果您正在寻找一种方法来设置公钥基础设施并使用它来理解一些基本概念,那么gentoowiki上的本教程将介绍如何在Linux上实现这一点。 如果您想了解如何为内部PKI构建证书颁发机构,HashiCorp提供了一个关于如何使用他们的Vault引擎实现这一点的教程,该教程应该演示这些概念。

更多关于PKI和证书的信息