今日,在《探索PKI:构建数字世界的安全基石》篇章中,我们将首先探索“什么是PKI?”这一基础性的核心问题。

《PKI之路:入门与实践指南》

麻省理工数字商务中心主任埃里克•布莱恩约弗(Erik Brynjolfsson)在《第二次机器革命》中提到,数字化是今天的一切,是未来的唯一开端。

他表示人类其实只经历过两次技术革命,即机器革命与数字革命,也只有这两次转变,是任何人与组织无法逃避的共同趋势。

确然,当下,我们看见数字化浪潮就在眼前,但正如茨威格所言:“所有命运赠送的礼物,早已在暗中标好了价格”。繁华梦幻的数字世界令人心驰神往,深处却暗潮涌动,网络架构迭代更新速度不断加快,企业组织的信息设备种类也越来越多,人们所面临的网络及数据安全风险挑战也日益加剧。

数字安全变得比以往任何时候都更加重要,这一点毋庸置疑。在网络威胁、攻击等“乌云”笼罩下,如何确保隐私数据和通信的安全性也成为一个迫切的命题。在此之中,PKI(公钥基础设施)作为构建数字世界的安全基石,扮演着至关重要的角色。

什么是PKI?不少人看到这一词都是一头雾水、不知所云。确实,相较于“加密”、“密码安全”、“身份验证”等还算耳熟能详的名词,PKI还是一个非常时髦但又让普通人不明所以,同时对于网络安全产业而言举足轻重的存在。

那么,PKI到底是怎么回事,作用是什么?对我们大众的生活又会带来怎样的影响?

面对上述问题,公钥密码开放社区特推出《PKI之路:入门与实践指南》专题,我们将分为两大篇章:

《探索PKI:构建数字世界的安全基石》篇章中,我们将聚焦于PKI相关的概念定义、工作原理及核心作用,譬如“什么是PKI?扮演着什么角色?”、“什么是公钥与私钥?”、“什么是数字证书和CA机构?”、“电子签名和数字签名有何区别?”,从第一性原理出发,通过理解一系列概念名词的意义作用,我们将认识到PKI是数字世界的安全基石,为我们创造了一个可信、安全的网络环境。

《应用PKI:让数字信任无处不在》篇章中,我们将专注于对PKI应用的探讨,诸如PKI应用场景、应用中所面临的挑战以及我们如何选择合适的数字证书、如何测试数字证书的可用性,这些问题都在我们所探讨的范畴之内,“具体问题具体分析”,由此我们能看到PKI正在深入各行各业,让数字信任无处不在。

简言之,我们希望通过科普一揭PKI的面纱,帮助您更好地理解和应用PKI,确保网络信息安全的同时构建可信的数字世界。

今日,在《探索PKI:构建数字世界的安全基石》篇章中,我们将首先探索“什么是PKI?”这一基础性的核心问题。

PKI的起源和定义

起源

谈起PKI的起源,简单来说,可以追溯到20世纪70年代末,当时密码学家Whitfield Diffie和Martin Hellman在于1976年共同发表的论文《New Directions in Cryptography》提出了公钥密码学的概念,这一论文标志着公钥密码学的诞生,同时,这也是PKI的核心概念之一。

Diffie和Hellman的工作为信息安全领域带来了重大突破,并为后来的PKI和现代加密算法的发展奠定了基础。

定义

PKI,即Public Key Infrastructure,翻译过来也就是指公钥基础设施

概括而言,PKI是一个安全框架和体系结构,用于建立、管理和分发公钥,并提供安全和可信赖的通信和数据传输。它是基于非对称加密算法的一种广泛应用的加密技术框架,通过数字证书证书颁发机构(Certificate Authority, CA)来实现身份验证和信任。

简单来说,PKI并不单指某项技术,而是作为“基础设施”存在,里面包括创建、管理、存储、分发和撤销数字证书所需的硬件、软件、人员、策略和程序等。

打个比方,假设你想向一个陌生人发送一封信,但你不确定这封信会不会在运输路上被拆封,或者无法送到正确的人手上,那么你就需要找到一家可信的邮局,这便是PKI所扮演的角色。

在这家“邮局”里,它能够为你提供以下服务:

(1)身份验证:你的信封上会附上你的身份信息,这样收信人可以确认你是合法的发件人。(类似地,PKI为参与通信的人提供CA机构颁发的数字证书,用于证明其身份的可信性。)

(2)加密通信:邮局会将你信封中的信件加密,只有收件人可以解开。(使用PKI的非对称加密算法,通信中的数据也会被加密,只有合法的接收方能够解密内容。)

(3)数字签名:邮局会在信封上盖上你的名字,在收信人那里验证你的真实性。(使用PKI的数字签名,可以对通信数据进行签名,以确保通信内容在传输过程中没有被篡改。)

PKI的功能和作用


从这一比喻中,我们也就看出了PKI的功能和作用:

一方面解决的是在安全通信方面的问题,通俗来讲就是“上锁”,首先确保数据完整性和机密性,PKI依赖于非对称加密算法,能够使用公钥和私钥对来进行加密和解密,以确保传输的数据既保密又完整。在这一密钥对中,公钥可以公开分享,而私钥必须保密保存。通过使用公钥对数据进行加密,只有相应私钥的持有者才能解密数据。

其次,使用PKI签名机制可以实现不可否认性,即发送方无法否认数据的发送,因为其私钥是唯一可以生成相应签名的机构。

另一方面是确保公钥的真实性和身份验证的可信赖性,也就是发“身份证”。PKI能够通过CA机构来验证和认证实体的身份。同时,检查数字证书中的身份信息和签名,数字证书中包含了公钥、持有者身份信息以及由证书颁发机构签发的数字签名,能够用于验证证书的真实性,从而确认通信方是否合法,并且确保通信过程中的数据不被篡改。

此外,PKI 还提供其他功能,如数字签名、证书吊销、交叉认证等,以支持安全的电子商务、数字身份验证和信息保护。

(关于什么是公钥与私钥、CA机构和数字证书,在后续的文章中我们会详细进行介绍。)

到这里,我们基本上对于PKI是什么以及是干什么的有了一个大致的了解,正如前文所言,PKI并非单一实体,而是一套架构,那么再细致拆分来看,哪些组件组成了PKI体系架构?

PKI体系架构的组件有哪些?

对于这一问题,网络上的介绍基本上都大同小异,基本上都包括有终端实体、证书注册机构、证书颁发机构和证书存储库、证书吊销列表这四大关键部分,以下为更为细致具体的体系架构组件介绍:

证书颁发机构(CA)

CA是负责颁发、管理和撤销数字证书的可信实体。它验证证书请求者的身份,并发行数字证书,使用自己的私钥对证书进行签名,以提供信任。

注册机构(RA)

RA 是一个可选的部件,协助CA进行实体身份验证、证书请求处理和颁发证书。RA可以充当CA的前端,并负责管理实体信息、认证流程、身份验证以及颁发与证书发行相关的操作。

证书存储库

证书存储库是用于存储和维护已颁发的证书的地方。它可以是物理存储设备或分布式数据库,用于存储、检索和分发数字证书以及验证相关证书的状态。

证书撤销列表(CRL)

CRL是由CA签名的作废证书列表,记录所有已吊销、失效或不再信任的数字证书。验证方可以从CRL中检查证书的吊销状态。

在线证书状态协议(OCSP)

OCSP是一种实时查询检查证书状态的协议。它可以用于验证证书的有效性消息,通过查询OCSP服务器获取验证结果,而无需下载整个CRL。

证书目录

证书目录是一个公开可访问的目录服务,用于存储和分发数字证书及其相关信息。它提供了一种集中化的方式,让验证方可以查询和获取所需的证书。

策略管理机构(PMA)

PMA负责制定、制定更新和管理 PKI 的策略和标准。它确保PKI的操作符合规定的安全标准和策略,包括证书颁发、身份验证和密钥管理等方面。

密钥备份和恢复

密钥备份和恢复机制用于安全地备份和管理密钥对,以防止密钥丢失或损坏,并提供可靠的密钥恢复过程。

密钥历史记录

记录密钥生成、证书颁发、证书吊销等操作的日志和历史记录,用于审计和追踪操作的合法性和有效性。

数字签名

用于验证证书的完整性和真实性,以及为数据提供不可否认性和数据完整性。

交叉认证

交叉认证允许不同PKI系统之间的互信和互操作,确保证书在不同PKI环境中的有效性和可信度。

交叉认证是指在不同的认证机构之间建立互相信任关系的过程。它扩展了认证机构域之间的信任,允许它们互相验证彼此颁发的证书。

交叉认证通常涉及两种操作:

建立信任关系:两个认证机构(如贸易伙伴拥有的CA)之间进行双边交叉认证,安全地交换验证密钥。这些验证密钥用于验证证书上的签名。为了完成此操作,每个认证机构都会在一份称为"交叉证书"的证书中签署另一个认证机构的验证密钥。

验证证书的可信度:这是频繁执行的操作。客户端软件通过进行所谓的“信任链”来验证由交叉认证认证机构签署的用户证书。信任链就是追踪到需要验证其他用户证书的认证机构密钥的交叉证书验证列表。在遍历交叉证书链时,每个交叉证书必须被检查以确保其仍然可信任。用户证书必须能够被撤销,因此需要交叉证书以支持吊销操作。

在交叉认证中,建立信任关系的操作并不经常执行,而验证证书的可信度则非常频繁。通过建立和维护这种互相信任的电子关系,不同的认证机构可以共享信任并相互验证证书的有效性。交叉认证在大型分布式组织或需要在不同地理区域使用多个认证机构的情况下特别有用。

客户端软件

PKI的架构中还涉及与上述组件进行安全交互的客户端软件。这包括用于生成密钥对、提交证书请求、验证证书和执行加密操作的客户端应用程序。

终端实体

终端实体是指使用PKI系统来获得和使用数字证书的最终用户。终端实体可以是个人、组织或设备。他们通过生成密钥对、向注册机构或证书颁发机构提交证书请求,并使用颁发的数字证书来进行身份验证、加密通信和数字签名。

终端实体在PKI中非常重要,因为他们直接受益于PKI的安全机制,同时也负责合理地使用和保护它们所持有的证书和密钥对。

综上所述,这些组件共同构成了一个完整的PKI架构,实现了安全的身份验证、加密通信和数据保护。它们相互关联,共同工作,确保了PKI系统的安全性和可信度。

了解了PKI体系架构的组成,那么,在具体的应用当中,PKI又是如何工作的?

PKI的工作原理和过程

工作原理

谈起PKI的工作原理,用一句话来概括那就是:基于非对称算法实现加密、解密、数字签名和验证功能,并使用数字证书作为信任和验证实体的机制,确保通信的保密性、数据的完整性和身份的真实性。

在这里面最重要的就是基于非对称算法的密钥对,也就是公钥与私钥以及数字证书。

想象一下,假如A想要通过互联网向B发送一条加密消息。确保这种交换安全的一种方法是使用PKI。如果A选择使用PKI,他们首先需要B的公钥才能发送消息。公钥使任何用户能够加密指定实体的信息。解密公钥的唯一方法是使用其各自的私钥。

首先,B向A提供了他们的公钥。然后,A使用此密钥来加密他们想要发送的消息、数据或数字材料。加密并发送后,B可以使用其私钥解密并访问该信息。这是PKI的非对称加密的过程。(关于对称加密和公钥加密在后续的文章中会作具体介绍。)

然而,这通常不足以保护两个实体之间的数字对话。

需要建立其他系统来验证所涉及的实体或用户的身份——这些系统能够确认发送给他们的公钥属于其预期的接收者。如果没有额外的安全措施,实体可能会与冒充他人的用户进行敏感数据交换。这样的结果将破坏整个互动的安全性、保密性和信心。这就是数字证书的“用武之地”。

数字证书基本上是一段独特的代码或大量数字,表明Web服务器受到称为证书颁发机构的独立来源的信任。证书颁发机构充当两个实体间都信任的中间人。它确认每个实体确实是它所说的那个实体,然后将每个实体的公钥提供给另一个实体。

以上便是PKI的基本工作原理。

工作过程


一般而言,PKI的工作过程可以概括为以下步骤:

(1)生成密钥对:首先,实体(例如用户、服务器或设备)生成一对密钥,这对密钥包括公钥和私钥。公钥用于加密信息,私钥用于解密信息。

(2)证书签发请求(CSR):实体向认证机构(CA)提交证书签发请求(CSR)。CSR中包含实体的公钥和其他身份信息。

(3)证书颁发:CA收到CSR后,对实体的身份进行验证,并使用自己的私钥对实体的公钥和身份信息进行数字签名。这样生成的数字签名和实体的公钥一起形成了证书。

(4)证书分发和存储:CA将颁发的数字证书分发给实体,并将其存储在公共目录或证书库中。实体可以通过公共目录或其他方式获取需要验证的数字证书。

(5)证书验证:当实体需要验证其他实体的数字证书时,它使用颁发机构的公钥来验证证书的合法性和完整性。实体使用CA的公钥解密数字签名,并比对解密结果与证书中的摘要信息。如果验证成功,就可以信任该证书。

(6)安全通信:通过使用公钥加密和私钥解密的方式,实体可以在通信过程中保证信息的机密性和完整性。发送方使用接收方的公钥加密消息,接收方使用自己的私钥解密消息。

(7)证书更新和吊销:证书只在一定的有效期内有效,过期后需要更新。如果一个实体的私钥泄漏或身份信息发生变化,相关的证书可能会被吊销,不再被信任。

PKI的信任机制

说来说去,其实PKI的核心就是为了构建一个可信的数字世界,那么,PKI的信任机制是怎样的?

具体来看,PKI的信任机制是建立在可信的CA机构和数字证书的使用基础上的,主要包括以下三部分:

信任链:

PKI中的信任链由根证书、中间证书和终端证书组成。根证书由最高级别的认证机构颁发,中间证书由根证书颁发,而终端证书由中间证书颁发。

验证方可以通过逐级验证每个证书的签名,确保所有证书都是由受信任的CA签发的,从而建立信任。

(1)根证书PKI的信任链的起点是根证书,它是由受信任的认证机构(CA)直接颁发,并且在PKI信任机制中具有最高的信任级别。根证书的公钥通常内置在操作系统、浏览器或其他应用程序中,用户可以信任这些根证书,从而信任由其签发的证书。

(2)中间证书:中间证书由根证书颁发机构签发,用于构建信任链。中间证书可以继续签发其他证书,包括终端证书。通过验证中间证书的信任,验证方可以间接信任终端证书的真实性。

(3)终端证书:终端证书是由中间证书颁发机构签发给最终实体的证书。终端证书包含实体的身份信息和公钥,并由中间证书的私钥进行签名。验证方可以通过验证终端证书的签名和信任链的完整性来验证证书的真实性。

证书撤销列表:

在上文的PKI架构组件部分已有作介绍。简单来说,CRL是由证书颁发机构维护的包含已吊销或失效的证书信息的列表。CRL包含吊销证书的序列号、吊销原因和吊销日期等信息。

验证方可以通过下载和检查CRL来确认要验证的证书是否在CRL中,以判断证书的有效性。

在线证书状态协议:

OCSP是一种实时查询证书状态的协议,通过与OCSP服务器通信来获取特定证书的状态。

验证方可以向OCSP服务器发送证书状态请求,以以获取证书的有效性信息。OCSP响应会明确告知证书的状态,如有效、吊销或过期。

通过信任链、CRL和OCSP等机制,PKI实现了对数字证书的有效性和真实性的确认。验证方可以跟随信任链来验证证书的签发机构和根证书的信任。同时,验证方可以通过检查CRL和OCSP来确定证书是否处于有效状态。

这些信任机制组成了PKI的信任框架,从而确保了通信的安全性、身份认证的可靠性和数据的完整性。

PKI的应用场景有哪些?

讲完了PKI的定义与作用和工作原理,那么PKI的应用场景在哪里?

用一句来说的话,那便是“当你需要信任的时候,就需要PKI。”

具体来看,一些常见的PKI应用场景包括:

安全通信:PKI用于加密和解密通信内容,确保数据的保密性和完整性。它可以用于安全电子邮件、虚拟专用网络(VPN)、网站加密通信(HTTPS)、安全即时通信等。

数字签名:PKI提供数字签名机制,用于验证文件的来源和完整性。它可以应用于电子合同、电子文档签名、数字版权保护等场景。

身份认证与访问控制:PKI可用于身份验证和授权,确保只有经过授权的用户能够访问敏感资源。它可以支持单点登录(SSO)、远程访问控制、网络身份认证等。

数字证书和加密密钥管理:PKI用于生成、发布、存储和撤销数字证书,以及管理加密密钥。它能够提供对证书和密钥的安全分发、更新和吊销机制。

电子商务和金融安全:PKI在电子商务和金融领域中起着重要的作用,包括在线支付、交易认证、电子票据、电子商务平台安全等方面。

物联网安全:PKI可用于物联网设备身份验证、安全通信和数据加密等场景,确保物联网系统的安全性和隐私保护。

从更具体的应用场景来看,此前,Entrust有进行详细介绍:

传统应用场景包括——

·用于公共网站和服务的SSL证书

·用于私有网络和虚拟专用网络(VPN)

·用于基于公共云的应用程序和服务

·用于基于私有云的应用程序

·邮件安全

·企业用户身份认证

·设备身份认证

·基于私有云的身份认证

·文件/消息签名

·代码签名

还有一些新兴的应用场景——

·基于云的服务

·消费者移动设备

·物联网(IoT)

·面向消费者的移动应用程序

·BYOD政策和内部移动设备管理

·电子商务

这些新兴的应用案例涉及到新技术和新趋势的应用领域。PKI可帮助确保这些应用的安全和可信性,例如通过为云服务提供身份验证和加密,维护物联网设备的安全性,保护移动应用程序和移动设备中的数据,以及为电子商务提供机密性和完整性保护等。

一言以蔽之,随着不断发展的商业模式越来越依赖电子交易和数字文档,并且越来越多的互联网感知设备连接到企业网络,公钥基础设施的作用不再局限于安全电子邮件、用于物理访问的智能卡等孤立系统或加密的网络流量。

如今的PKI预计将支持复杂生态系统中大量的应用程序、用户和设备。随着政府和行业数据安全法规更加严格,主流操作系统和业务应用程序比以往任何时候都更加依赖组织PKI 来保证信任。

写在最后

关于PKI还有许多更深入的细节和应用,在本文中我们只是浅尝辄止,探索了PKI的冰山一角。

作为一个广泛而复杂的领域,PKI涉及的概念、技术、协议和实践都非常丰富,其覆盖范围远远超出了这篇“简介性”的文章。

在后续的文章中,我们将持续提供更多关于PKI的知识和信息,深入探讨PKI的不同方面,不限于数字证书的生成和管理、证书颁发机构的角色、密钥管理和验证流程等。我们还将介绍PKI在不同行业和应用中的具体应用案例,以及面临的挑战和解决方案。

请继续关注我们的后续文章,期待在构建安全数字世界的道路上与您一同前行。