从OpenSSL之安全通讯基础中了解到对称加密,非对称加密,散列函数以及数字签名,CA等技术。那有没有一种框架结合了各种技术来共同完成整个安全通讯呢?这种框架就称为PKI。
PKI技术与安全服务 |
公钥基础设施(Public Key Infrastructure,简称PKI)是一种遵循标准的,采用非对称密码算法和技术来实现并提供安全服务的,通用的安全基础设施。它能够透明地为网络应用提供加密和数字签名所必需的密钥和证书管理。PKI体系实际上是计算机软硬件、权威机构及应用系统的结合。
安全服务与安全机制关系图:
通过各种安全机制与安全服务之间的对应关系的对比分析我们可以发现,PKI公钥基础设施是对身份标识、认证、访问控制、机密性、完整性、抗抵赖等安全服务支持最为全面的一种安全机制,同时它还可提供比其它安全技术更高的安全服务级别。
采用数字证书的形式管理公钥,通过CA把用户的公钥和其他标识信息(如名称、***号码、e-mail地址等)绑定在一起,可实现对用户身份的标识及认证;同时,通过PKI基础设施把公钥密码和对称密码结合起来,可有效保证用户数据的保密性、完整性、抗抵赖。此外,PKI技术还可以将用户、密钥、管理有机结合在一起,也是目前国际范围内部署最广、应用最成熟、最可靠的安全技术基础。同时PKI技术也是目前唯一能够同时解决强身份认证、访问控制、信息保密和抗抵赖的安全技术,是保证网上核心业务的权威性、可信任性的关键技术。通过PKI体系和密钥管理体系的建设,可为安全网络空间的实体身份、信息的保密、完整及抗抵赖提供可信的安全技术支撑。
PKI体系结构 |
一个基本的PKI系统由认证中心(CA )、注册中心(RA)、密钥管理中心(KMC)、证书发布系统几个核心组件组成。其中CA认证中心作为电子证书认证系统的核心,负责所有证书的签发、注销以及证书注销列表的签发等管理功能。RA注册中心是认证中心证书发放、管理等业务的延伸。它负责所有证书申请者的信息录入、审核等工作,同时对发放的证书进行管理。密钥管理中心(KMC)为CA Server提供用户加密密钥的生成及管理服务。证书发布系统提供颁发证书和CRL证书撤销列表的发布及查询服务,其服务方式包括LDAP目录发布、Web发布及OCSP线证书状态查询服务等。
PKI基本体系结构图:
PKI的各种信任模型 |
1,单CA信任模型:
特点:
整个PKI体系中只有一个CA,它为PKI中的所有终端用户签发和管理证书。PKI中的所有终端用户都信任这个CA。每个证书路径都起始于该CA的公钥,该CA的公钥成为PKI体系中唯一的用户信任锚。
优点:
容易实现,易于管理,只需建立一个根CA,所有的终端用户都能实现相互认证。
缺点:
不容易扩展到支持大量的或者不同的群体用户。终端用户的群体越大,支持所有必要的应用就越困难。
2,严格分级信任模型:
特点:
根CA作为信任锚,所有实体都信任它。根CA通常不直接为终端用户颁发证书而只为子CA颁发证书。在根CA的下面是零层或多层子CA,子CA是所有实体集合的根。与非CA的PKI实体相对应的树叶通常被称为终端用户。两个不同的终端用户进行交互时,双方都提供自己的证书和数字签名,通过根CA来对证书进行有效性和真实性的认证。信任关系是单向的,上级CA可以而且必须认证下级CA,而下级CA不能认证上级CA。
优点:
1,增加新的认证域用户容易。该信任域可以直接加到根CA以下,也可以加到某个子CA以下,这两种情况都很方便,容易实现。
2,证书路径由于其单向性,容易扩展,可生成从终端用户证书到信任锚的简单明确的路径。
3,证书路径相对较短,最长的路径等于树的深度加1,每个从属CA的证书路径加上终端用户的证书路径。
4,证书短小,简单。因为用户可以根据CA在PKI中的位置来确定证书的用途。
缺点:
单点CA的失败会影响整个PKI体系。由于所有的信任都集中在根CA,一旦根CA出现故障,将带来毁灭性的后果。
3,网状信任模型:
特点:
..........
PKI应用 |
1,Web服务器与浏览器之间的通讯
2,电子邮件
3,电子数据交换
4,网上支付
5,虚拟专用网(×××)
...........
PKI核心组件:CA |
CA的基本功能:
(1)接收验证最终用户数字证书的申请
(2)确定是否接受最终用户数字证书的申请-证书的审批
(3)向申请者颁发,拒绝颁发数字证书-证书的发放
(4)接收、处理最终用户的数字证书更新请求-证书的更新
(5)接收最终用户数字证书的查询、撤销
(6)产生和发布证书废止列表(CRL)
(7)数字证书的归档
(8)密钥归档
(9)历史数据归档
常用的证书协议:
1,X509v3
2,X500
3,SCEP
4,PKCS#7
5,PKCS#10
6,PKCS#12
7,OCSP
一个标准的X.509数字证书包含以下一些内容:
证书的版本信息;
证书的序列号,每个证书在CA中都有一个唯一的证书序列号;
证书所使用的签名算法;
证书的发行机构名称,命名规则一般采用X.500格式;
证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;
证书所有人的名称,命名规则一般采用X.500格式; (两类:组织(主机),个人)
证书所有人的公钥;
证书发行者的唯一标识(ID)
证书所有人的唯一标识(ID)
扩展内容....
证书颁发机构对证书的签名。
数字证书图解: