PKI/CA与数字证书
写在前面
现在开始接触CA相关的内容,对一些名词还是不甚了解,在遇到一些问题的时候也不能理解,刚好最近看了一本《PKI/CA与数字证书技术大全》,里面介绍的比较系统全面,也对刚接触这方面的人来说能有个入门。
1. PKI
所有与数字证书相关的各种概念和技术,统称为PKI( Public Key Infrastructure 公钥基础设施)。
PKI通过引入CA,数字证书,LDAP,CRL,OCSP等技术并制定相应标准,有效地解决了公钥与用户映射关系,集中服务性能瓶颈,脱机状态查询等问题。同时为促进并提高证书应用的规范性,还制定了很多与证书应用相关的各种标准。
所以以下我们提到的CA,数字证书,OCSP等名词都是在PKI下的,即PKI里面包含了这些东西。那么这些名词每个都是为了解决某个问题而产生的,所以当我们了解后看到这些名词的时候,就能反应出它们是什么意思,是要解决什么问题的。
1.1 PKI体系框架
PKI体系框架主要包含三个内容:
1.1.1 数字证书与私钥
关于数字证书
用户或系统只有拥有自己的公钥和私钥后,才能实现数字签名和加密解密功能,由于公钥是随机产生的,因此从公钥无法直接判断属于哪个用户。
为解决公钥与用户映射关系问题,PKI引入了数字证书。数字证书里包含了用户身份信息,用户公钥信息 (两者用于确定用户) 和CA的私钥数字签名 (使用CA的公钥可判断证书是否被篡改) 。
私钥一般被保存在硬件密码设备中(像U盾之类的)。
1.1.2 数字证书的管理
关于CA
为了解决数字证书的签发问题,PKI引入了CA(Certificate Authority), 对数字证书进行集中签发。 它实际是一种特殊的公钥管理中心,对数字证书的全生命周期进行管理,包括:数字证书的签发和更新,数字证书的作废,冻结和解冻,查询或下载,状态查询等。 像广州CA,深圳CA就属于这类,可去他们的官网上进行相关了解。
关于KMC
为解决私钥的备份与恢复问题,PKI引入了KMC(Key Management Center)。 用户公私钥对由KMC产生,KMC对私钥做备份;公私钥也可由用户自己产生,并将私钥安全提交给KMC做备份。
关于双证书
为防止用户身份被冒用,应保证用户私钥的唯一性,不允许备份恢复;为防止公钥加密后的数据无法解密,应提供用户私钥的备份恢复机制。
为解决这两种矛盾需求,PKI引入了双证书机制:签名证书和加密证书。 签名证书的公私钥对由用户自己产生,KMC不备份私钥;加密证书密钥对由KMC产生,且KMC对加密私钥进行备份。
关于LDAP
为解决对CA证书的查询或下载的性能问题,PKI引入 LDAP(Light-weight Directory Access Protocol 轻量目录访问协议)技术。
DAP(Directory Access Protocol 目录访问协议)是对数据管理的读取功能进行特殊优化的技术,适合快速响应和大容量的查询服务,应用系统只需通过X.500协议就能对数据进行快速查询。但由于该协议过于复杂,国际组织对其进行简化,形成了LDAP标准。
关于CRL和OCSP
为解决对CA证书有效性方面的查询,PKI引入了CRL(Certificate Revocation List)和OCSP(Online Certificate Status Protocol) 技术。前者需要用户按时定期下载,可用于脱机使用;后者则可实时在线查询。
关于RA
为对用户提供 面对面 的证书业务服务,负责用户证书办理/作废申请,用户身份审核,制作证书并移交用户等功能。PKI引入了RA(Registry Authority)
关于电子认证服务机构
为保证CA系统在数字证书管理方面的规范性、合规性和安全性,PKI引入了电子认证服务机构, 以第三方运营的方式对外提供数字证书相关服务。
1.1.3 数字证书的应用
基于数字证书可实现四种基本安全功能:身份认证,保密性,完整性和抗抵赖性。
身份认证
如网络身份证。
保密性
如不泄露信用卡信息。
完整性
如已签订的合同不会被某一方私自修改。
抗抵赖性
如发生交易纠纷时,可通过验证对方的私钥签名来确认。
1.2 PKI信任模型
首先了解一下几个概念:
信任:在ITU X.509规范中,“信任”定义为“当实体A认为实体B的行为与A所预期的完全一致时,则称实体A信任实体B”。
用户信任CA中心是指,用户相信该CA中心的所有数字证书管理行为均符合政策法规,运营规范和信息安全等要求。
用户信任数字证书是指,用户相信该数字证书持有人的身份是真是有效地,并不等于用户信任该数字证书的持有人。
从信任CA中心到信任其签发的用户数字证书,这种信任传递关系的前提是,该用户数字证书必须通过以下四个方面的合法性验证:
4.1. 验证该数字证书是否伪造。使用CA证书中公钥即可脱机验证。
4.2. 验证该数字证书中信息是否正确。由CA中心在签发数字证书时已保证。
4.3. 验证该数字证书是否与持证人一致。可要求持证人使用私钥对特定数据进行加密或签名,然后使用数字证书中的公钥来解密或验签。
4.4. 验证该数字证书是否在黑名单上。通过CRL或OCSP实现。
信任锚:CA中心是信任的产生来源或信任起点。
认证路径:一条从信任锚到数字证书之间构建的信任关系传递路径,也叫证书路径或信任链。
1.2.1 根CA信任模型
最上级CA中心只有一个,成为根CA,其它CA称为子CA。根CA的数字证书由自己签发,属于自签名证书,子CA的数字证书由上级CA证书签发。信任锚可以是根CA,也可以是子CA。
以下图为例:用户X可信任用户A证书,信任链为根CA——子CA1——用户A证书。
1.2.2 交叉认证信任模型
根CA之间可以互相签发交叉认证证书。
以下图为例,用户Y就可以信任用户J证书。信任链为根CA2——根CA2(1)——根CA1——子CA12——用户J证书
1.2.3 桥CA信任模型
在这里引入独立的桥CA中心,等同于虚拟的根CA。所有根CA与桥CA之间互相签发交叉认证证书。与交叉认证信任模型类似。
1.2.4 信任列表信任模型
使用户可以有多个信任锚。
PKI/CA与数字证书相关推荐
- 初识PKI/CA和数字证书
一.首先,说一下经常听到但又不太了解的数字证书. 在现实生活中,如何证明我是谁,这时候我掏出我的身份证,足以证明.那么在网络世界中,数字证书就是这么一张"身份证".身份证上有一个人 ...
- PKI/CA与数字证书概述
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u013066292/article/d ...
- PKI/CA与数字证书技术大全
最近工作中需要使用数字证书,以前对证书有些许了解,但不深入.所以真正使用的时候,发现有些欠缺,尤其认识了熟知这方面内容的同学后,更觉得知识匮乏. 其实证书相关内容很宽泛,为了更好的指导自己的工作,有必 ...
- CA与数字证书的自结
1.CA CA(Certificate Authority)是数字证书认证中心的简称,是指发放数字证书.管理数字证书.废除数字证书的权威机构. 2.数字证书 如果向CA申请数字证书的单位为A.则他申请 ...
- 如何从CA获取数字证书
从CA 获取数字证书 1.打开虚拟机,在服务器管理器中添加角色,找到"Activity Directory 证书服务"(具体步骤如下) 2.除了默认的证书颁发机构外,还需要安装&q ...
- 基于开源CA系统ejbca community 6.3.1.1构建私有CA管理数字证书
最后更新于2017年01月24日 一.为什么 为什么写这篇文章?ca是什么?数字证书是什么?ejbca又是什么? 让我们从http与https说起.http是超文本传输协议(HyperText Tra ...
- CA验证数字证书的有效性
公钥机制面临的问题-假冒身份发布公钥 采用公钥机制进行加密传输面临的一个问题是公钥的发布.任何一个用户都可以通过网络向所有人发布伪造的公钥,如果某个用户假冒真正用户的名义发布一个公钥,在该假冒者被揭穿 ...
- PKI/CA (4)其他信任模型
1 交叉认证信任模型 根CA之间可以互相签发交叉认证证书. 以下图为例,用户Y就可以信任用户J证书.信任链为根CA2--根CA2(1)--根CA1--子CA12--用户J证书 2 桥CA信任模型 在这 ...
- 信安小白,一篇博文讲明白数字证书和PKI(公钥基础设施)
数字证书 系列博文 前言 一.数字证书 二.CA(Certification Authority)认证 2.1 CA认证信息 2.2 CA结构 2.3 一般的证书产生流程 2.4 完整流程 三.PKI ...
最新文章
- JWT 入坑爬坑指南
- wampserver搭建本地服务器
- 如何用python爬虫薅羊毛_不会Python编程也能用的,薅羊毛软件使用说明
- Servlet与缓存
- ACM程序设计基础(1)题解
- 【动态规划笔记】背包方案数量
- 3.2 Tensorflow基础运算
- MTV模型—urls和view
- Mysql的用户与权限管理
- droidcam调用手机摄像头的方法(提供PC+Android软件,不需要积分)
- 计算机与通信工程学院运动会海报,【图文】运动会宣传海报资料
- 微信小程序–二维码生成器
- linux mipi接口驱动,rp3399之mipi接口ov4689摄像头驱动
- Word中公式编辑的快捷键
- SSL协议与数字证书原理
- 使用 阿里云 播放器播放 .flv 和 hls(.m3u8) 格式的视频流
- 力扣每日一题:891. 子序列宽度之和(java)
- android wi-fi_如何在Android上限制计量Wi-Fi网络的背景数据
- Sentry 开发者贡献指南 - SDK 开发(事件负载)
- Android基础教程(二)之五大布局对象---FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.
热门文章
- 怎样对流媒体进行压力测试_四合一气体检测仪怎样进行气体测试?
- 安全中心登录_放心使用instagram需要做到的5个信息安全设置
- char double java_java从入门到精髓 - Number char double float
- igmpproxy_IGMP proxy开发笔记 | 学步园
- notebook python 已停止工作_Python/Jupyter Notebook初学遇到的一些问题总结(20201108)...
- java中isa什么意思_ISA是什么?
- linux恢复硬盘工具,linux硬盘数据恢复工具
- Spring Security login
- java stream flatmap
- js <->java 时区处理