首页 > 编程知识 正文

基于公开密钥体制,pki是基于对称加密的原理实现的

时间:2023-05-03 06:03:45 阅读:210835 作者:3105

文章目录 公钥基础设施(PKI)PKI的组成要素用户认证机构仓库认证机构的工作生成密钥对注册证书作废证书与CRL 对证书的攻击在公钥注册前进行攻击注册相似人名进行攻击

公钥基础设施(PKI)

公钥基础设施(Public-Key Infrastructure)是为了能够更有效的运用公钥而制定的一系列规范和规格的总称。公钥基础设施一般根据其英文缩写而简写成PKI。
PKI是一个总称,而并指某一个单独的规范或者规格。下图为PKI的基本要素(用户、认证机构和仓库)以及认证机构所负责的工作。

PKI的组成要素

PKI的组成要素主要有以下三个:

用户————使用PKI的人认证机构————颁发证书的人仓库————保存证书的数据库
不过由于PKI中用户和认证机构不仅限于“人”(可能也是计算机),因此我们可以给他们起一个特殊的名字,叫做实体。实体就是进行证书和密钥相关处理的行为主体。
用户

用户就是像qfdld、sfdgb这样使用PKI的人,包括两种:一种是希望使用自己的KPI注册自己公钥的人,另一种是希望使用已注册的公钥的人。
【注册公钥的用户所进行的操作】

生成密钥对(也可以由认证机构生成)在认证机构注册公钥向认证机构申请证书根据需要申请作废已注册的公钥解密接收到的密文对消息进行数字签名

【使用已注册公钥的用户所进行的操作】

将消息加密后发送给接收者验证数字签名 认证机构

认证机构(Certification Authority, CA)是对认证书进行管理的人。认证机构主要所进行的操作如下:

生成密钥对(也可以由用户生成)在注册公钥时对本人身份进行认证生成并颁发证书作废证书
认证机构的工作中,公钥注册和本人身份认证这一部分可以交给注册机构(Registration Authority, RA)来分担。 仓库

仓库(Repository)是一个保存证书的数据库,PKI用户在需要的时候可以从中获取证书,它的作用优点像打电话时候的电话本。仓库也叫做证书目录

认证机构的工作 生成密钥对

生成密钥对有两种方式:一种是由PKI用户来自行生成,一种是由认证机构来生成。

注册证书

在用户自行生成密钥对的情况下,用户会请求认证机构来生成证书。认证机构根据其认证业务准则对用户的身份进行认证,并生成证书。在生成证书的时候,需要使用认证机构的私钥来进行数字签名。生成的证书格式是由X.509定义的。

作废证书与CRL

当用户的密钥丢失、被盗取的时候,认证机构需要对证书进行作废处理。此外,即使私钥安装安然无恙,有时候也需要作废证书,例如公司的用户离职将导致其失去私钥的使用权限。
纸质证书只要撕毁即可,但是对于这里的证书来说是数字的。即使从仓库中删除也无法作废,因为用户会保存证书的副本,但认证机构也不能入侵用户的电脑将副本删除。
要作废证书,认证机构需要一张证书作废清单,简称为CRL。
CRL是认证机构宣布作废证书的一览表,具体来讲,是一张已经作废的证书序列号的清单,并由认证机构加上数字签名。证书序列号是认证机构颁发的时候所赋予的编号,在证书当中都会记载。
PKI用户需要首先从认证机构中获取最新的CRL,并查询自己是用于签名验证(或者用于加密)的公钥是否已经作废。这个步骤很重要。

对证书的攻击

由于证书实际上使用的是数字签名的技术,因此针对数字签名的所有攻击方法对证书都是有效果的。

在公钥注册前进行攻击

证书是认证机构对公钥及其持有者的信息加上数字签名的产物,由于加上数字签名之后非常难以攻击,因此我们考虑对事假数字签名之前的公钥进行攻击。
假设sfdgb生成了密钥对,并准备在认证机构注册自己的公钥。再认证机构进行数字签名之前,主动攻击者Mallory将公钥替换为自己的公钥。这样,认证机构就会对“sfdgb的个人信息”和“Mallory的公钥”这个组合进行数字签名。
要防止这种攻击,我们可以采取如下措施:例如sfdgb可以在公钥发送给认证机构进行注册的时候,使用认证机构的公钥对sfdgb的公钥进行加密。此外,在认证机构确认sfdgb的身份的时候,也可以将公钥的指纹一并发送给sfdgb请他确认。

注册相似人名进行攻击

证书是认证机构对公钥及其持有者信息加上数字签名的产物,对于一些相似的信息,计算机可以进行区别,但人类往往容易认错,从而可以用来被攻击。
例如,假设sfdgb的用户信息中名字的部分是:
Name = sfdgb (首字母大写)
而Mallory用另一个类似的用户信息:
Name = BOB (所有字母大写)
注册了另一个不同的公钥。这个公钥名字叫做BOB,但实际上是Mallory的公钥。
随后,Mallory伪装成sfdgb,将
Name = BOB的公钥发送给qfdld。qfdld看到证书中的用户信息,很可能九江BOB错误的认为是自己要发送消息对象的sfdgb。
要防止这种攻击,认证机构必须确认证书中所包含的信息是否真的是其持有者的个人信息,身份确认失败的时候则不向其颁发证书。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。