PKI基本原理概述

VSole2022-05-29 13:33:47

在商用密码应用方案的设计和研讨中,证书相关内容几乎在每个方案中都要碰到。在日常工作讨论中,密小白发现,PKI是一个让不少人感到困扰的概念,公钥、证书、CA和PKI的含义是什么,他们之间的关系是什么?用公钥就必须证书吗?我们的国密CA和书上介绍的通用PKI相比有什么特点?下面,我们就来捋一捋这些基本概念,希望对大家理解PKI和用好PKI进行商用密码保障系统设计有所帮助。


一、中间人攻击与公钥真实性问题

密码技术起源于军事应用,在一战和二战的态势发展中起到关键作用,那时加密通信离不开一个关键的用来传递密钥信息的密码本,解密方必须获得加密方在加密时采用的密钥,才能顺利解密信息。直到1976年Diffie和Hellman发表《密码学的新动向》,证明了在发送端和接收端无需传输密钥也可进行保密通讯,从此开启了公钥密码学的新纪元。随后RSA公钥密码算法发表,公钥密码得到广泛应用,不仅用于保密通信,提供信息的机密性功能(如图1所示),也用于数字签名,提供信息的完整性、真实性和不可否认功能(如图2所示)。

 

 


 

在图1的加解密通信过程中,发送端A采用接收端B公钥对消息进行加密,接收端B收到密文后,用自己的私钥进行解密即可得到明文。在基于公钥体制的保密通信中,通过公钥无法推出私钥,公钥可以公开给任何人,不必担心密文被知道公钥的人解密。

虽然公钥不用保密,但是,如何保证公钥的真实性也是一个难题。如果发送方A事先并没有接收方B的公钥,需要从网络上获取公钥时,主动攻击者Eve就有机会发起攻击,对双方通信进行窃听。针对公钥密钥的中间人攻击过程如图3所示。

 

 


 

(抱歉上图第7步有误,SKe应为PKe),攻击者Eve在网络中截获Alice和Bob间的所有通信报文,并按需要进行转发或者替换,就能用自己的公钥PKe替换Bob的公钥PKb,进而解密Alice发给Bob的消息,并伪造出Bob能正常解密的消息。

同样,在图2的签名验证过程中,签名方A用自己的私钥对消息进行了签名,验证方B收到签名后,需要用A的公钥对签名值进行运算,以判断签名值是否真正由A产生。如果在不知情的情况下采用了攻击者Eve的公钥,那攻击者伪造的任何签名都能通过验证了。

因此,在基于公钥体制的安全通信中,无论是消息的加解密过程,还是消息的签名验证过程,得到真实的公钥就显得非常重要了。也就是说,在公钥密码体制中,虽然公钥不需要保密,但是在使用公钥的时候,必须要保证公钥的真实性,知道公钥属于哪个主体。

二、为什么需要证书、PKI?

证书就是为了解决公钥真实性而提出的技术手段。

认证机构CA将主体的身份信息及其公钥放在一起,用自己的私钥进行签名后发放的文件就是证书。基于证书建立的公钥真实性信任链条如图4所示。

 

 


图4 基于证书建立的公钥真实性信任链

 

验证者使用自己信任的认证机构CA的公钥PKca,经过验证运算可以判断一张证书的真实性;通过一张真实的证书,可以相信证书中实体公钥的真实性。在这个信任链条中,使用认证机构的真实公钥是信任的源头。

为了解决公钥的真实性问题,引入了证书,由认证机构来进行签名。但是,认证机构为什么可信,证书如何颁发,私钥泄露后证书如何作废,证书如何查询,这些问题需要建立系列规范来解决,否则,公钥的真实性仍然无法在网络系统中得到确认。PKI就由此而生了。

 

三、PKI的三个基本组成要素

PKI全称为公钥基础设施(Public-Key Infrastructure),是为了有效运用公钥而制定的一系列规范和规格的总称。它是总称,而不是一个单独的标准或规格。RSA公司的PKCS系列,某些IETF RFC标准,ITU-T的X.509,都是PKI的标准,根据具体所采用的规格,PKI有很多变种。虽然PKI涉及的内容似乎很多,但其基本组成可以总结为三个部分,如下图所示:


 

 图5 PKI的三个基本组成要素


 

1:PKI用户(实体)

如上图5所示,PKI包括两类用户,一类是注册公钥的PKI用户,另一类是使用公钥的PKI用户。

注册公钥的PKI用户在PKI系统中的主要操作包括:

—向认证机构注册公钥,申请证书。公钥可以自己产生后提交给认证机构,也可以由认证机构产生。

—根据需要申请作废已注册的公钥,表示自己不再使用该公钥。

—用私钥解密接收到的密文。

—用私钥对消息进行数字签名。

使用公钥的PKI用户在PKI系统中的主要操作包括:

—查找某个实体的证书。

—对查找或获取的证书进行验证(验证内容包括:证书的真实性,证书的有效期,证书是否撤销)获取可信的公钥。

—用对方的公钥将消息加密后发送给接收者。

—用对方的公钥验证数字签名。

2:认证机构(CA)

认证机构(CA:Certification Authority)负责审核注册公钥的PKI用户提交的身份信息,并为用户颁发证书。其在PKI系统中的主要操作包括:

—生成密钥对(也可由用户生成)

—在注册公钥时对用户身份及信息进行认证

—生成并颁发证书

—作废证书(CRL:Certificate Revocation List )

其中,公钥注册和用户身份认证这部分工作可以由注册机构(RA)来分担。

3:证书库

证书库也叫证书目录,是树形的数据库DB。PKI用户在需要时从其中获取证书。查找证书的标准协议有LDAP和OCSP两类。LDAP(轻型目录访问协议,Lightweight Directory Access Protocol),用户通过LDAP服务可以直接查到需要的证书和CRL。OCSP(在线证书状体协议,Online Certificate Status Protocol):用户通过OCSP服务可以查询到某个证书的状态(有效/注销/未知)。

 

到此为止,我们讲解了公钥机制的中间人攻击风险,以及为了解决公钥真实性问题而出现的证书和PKI体系。希望对于大家理解公钥、证书和PKI的基本原理有所帮助。

公钥基础设施pki
本作品采用《CC 协议》,转载必须注明作者和本文链接
全国信息安全标准化技术委员会归口的《信息安全技术 基础设施 PKI系统安全技术要求》和《信息安全技术 基础设施 PKI系统安全测评方法》2项国家标准现已形成标准征求意见稿。
据安全内参了解,近年来已出现多起漏洞事件。2021年7月,PenTestPartners团队研究了6款在欧洲和美国流行的充电桩品牌,发现一系列电车充电桩的软硬件漏洞,可导致远程控制充电器乃至进一步破坏电网稳定性等危害。写在最后 保护电车充电设施免受网络犯罪侵害,应当成为生态系统中各参与方的共同责任。IT安全行业已经达成重要共识,即电车安全将是一场持久战。
目前,EV充电桩本身已经成为了主要的攻击目标。并且近期频发的黑客攻击活动也进一步表明:EV正不断陷入风险之中。ISO 15118.20是一项于2022年更新的国际标准,旨在加强充电站和EV之间双向通信的安全要求。该标准提供了即插即充电的功能,使用安全证书来自动识别EV,并验证支付方式。结语保护EV充电基础设施免受网络犯罪分子的攻击是全体EV生态参与者的责任。
在数字安全领域中,X.509、X.509数字证书和CA是三个常见的术语,他们经常一起出现,那么你知道X.509是什么?X.509数字证书是什么?CA是什么?X.509、X.509数字证书与CA的关系是什么?下面我们将详细介绍。 什么是X.509?X.509是基础设施(PKI)的标准格式。X.509 最初于1988 年与用于电子目录服务的X.500 标准一起推出,后被IETF的基础
拥有国内 OCSP 服务的SSL证书,其相关域名已经在信部进行备案,使得服务更加合规,避免被误拦截的情况发生。因此目前国内许多企业会选择国内的OCSP SSL证书,以保证网站访问的稳定性与可用性。
一、前言 在上次《拨开俄乌网络战迷雾-域名证书测绘篇》里,对俄乌双方网站域名证书的存活情况和颁发机构分布情况变动研究中,发现难以从部分证书解析得到的颁发者名称及机构中,正确识别其证书颁发机构(Certificate Authority, CA)。针对此类问题进行调研,发现一篇发表在USENIX 2021的论文工作[1],如图1所示。其作者提出基于CA对证书的操作行为特征进行聚类的Fides系统,
车联网产业是汽车、电子、信息通信、道路交通运输等行业深度融合的新兴产业。
属性,以获得用于检索 NTLM 哈希值和请求 TGT 票据。PKINIT 是 Kerberos 协议的扩展协议,允许在身份验证阶段使用数字证书。KDC 拥有客户端密钥的副本,并且可以解密预身份验证的数据以对客户端进行认证。
—2020 信息技术 安全技术 密钥管理 第1部分:框架 —2021 信息技术 安全技术 密钥管理 第3部分:采用非对称技术的机制 17964—2008 信息安全技术 分组密码算法的工作模式 —2000 信息技术 安全技术 散列函数 第1...
VSole
网络安全专家