OpenSSL之PKI

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,虚拟专用网(VPN)

        ...........


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)

       扩展内容....

       证书颁发机构对证书的签名。


 

  

OpenSSL之PKI,布布扣,bubuko.com

时间: 2024-08-07 00:16:04

OpenSSL之PKI的相关文章

OpenSSL与PKI

一.PKI PKI(Public Key Infrastructure)公钥基础设施,是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书.在PKI中,为了确保用户的身份及他所持有密钥的正确匹配,公开密钥系统需要一个值得信赖而且独立的第三方机构充当认证中心(Certification Authority,CA),来确认公钥拥有人的真正身份.就像公安局发放的***一样,认证中心发放一个叫"数字证书"的***明,这个数字证书包含了用户身份的部分信息及用户所持有的公钥,CA利用

OpenSSL之命令总结

OpenSSL从基础到应用系列: 1) OpenSSL之安全通讯基础 2) OpenSSL之PKI 3) OpenSSL之SSL协议的Web安全实现 4) OpenSSL之编译安装 透过上面几个方面的学习,我们应该对OpenSSL有了一个基本的了解.OpenSSL功能之强大,命令组合用法之多,往往让我们的学习不知所措.在此,我们来对openssl命令的使用做一个总结. 语法格式:  openssl command [ command_opts ] [ command_args ] 常用comma

加密解密原理和基于Openssl构建自有CA

一.加密解密过程描述: 互联网数据传输需要实现:数据隐秘性,数据完整性,身份认证和密钥交换: 例如:Alice向Bob传输数据: 数据加密过程: 1.Alice生成原数据,用单向加密算法计算出原数据的特征码: 2.用自己的私钥加密原数据特征码并附加在原数据的后面: 3.用对称加密算法为整个数据加密生成对称加密密匙: 4.用Bob提供的公钥加密对称加密密匙,并附加在加密的数据后面一并发送给Bob. 数据解密过程: 1.Bob接收到数据,用自己的私钥解密对称加密密匙:确定数据接收方Bob的身份: 2

RHEL6.5升级安装OPENSSH

openssh的运转需要openssl和zlib的支持,升级openssh最好同步升级openssl和zlib,避免出现不匹配的现象,此文只升级openssl和openssh. 1.安装telnet服务 # yum -y install telnet-server* # rpm -qa | grep telnet # vi /etc/xinetd.d/telnet 将disable字段改为no # chkconfig --list xinetd xinetd              0:关闭 

简单的openssh自动升级脚本

在使用前需要注意: 在/tmp/123下面有这三个文件: zlib-1.2.11     openssh-7.4p1   openssl-1.0.2k 安装必要的工具 gcc以及其依赖包,建议直接用yum安装GCC 安装好TELNET 脚本执行完成后,先看SSH版本再重启服务. cd /tmp/123tar -zxvf zlib-1.2.11.tar.gzcd zlib-1.2.11 ./configure --prefix=/usr/local/zlibmakemake installmkdi

航天七三一医院护理电子病历的设计与实施

中图分类号:TP3                                                         论文编号: 专业硕士学位论文   航天七三一医院护理电 子病历的设计与实施 作者姓名 学科专业  软件工程 指导教师 培养院系  软件学院 The Design and Implementation of Aerospace 731 hospital electronic nursing record system   A Dissertation Submitte

一步一步实现linux系统apache实现https详解

https提供安全的web通讯原理部分:http://stlong.blog.51cto.com/5144113/1730771 1)配置域名支持ca:[[email protected] ~]# vim /var/named/chroot/var/named/sggfu.com.zone  ##添加ca主机记录ca    IN    A    192.18.100.151:wq[[email protected] ~]# /etc/init.d/named restart  ##重启服务[[e

【完美升级Openssh】redhat 6.8 x64升级SSH到OpenSSH_7.4p1

需求: 因openssh扫描存在漏洞,基于安全考虑,需要将openssh_7.1p1升级为openssh_7.4p1. 操作如下: 1.下载安装包: openssh的安装需要依赖zlib和openssl,因此要一并下载下来. 注意:openssh最新版7.4p1依赖的openssl版本为1.0.2k,而不是其最新版1.1.0e(使用此版会升级失败). 官网地址: http://www.zlib.net http://www.openssl.org http://www/openssl.org 下

lib包依赖解决

当前环境之前是装过MySQL官方版本5.6.22,想测试Percona版本MySQL.启动Percona-MySQL报错. [[email protected] support-files]# /etc/init.d/mysql startmy_print_defaults: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directorySta