PKI体系架构
PKI是Public Key Infrastructure的缩写,是通过使用公钥技术和数字证书来提供系统信息安全服务,并负责验证数字证书持有者身份的一种体系。
一个PKI体系由终端实体、证书认证机构、证书注册机构和证书/CRL存储库四部分共同组成的
-
终端实体EE(End Entity):也称为PKI实体,它是PKI产品和服务的终端使用者,可以是个人、组织、设备或计算机中运行的进程
-
证书认证机构CA:CA是PKI的信任基础,是一个用于颁发并管理数字证书的可信实体。\(\color{red}{它是一种 权威性、可信任性和公正性的第三方机构}\),通常由服务器充当。
- CA通常采用多层次的分级结构,根据证书颁发机构的层次,可以划分为根CA和从属CA
- 当某个PKI实体信任一个CA,则可以通过证书链来传递信任,证书链就是从用户的证书到根证书所经过的一系列证书的集合。当通信的PKI实体收到待验证的证书时,会沿着证书链以此验证其颁发者的合法性
- CA的核心功能就是发放和管理数字证书,包括:证书的颁发、证书的更新、证书的撤销、证书的查询、证书的归档、证书废除列表CRL的发布
-
证书注册机构RA:是数字证书注册审批机构,RA是CA面对用户的窗口,是CA的证书发放、管理功能的延申,它负责接受用户的证书注册和撤销申请
-
证书/CRL存储库:由于用户名称的改变、私钥泄露或业务中止的原因,需要存在一种方法将线性的证书吊销,即撤销公钥及相关的PKI实体身份信息的绑定关系。在PKI中,所使用的这种方法为证书废除列表CRL。
证书申请流程
- 用户申请:用户获取CA的数字证书(根证书),与安全服务器建立连接,同时生成自己的公钥和私钥,将公钥和自己的身份信息提交给安全服务器。安全服务器将用户的申请信息传送给RA服务器
- RA审核:RA收到用户的申请,用户向RA证明自己的身份,RA进行核对。如果RA同意用户申请证书的请求,则对证书申请信息做数字签名,否则拒绝用户的申请
- CA发行证书:RA将用户申请和RA签名传送给CA,CA对RA数字签名做认证,如果验证通过,则同意用户的请求,颁发证书,然后将证书输出。如果验证不通过,则拒绝证书申请
- RA转发证书:RA从CA得到新的证书,首相将证书输出到LDAP服务器以提供目录浏览,在通知用户证书发行成功,告知证书序列号,到指定的网址去下载证书
- 用户使用证书序列号去指定的网址下载自己的数字证书,只有持有与申请时提交的公钥配对的私钥才能下载成功
PKI证书验证
PKI实体获取对端实体的证书后,当需要使用对端实体的证书时,通常需要验证对端实体的本地证书和CA的合法性
检查证书状态的方式
- CRL方式
PKI实体可以通过SCEP、HTTP、LDAP和LDAPv3模板方式下载CRL
当PKI实体验证本地证书时,先查找本地内存的CRL,如果本地内存没有CRL,则需要下载CRL并安装到本地内存中,如果对端实体的本地证书在CRL中,表示此证书已被撤销 - OCSP方式
在IPSec场景中,PKI实体间使用证书方式进行IPSec协商时,可以通过OCSP方式实时检查对端实体证书状态
当PKI实体访问OCSP服务器时,会发送一个对于证书状态信息的请求,OCSP服务器会回复一个“有效”、“过期”或“未知”的响应 - None方式
如果PKI实体没有可用的CRL和OCSP服务器,或者不需要检查PKI实体的本地证书状态,可以采用None方式,即不检查证书是否被撤销
PKI证书注销流程
- 用户申请:用户向RA发送一封签名加密邮件,申请撤销证书
- RA审核:注册机构同意证书撤销,并对申请签名
- CA更新CRL:CA验证证书撤销请求的RA签名,如果正确,则同意申请,更新CRL,并输出
- RA转发CRL:注册中心收到CRL,以多种方式将CRL公布(包括LDAP服务器)
- 用户告知:用户访问LDAP服务器,下载或浏览CRL
PKI工作机制
针对一个使用PKI的网络,配置PKI的目的就是为指定的PKI实体向CA盛情一个本地证书,并由设备对证书的有效性进行验证
PKI具体工作过程: