3.7. 使用PKI

未匹配的标注

使用PKI

如何知道某个给定方或个人实际拥有或被分配了某个特定的密钥?这是密码系统的一个大问题,因为己经介绍过的方法中没有哪种可以将密钥以除了简单承诺外的方式附加到特定的个体。幸运的是,通过组合运用多种技术、流程和软件,人们构建了一种称为公钥基础设施(PKI)的系统。

PKI系统提供了一种将一个密钥对安全地附加到某一特定方或个人的方法,因此成为执行该任务的常用手段。首先,PKI系统自身可以负责密钥对(即前文介绍的公钥和私钥)的生成任务。这样,我们剩下的工作就是找到一种将密钥明确分配给特定个人的方式,可以通过数字证书的方式来实现。

数字证书其实并不是一个十分令人陌生的概念;可以想象一份驾驶执照之类的凭据,它就符合数字证书的许多要求。驾驶执照包含一些内容信息,例如有效日期、序列号、执照颁发对象的签名、准驾车型、颁发执照的州或地区,甚至还有颁发执照的实体的全息印刷签名。如果仔细观察数字证书,即可发现很多相同的项。证书通常会有一个序列号、一个有效期,以及签发该证书的用途,例如数字证书或加密;证书中还有证书分配对象的个体的公钥,以及证书发行者的数宇签名,这些都用于证明证书本身的真实性。谨记当生成数字证书时,该人员实际上正在注册到PK1系统,并同意将由证书颁发机构(CA)跟踪并存储该信息。此外,在生成证书时,还会同时生成密钥对以及用于附加到数字凭据的公钥。

与驾驶执照非常相似,数宇证书仅在特定条件下发出,而且希望加入系统的请求者必须符合其要求,否则将一直拒绝向其签发证书,直到满足要求为止。一旦满足要求认证机构将向其签发数字证书;然而,如果在证书发布后的任何时间,他们违反了要求,或给他们签发的凭据或密钥发生了滥用甚至失控,则可以吊销该凭据。一旦凭据被吊销,其本身以及与之关联的密钥均将失效,这意味着使用己经吊销的密钥执行的任何操作将无法如之前一样通过验证。

认证证书

在获得颁发的数字证书后并试图使用它时,必须由证书的使用对象验证该证书。这么做是合理的,就像在某个你不认识的人向你提供一份凭据时,你可以选择即便不认识他们也采信他们的言辞,也可以选择检查凭据的颁发者,并向他们验证该凭据是否确实有效。

幸运的是,数宇证书声明了证书的领发者,作为证书拥有者,你有条件检查它是否有效以决定是否信任拿出证书并希望与你共事的人。

在实际中,这意味着当一方向另一方提交一个数字证书时,双方将把该证书提交给一个可信第三方,以验证其有效性。可信第三方只是证书颁发机构的一个别称罢了。可信第三方必须是一个通信双方(即使他们并不直接认识对方)同时信任的实体。这是系统能够工作的关键。按照可信第三方的定义,它是一个所有人均信任其正确性和可信性的实体。第三方可判定文档的权威性和可信赖性。可信第三方可以是商业的,也可以是公司内部专用的。

在证书通过验证后,即认为可继续任何之前所请求或需要进行的与当前正在使用的密钥(例如数字签名)相关的操作。

构建公钥基础设施(PKI)结构

监于PKI系统存在于Internet及私人公司和机构中,本节将介绍如何构建它。需要注意的是,PKI并非某不特定软件或硬件:它实际上是一个由一系列的流程和过程组成的系统,而这些流程和过程又由通用的软硬件解决方案支持。通用意味者有一个已知的标准,可供任何希望开发PKI感知应用程序的供应商参考,以使其软件能成功与PKI交互。由于该标淮已经发布且被普遍接受,因此我们可以使用来自不同供应商和来源的应用程序和技术,而且它们都能协同工作。只要它们能够使用同一标准与PK1系统进行交互,就并不用在意其内部实现。

当创建PKI系统时,首个组什是证书领发机构。由于CA负责领发、注册、验证和撇撤销证书,因此必须首先启动该组件。在任何PK1系统中设置的第一个CA是该给定系统的根CA。在根CA下,会有子CA,也称为从属CA。CA都执行相同的功能,但具有不同的权威性级别,这取决于CA在金字塔型CA体系内所处的位置,而根CA则位于金字塔顶。

在按需设置好根CA和所有从属CA后,即可安装和设置PKI感知应用程序。需要为PKI感知应用程序进行的设置并不多;当前PKI感知应用程序中的大名数因为是为某些本身即为PKI感知的操作系统(如Windows或Android)构建的,所以才得以宣称其PKI感知性。因此,这些应用程序理解PKI的能力是从操作系统中继承的,并且不必实现特定的功能。

进行到这一步时确实仍需要完成的唯一操作是识别出应用程序可信任的CA,而大多数情况下,只需要通过在操作系统中定义该CA的名称即可完成该操作。在该操作完成后,CA即可继续流程,向符合要求且已被授权可获取证书的申请者发布证书和密钥对。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~