公钥基础设施
一 什么是公钥基础设施
公钥基础设施(Public-Key Infrastructure)是为了能够有效地运用公钥而制定的一系列规范和规格的总称。公钥基础设施一般根据其英文缩写而简称PKI。
PKI只是一个总称,并不是指某一个单独的规范和规格。例如,RSA公司所制定的PKCS(公钥密码标准)系统规范也是PKI的一种,而互联网规格RFC中也有很多与PKI相关的文档。此外,X.509也是PKI的一种。在开发PKI程序时候所使用的由各个公司编写的API和规格设计书也可以算是PKI的相关规格。
根据具体所采用的规格,PKI也会有很多变种。
PKI的基本组成要素有用户、认证机构、仓库。
二 KPI的组成要素
用户——使用PKI的人
认证机构——颁发证书的人
仓库——保存证书的数据库
PKI中的用户和认证机构不仅限于“人”(也有可能是计算机),因此可以给他们起一个特殊的名字,叫作实体。实体就是进行证书和**相关处理的行为主体。
1 用户
用户就是像Alice、Bob这样使用PKI的人。用户包括两种:一种是希望使用PKI注册自己的公钥的人,另外一种是希望使用已注册的公钥的人,下面看看这两种用户所要进行的操作。
【注册公钥的用户所进行的操作】
-
生成**对(也可以由认证机构生成)
-
在认证机构注册公钥
-
向认证机构申请证书
-
根据需要申请作废已注册的公钥
-
解密接收到的密文
-
对消息进行数字签名
【使用已注册公钥的用户所进行的操作】
-
将消息加密后发送给接收者
-
验证数字签名
2 认证机构
认证机构是对证书进行管理的人。认证机构具体所进行的操作如下。
-
生成**对(也可以由用户生成)
-
在注册公钥时对本人身份进行认证
-
生成并颁发证书
-
作废证书
认证的工作中、公钥注册和本人身份认证这一部分可以由***构来分担。这样一来,认证机构就可以将精力集中到颁发证书上,从而减轻了认证机构的负担。不过,引入***构也有弊端,比如说认证机构需要对***构本身进行身份认证,而且随着组成要素的增加,沟通过程也会变得复杂,容易遭受攻击的点也会增加。
3 仓库
仓库是一个保存证书的数据库,PKI用户在需要的时候可以从中获取证书,它的作用有点像打电话时用的电话本。