pki可以实现哪些,pki有哪些功能

http://www.itjxue.com  2023-01-14 05:19  来源:未知  点击次数: 

简述PKI的目的、组成和功能

一、目的与机能

公开密钥基础建设的设置使得未联系的电脑用户可以提出认证,并使用公钥证书内的公钥信息加密给对方。解密时,每个用户使用自己的私密密钥解密,该密钥通常被通行码保护。

大致而言,公开密钥基础建设由客户端软件、服务端软件、硬件、法律合约与保证、操作程序等组成。签署者的公钥证书也可能被第三者使用,用来验证由该签署者签署的数字签名。

通常,公开密钥基础建设协助参与者对话以达成机密性、消息完整性、以及用户认证,而不用预先交换任何秘密信息。然而互通连成员间的公开密钥基础建设受制于许多现实问题,例如不确定的证书撤销、证书中心发行证书的条件、司法单位规范与法律的变化、还有信任。

二、组成

PKI的组成要素主要有:用户(使用PKI的人或机构);认证机构(Certification Authority,CA)(颁发证书的人或机构);仓库(保存证书的数据库)。用户和认证机构称之为实体。

用户是使用PKI的人,使用PKI的人又分为两种:一种是向认证机构(CA)注册自己公钥的人,另一种是希望使用已注册公钥的人。

认证机构是对证书进行管理的人或机构。认证机构进行这几种操作:代用户生成密钥对(当然可以由用户自己生成);对注册公钥的用户进行身份验证;生成并颁发证书;作废证书。另外,对公钥注册和用户身份验证可以由注册机构(Registration Authority,RA)来完成。

仓库(repository)是存放证书的数据库。仓库也叫证书目录。

三、用途

大部分企业级的公钥基础建设系统,依赖由更高端级的证书中心发行给低端证书中心的证书,而层层构筑而成的证书链,来创建某个参与者的身份识别证书的合法性。

这产生了不只一个电脑且通常涵盖多个组织的证书层次结构,涉及到多个来源软件间的合作。因此公开的标准对公钥基础建设相当重要。这个领域的标准化多由互联网工程工作小组的PKIX工作群完成。

企业公钥基础建设通常和企业的数据库目录紧密结合,每个员工的公钥内嵌在证书中,和人事资料一起存储。

今日最先进的目录科技是轻量目录访问协议(Lightweight Directory Access Protocol,LDAP)。事实上,最常见的证书格式X.509的前身X.500是用于LDAP的前置处理器的目录略图。

历史

1976年Whitfield Diffie、Martin Hellman|Hellman、Ron Rivest、Adi Shamir和Leonard Adleman等人相继公布了安全密钥交换与非对称密钥算法后,整个通信方式为之改变。

随着高速电子数字通信的发展,用户对安全通信的需求越来越强。

密码协议在这种诉求下逐渐发展,造就新的密码原型。全球互联网发明与扩散后,认证与安全通信的需求也更加严苛。光商务理由便足以解释一切。时在网景工作的Taher ElGamal等人发展出传输安全层协议,包含了密钥创建、服务器认证等。公开密钥基础建设的架构因此浮现。

厂商和企业家察觉了其后的广大市场,开始设立新公司并引导法律认知与保护。美国律师协会项目发行了一份对公开密钥基础建设操作的可预见法律观点的详尽分析,随后,多个美国州政府与其他国家的司法单位开始制定相关法规。消费者团体等则提出对隐私、访问、可靠性的质疑,也被列入司法的考虑中。

被制定的法规实有不同,将公开密钥基础建设的机制转换成商务操作有实际上的问题,远比许多先驱者所想的缓慢。

21世纪的前几年才慢慢发觉,密码工程没那么容易被设计与实践,某些存在的标准某方面甚至是不合宜的。

公开密钥基础建设的厂商发现了一个市场,但并非九零年代中期所预想的那个市场,这个市场发展得缓慢而且以不同的方式前进。

公开密钥基础建设并未解决所期待的问题,某些厂商甚至退出市场。

公开密钥基础建设最成功的地方是在政府部门,目前最大的公开密钥基础建设是美国防卫信息系统局?(Defense Information Systems Agency,DISA)的共同访问卡(Common access Cards)方案。

什么是PKI?

Public Key Infrastructure(PKI),中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施。

PKI指的是证明书的制作和分发的一种机制。在这个机制的保障前提下,进行可信赖的网络通信。即安全的网路通信保障机制。pki技术是信息安全技术的核心,也是电子商务的关键和基础技术。 pki的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。

扩展资料:

优势

1、采用公开密钥密码技术,能够支持不可篡改的数字签名,在数字签名中包括了验证者的身份信息、验证信息等数据,能够保障数字证书的安全性,同时,在验证的过程中,可以追溯验证者的信息,对数据的安全性提供了较高的保护。

2、支持离线验证身份。基于PKI技术的数字证书,支持离线的身份验证。由于数字证书由CA第三方认证中心发放,数字证书中已经存储用户的身份验证信息以及身份验证的密钥,在身份验证的过程中不需要在线查询,提供了多重身份验证方式。

3、PKI的体系中包含了CA数字证书的撤销服务,使得用户对数字证书应用得到可控,保障了用户在各种环境下身份信息的安全,防止了身份信息的丢失以及被盗后的恶意应用,为CA数字证书提供了可控的安全机制。

4、PKI技术具有良好的网络交互能力。PKI技术能够通过网络为正在交互的双方系统提供有效的安全机制,能够为大规模分布式网络以及更复杂的网络环境提供安全服务,使得网络数据的传输得到有效的保障。

PKI 体系

没有身份验证的情况下,在非对称加密中实现身份验证和密钥协商时,比如常用的 RSA 算法无法确保服务器身份的合法性,因为公钥并不包含服务器的信息。可能出现如下两种情况:

此时需要一种认证体系以确保通信者是安全可靠的。

PKI 的目标就是实现不同成员在不见面的情况下进行安全通信,当前采用的模型是基于可信的第三方机构,也就是 证书颁发机构 (certification authority,CA) 签发的证书。

PKI 通过数字证书认证机构 (CA) 将用户的个人身份跟公开密钥链接在一起。对每个证书中心用户的身份必须是唯一的。链接关系由注册和发布过程确定,取决于担保级别,链接关系可能由 CA 的各种软件或在人为监督下完成。

一个具体实例:

其他的还可以细分为中介证书、终端实体证书、授权证书、TLS 服务器证书、通配符证书、TLS 客户端证书

CA 根证书和服务器实体证书中间增加一层证书机构,即中介证书,证书的产生和验证原理不变,只是增加一层验证,只要最后能够被任何信任的 CA 根证书验证合法即可

具体例子可以看维基百科的例子:

点击浏览器地址栏的绿色小锁可以查看网站的证书链:

二级证书结构存在的优势:

服务器一般提供一条证书链,但也有多条路径的可能。以 交叉证书 为例,一条可信路径可以一直到 CA 的主要根证书,另外一条则是到可选根证书上。

CA 有时候会为同样的密钥签发多张证书,例如现在最常使用的签名算法是 SHA1,因为安全原因正在逐步迁移到 SHA256, CA 可以使用同样的密钥签发出不同签名的新证书。如果信赖方恰好有两张这样的证书,那么就可以构建出两条不同的可信路径。

再回过头来看中间人攻击,需要身份验证后中间人与 Server 通信时接收服务器的证书实现身份验证,但与客户端通信时无法向用户提供可信任的证书。

除非伪造一份证书 (很困难),或者骗取客户端信任,比如在客户机操作系统上添加中间人证书的完全信任,以此实现用户的信任和身份验证。

举个栗子:

使用抓包工具 Charles 时,如果想抓取 HTTPS 的内容,就需要安装其提供的证书并添加信任

没有信任时,抓取的 HTTPS 内容无法解析

取得信任后,抓取的 HTTPS 请求可以和 HTTP 请求一样直接读取

在这个过程中 Charles 就是一个中间人,而且可以完全获取 HTTPS 信息,因为用户安装并信任它的证书,也就可以做到身份验证。

使用隧道的原因是在不兼容的网络上传输数据,或在不安全网络上提供一个安全路径。

隧道通信的机制如下:

一些代理服务器需要认证信息来建立 tunnel. 常见的是 Proxy-Authorization 头域:

关于这个中间代理的详细信息见

讲到 Charles,不得不提另一个抓包工具 Wireshark。这两个工具的抓包原理不同,Charles 是通过代理过滤抓取本机的网络请求,主要抓 HTTP、HTTPS 的请求;

Wireshark 则是使用了 网卡混杂模式 - promiscuous mode ,可以抓取指定网卡上所有流过的包,可以抓取应用层、传输层、网络层的各种封包,但是正常情况下不能解析 HTTPS 的内容 (可以通过配置浏览器提供的对称协商密钥或者服务器的私钥来解密 TLS 内容)。

开启混杂模式时除了可以看到自己电脑上的网络封包,还可以看到目标地址不是本机的网络包 (如果路由器没有做网络分发的工作的话,完全有可能接收到其他电脑的网络包),还可以看到局域网内的广播等等。我看了一篇于此相关的网络攻击手段 - ARP 攻击 。

ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标 IP 对应的 MAC 地址,如图

而 ARP 攻击者可以通过两种方式实现抓取监听局域网内全部或者想要的目标的网络数据:

PKI(公钥基础设施)之证书的信任链(数字证书链)

前面的“PKI(公钥基础设施)之什么是证书的数字签名?”简单科普了一下为什么要使用证书。其实这些以及后面要科普的都是整个公钥基础设施PKI(Public key infrastructure)体系中一部分。下面介绍什么是数字证书的信任链。

证书链是一个有序的证书列表,包含SSL证书和证书颁发机构(CA)证书,使接收方能够验证发送方和所有CA是否值得信任。链或路径以SSL证书开头,链中的每个证书都由链中下一个证书标识的实体签名。

链终止于根CA证书。必须验证链中所有证书的签名,直至根CA证书。根CA证书始终由CA本身签名。

下图说明了从证书所有者到根CA的证书路径

上图从下往上介绍依次有

根证书(Root Certificate)的签名(Root CA’s signature)是用根私钥(Root CA‘s private key)签的。所以验证根证书签名(Root CA’s signature)要用根公钥(Root CA’s public key)才能验证通过。这种情况就叫做自签名(self-sign)。

中介证书(Intermediate Certificate)里面包含了根证书的名称(Issuer’s /root CA’s name)。中介证书里面的签名(Issuer’s signature)是用根私钥(Root CA‘s private key)签的,所以需要根公钥(Root CA’s public key)才能验证通过。

终端实体证书(End-entity Certificate)里面包含了中介证书的名称(Issuer’s / CA’s name)。终端实体证书里面的签名(Issuer’s signature)是用中介私钥(Owner‘s private key)签的,所以需要中介公钥(Owner’s public key)才能验证通过。

常见有四种类型用于使用PKI实现信任模型。

分层模型或树模型是实现PKI的最常见模型。顶部的根CA提供所有信息,中间CA在层次结构中是下一个,并且它们仅信任根提供的信息。根CA还信任层次结构中其级别的中间CA.

这种安排允许在分层树的所有级别进行高级别的控制,这可能是希望扩展其证书处理能力的大型组织中最常见的实现。分层模型允许严格控制基于证书的活动。

在桥接信任模型中,我们在Root CA之间有许多P2P关系,根CA之间可以相互通信并允许交叉证书。该实施模型允许在组织(或部门)之间建立认证过程。

在此模型中,每个中间CA仅信任其上方和下方的CA,但可以扩展CA结构,而无需创建其他CA层。组织之间的额外灵活性和互操作性是桥模型的主要优势。

有时您需要在某个部分链接两个或更多组织或部门,并将其他部分分开。当您需要信任两个组织的某些部分,但您不希望在组织的其他部分中建立信任。在这些时候,混合信任模型可以是最适合您的模型。构建混合信任结构时,您可以非常灵活,此模型的灵活性还允许您去创建混合环境。

请注意,在此结构中,混合环境之外的中间CA只能信任混合环境中的根CA和中间CA,信任连接到混合环境中任何中间CA所有的根CA.

当您想要实现具有交叉认证检查的分层信任模型或根CA的网络时,网格信任模型是您的最佳选择。在其他景点中,网格模型使用多路径和多根CA迁移桥结构的概念。

每个根CA中的认证都在所有Root CA,中间CA和叶CA以及连接到每个CA链的所有最终用户中获得授权。

PKI Trust Models( )

Trust Models and Management in Public-Key Infrastructures( )

(责任编辑:IT教学网)

更多

推荐3DMAX教程文章