行业新闻与博客

什么是 PKI?公钥基础结构(PKI)速成班

有没有想过什么是公钥基础结构(PKI)及其工作原理?它只是用于确保身份验证,数据完整性和隐私的最关键系统之一。

密码学世界充满了绝妙的主意,而这些主意之一就是公钥基础结构(PKI)。但是,什么是 PKI?它对组织和数据隐私有什么要求?简而言之,它是控制加密的流程,策略,身份验证和技术的系统,最终将保护我们的短信,电子邮件,密码,信用卡信息和可爱的猫咪照片……好吧,您明白了,对吧?



PKI 是已成为我们日常生活不可或缺的一部分的基础架构,而我们绝大多数人甚至都不知道它是什么!好吧,这使我们所有人都在 Hashed Out 上感到难过,这就是为什么我们试图将复杂的书呆子内容分解为一种可以理解的形式。



那么,什么是 PKI?在本文中,我将向您介绍作为公钥基础结构(PKI)的艺术和科学及其所需要的一切。



让我们将其散列出来。



常规加密中的“关键”问题

但是在我们继续回答“什么是 PKI?”之前 问题并讨论其工作原理,让我们首先考虑一个简单的场景。假设有一个间谍叫爱丽丝(Alice),她想向她的高级官员鲍勃(Bob)发送机密信息。她无法以明文形式发送此信息,因为敌人很容易拦截并读取 / 篡改它。这就是为什么她必须以鲍勃能够获得的,但他们的敌人不会的,无法读取的形式发送此信息。换句话说,爱丽丝将需要对信息进行加密。 







但这是一个问题。如果 Alice 使用密钥(某些逻辑)锁定(加密)消息,那么 Bob 将如何解密它?他必须拥有钥匙,对吗?要把钥匙交给鲍勃,别无选择,只能与他面对面会面(至少可以说)是完全不切实际的,或者通过快递将其发送并冒被截取的风险。



这样的加密方法不仅在物理世界中而且在虚拟世界中都是有问题的。每当两台计算机希望安全地通信时,它们每次交互时都必须就单个加密密钥达成一致。这是一个数学过程,需要时间。而且,如果有一台服务器(例如,银行)与多个用户通信,则该服务器将必须为每个客户交易执行计算过程,这将进一步降低其速度。所有这些事情都涉及各种复杂的过程和协议,必须以微速处理。



那就是 PKI 进来的地方。



PKI 如何改变一切

除了使用相同的密钥进行加密和解密的常规加密(也称为对称加密)之外,PKI 还涉及在公知的过程中使用密钥对(公共密钥和私有密钥)。公钥加密。这些密钥之一对信息进行加密,而另一个对信息进行解密。这两个键是不同的,但是它们在数学上是相互关联的。这意味着用一个密钥加密的信息只能使用与其关联的密钥来解密。顾名思义,公用密钥是公开可用的。另一方面,私钥保持私密。



因此,如果 Alice 和 Bob 使用公共密钥基础结构而不是对称加密方法,则 Alice 可以使用 Bob 拥有的公共密钥对秘密消息进行加密。然后,鲍勃(Bob)用他的私钥是唯一可以解密消息的人。这样,他们就可以安全地进行通信,而不会让敌人阅读 / 篡改。不仅如此,鲍勃还可以确定消息是来自爱丽丝,而不是其他人。



挺酷的,不是吗?



PKI 适用的热门区域

在回答“什么是 PKI?”时 您不仅需要讨论其组成,还需要讨论其使用方法。全世界的企业和组织都有几种使用公钥基础结构的方式:



网站安全性(HTTPS / SSL)

PKI 最流行的用途是在 Web 浏览器(客户端)和 Web 服务器(网站)之间提供安全的加密通信。这是通过使用 HTTPS 协议完成的,该协议是通过在 Web 服务器上安装 SSL 证书来实现的。



SSL 证书用作网站的身份证,浏览器可以通过它来验证自己是否与正确的网站进行通信。购买 SSL 证书时,将获得公共密钥和私有密钥。私钥秘密存储在 Web 服务器上,服务器使用它来证明其合法性。







通过使用 PKI,可以得到 SSL 证书:



保护消息的完整性,

保护信息免受中间人攻击,并且

验证两个通信方(浏览器和服务器)。

当您发送密码,信用卡信息,私人消息等重要信息时,这种三管齐下的安全方法至关重要。这就是为什么将 PKI 称为“网络安全的基石”并不为过。



安全外壳协议(SSH)

安全外壳(SSH)是一种加密网络协议,可通过不安全的网络在主机和用户之间提供安全的网络服务。它用于促进从一台计算机到另一台计算机的安全远程登录。SSH 的核心也是公钥基础结构(PKI)。



电子邮件安全性(S / MIME 协议)

PKI 的另一个重要用途是对电子邮件和电子邮件通信进行加密和数字签名。这是通过称为 S / MIME 的互联网标准 / 协议或称为安全 / 多功能互联网邮件扩展名)完成的。这些证书称为 S / MIME 证书。







就像 SSL / TLS 协议一样,这里的 PKI 也使用证书来实现,但是它们的方式不同。这种端到端加密不是对安全通信通道进行加密,而是对消息本身进行加密。



这意味着 S / MIME 证书不仅对电子邮件进行加密,而且对它们进行数字签名以验证发件人的身份和消息本身的完整性。



安全消息传递

无论是 WhatsApp,iMessage,Facebook Messenger 还是其他此类消息传递服务,我们都使用通信服务或应用程序。这些服务中的许多服务都是使用 PKI 加密的,可以防止尝试进行数据拦截和篡改。尽管许多政府(如 Apple,Microsoft 和 Facebook)都坚决主张实施端到端加密,但许多政府仍希望取消它们。



文件签署

就像用于验证物理文档的物理签名一样,需要对文档进行数字签名。首先,它可以帮助收件人确保邮件来自经过验证的实体;它还允许他们确保它未被篡改。PKI 也使用文档签名证书来完成此操作。







代码 / 应用签名

每天都有数百万用户在计算机和移动设备上下载数百万个应用程序。开发公司或个人创建这些程序。但是,如何保证您要安装的软件来自您认为来自的公司 / 个人?有人不能只是更改文件名并伪装成恶意软件吗?是。这是每个人都非常关心的问题。嗯,这就是代码签名证书的来源。







代码签名证书用于验证开发者或发布者的身份以及文件的完整性。这使浏览器可以使用公钥加密来验证软件本身是否未发生任何更改。它通过应用数字签名和单向哈希来实现。



PKI 101:证书,密钥和证书颁发机构

许多人问我们:“ PKI 到底是什么?” 嗯,答案很简单:这是一个用于加密和身份验证的系统,它并不是特定的产品 / 软件。因此,实现加密需要一些物质基础。它以各种技术(硬件和软件),实体(例如证书颁发机构,我们将在后面详细介绍),流程,策略和过程的形式出现。该系统促进并管理加密以及一切可能的事情-从公用密钥和数字证书的基础到对它们的管理,以及了解颁发和吊销它们的 CA 的一切。



因此,我们可以说公钥基础结构由三个主要元素组成:密钥对,X.509 数字证书和证书颁发机构。



现在我们了解了密钥对,下面让我们了解 PKI 的其他两个关键组成部分-数字证书和证书颁发机构(CA)。



数字证书

数字证书是一组文件,通过它们我们可以实现公钥基础结构(PKI)的各种安全应用程序。简而言之,它是证明其所有者身份的文档。它由有关密钥的信息,有关其所有者的信息以及证书颁发机构的数字签名组成。有几种不同类型的数字证书(您可能会注意到,与我们上面介绍的 PKI 的流行用法相对应)。以下是在 PKI 基础结构中可以找到的某些 X.509 数字证书类型:



SSL / TLS 证书

S / MIME 证书

代码签名证书

客户端认证证书

证书颁发机构

让我们理解一个简单的场景:如果爱丽丝想向鲍勃发送加密消息,则她可以获取他的数字证书,使用其公钥对信息加密并向他发送安全消息。但这是一个潜在的问题:爱丽丝如何才能确保实际上是鲍勃拥有她使用的证书和公钥?如果她实际上是向一个自称是鲍勃的敌方间谍发送消息,该怎么办?



证书颁发机构(CA)来了!



证书颁发机构是发布和管理数字证书的受信任的第三方实体。它们是 PKI 中最关键的实体,因为成千上万的用户(有意或无意)都将依赖它们。



在颁发数字证书之前,CA 应该进行审查过程,以确保将证书颁发给合法实体。甚至在审核过程中的一个小错误都可能导致发布错误,并不仅造成损害,而且导致对 PKI 系统整体信任的灾难。因此,要成为受信任的 CA,您必须满足由独立的浏览器,操作系统和移动设备主体(称为 CA / Browser 论坛(简称 CA / B Forum))形成的严格标准。最重要的是,您需要数百万美元的基础架构,其中包括相当大的操作元素,硬件,软件,策略框架,实践声明,审计,安全基础架构和人员。



公钥基础设施的优势

考虑到所有这些,使用公钥加密作为公钥基础结构的一部分有多个优点。这些是什么?哦,我很高兴你问...



认证方式

在欺诈者和诈骗者尝试使用本书中的所有技巧来欺骗用户的时代,身份验证 / 验证已成为当务之急。通过网站,电子邮件或短信传输信息时,必须确保与目标实体进行通信。通过证书颁发机构进行的审查过程以及私钥和公钥的使用,PKI 以前所未有的流畅方式促进了身份验证。



隐私

涉及在线通信的基本安全要素之一是隐私。毕竟,没有人愿意透露自己的密码,信用卡信息或可爱的猫照片。通过对发送方和接收方之间的数据进行加密,PKI 可以确保原始数据的安全性,以便只有目标接收方才能看到其原始格式的数据。 



数据的完整性

当您在线发送敏感信息时,双方必须让接收者以不变的形式接收数据。通过一种称为“散列”的技术,PKI 允许收件人检查消息 / 文档 / 数据是否保持相同的形式。



不可否认

PKI 提供了一种对在线交易(文件,电子邮件,文档等)进行数字签名的机制,这是我们对文档和内容进行物理签名的方式。这样,就可以证明签名的人是数据的创建者。因此,这也使发件人无法否认他 / 她是签名并发送的人。这称为“不可否认”。



公钥基础结构的缺点

尽管公钥基础结构及其提供的加密有许多优点,但我们会承认-这并不完美。还有一些值得注意的缺点:



速度

PKI 是一个非常安全的过程,可以实现预期的目标。很大一部分功劳归功于密钥对和超复杂的数学算法。但是,这种复杂性在加密大量数据时会带来计算开销。结果,它将数据传输过程减慢了一点点,精确到 5 毫秒(ms)。在 CPU 使用率方面,发现加密连接和未加密连接之间的差异为 2%。尽管这种差异很小,但是您可以考虑迁移到 HTTP / 2 以加快数据传输过程。



私钥妥协

PKI 背后的数学原理非常强大,以至于超级计算机 (更不用说黑客)也无法在实际时间内破解它。但是,整个 PKI 的安全性并不依赖于不可战胜的数学。它也取决于私钥的安全性,因为它可以解密由公钥加密的数据。



因此,如果私钥遭到破坏,网络犯罪分子就无需破解超级复杂的数学算法。他们可以使用私钥解密(过去和将来的)数据,还可以模仿服务器来欺骗客户端。这可能导致组织机密,密码,财务信息等受到威胁。换句话说,它可能导致前所未有的灾难。这是使用 PKI 时引起关注的重要原因。



依赖证书颁发机构

PKI 不是一种技术;这是一个系统。与其他所有系统一样,它也具有组件。PKI 的关键组件之一是颁发证书的证书颁发机构。正如我们前面所看到的,CA 应该进行审查过程并签署数字证书,以确保仅将证书颁发给合法的人 / 组织。但是,如果由于某种原因,CA 受到威胁,那么它可能会给全球数以百万计的人员和组织造成安全混乱。



PKI 如何在 SSL / TLS 中工作

世界上有超过 45 亿互联网用户,即使他们可能不知道,他们都通过 SSL / TLS 使用 PKI。当您现在正在阅读这句话时,您的浏览器和我们的服务器正在通过称为“ SSL / TLS 握手”的 PKI 加密过程传输数据。让我们更详细地探讨这个过程:



1.首先,当客户端(浏览器)根据用户请求访问 Web 服务器时,客户端向服务器发送其受支持的密码套件和兼容的 SSL / TLS 版本以启动连接。这被视为“客户端问候”消息。



2.作为回报,Web 服务器将检查密码套件以及 SSL / TLS 版本,并将其公共证书与“服务器问候”消息一起发送给客户端。



3.客户端(浏览器)在收到证书文件后对其进行身份验证。如果发现证书有效,则浏览器通过使用 SSL / TLS 证书的公共密钥加密“预主密钥 / 密钥”来启动私钥验证过程。



4.作为回报,Web 服务器使用其私钥解密主密码。



5.现在,客户端和服务器都根据客户端随机数,服务器随机数和预主密钥生成会话密钥。双方生成的此会话密钥必须相同。



6.客户端发送用会话密钥加密的“完成”消息。



7.服务器发送用会话密钥加密的“完成”消息。



完成上述所有步骤并完成 SSL / TLS 握手过程后,将在客户端和浏览器之间建立安全连接。



瞧!而已。



(注意:上面的握手过程是 TLS 版本 1.2 的过程。尽管该过程非常复杂,但为了简化理解,我们在这里对其进行了简化。请查看这篇文章,以深入了解 SSL / TLS 过程。它也很重要请注意,TLS 1.3 也在使用中,但在撰写本文时,TLS 1.2 更常用。)



最后的话

我们认为我们已经彻底回答了您的问题“什么是 PKI?” 如您现在所知,公钥基础结构是使网络犯罪分子远离我们的电子邮件,密码,财务详细信息,个人消息等的石墙。这是构成当今网络安全的基础-无法想象一个没有安全保障的世界考虑到 PKI 可以使我们在许多方面保持安全。



PKI 坚不可摧吗?不,它有改进的余地;这就是为什么我们一次又一次地看到 PKI 生态系统中发生变化的原因。世界领先的证书颁发机构积极主动,并且一直在寻找提高我们安全性的方法。可以肯定地说,我们处于最佳状态。



本文由机器译制

需要帮助吗?联系我们的支持团队 在线客服