密码应用——数字证书与PKI
数字证书与PKI
数字证书
非对称加密体制中,公钥的获取途径非常重要。
验证数字签名、保密通信都需要保证公钥真实性
BOB的网站(假的) BOB的个人简介(盗用来的真实信息) Mallory BOB的公钥(其实是Mallory的公钥)
数字证书提供了公钥与其所有者身份的安全绑定 ,安全的自动化的证书管理是PKI的重要功能之一,此外,数字证书可以用来作为身份识别的依据 ,传统的证书可以用来证明身份盖章有效保证身份信息和公钥 (学号)的真实性
数字证书 签名有效
给数字证书签名的是CA(Certificate Authority)
简单来说,数字证书上有持有人的身份信息、公钥信息 、其他信息和CA对上述信息的签名 ,验证CA的签名需要用到他的公钥(证书),因此需要上一级CA对公钥证书签名 ,CA具有层次结构 根CA。
完整的证书内容举例
版本信息
证书序列号,唯一的
签名算法
发行证书CA的名称
有效期限;
证书主体名称;
公钥信息,公钥算法、公 钥值
额外信息扩展
Windwos操作系统里内 置了有许多证书,不 需要验证,可以直接使用其中的公钥 有的是根CA的证书
PKI原理与应用
概述
PKI是“Public Key Infrastructure”的缩 写,意为"公钥基础设施",是一个用非对称密码算法原理和技术实现的、具有通用性的安全基础设施
基础设施——如:水,电 用户不需要了解细节,设备生产厂商也不用
PKI利用数字证书标识密钥持有人的身份,通过对密钥的规范化管理,为组织机构建立和维护一 个可信赖的系统环境,透明地为应用系统提供身份认证、数据保密性和完整性、抗抵赖等各种必要的安全保障,满足各种应用系统的安全需求
PKI是提供公钥加密和数字签名服务的系统,目的是为了自动管理密钥和证书,保证网上数字信 息传输的机密性、真实性、完整性和不可否认性 。
PKI的组成
1.密钥管理中心(KMC):向CA服务提供密钥服务 密钥生成、密钥存储、密钥备份、密钥恢复、密钥托管和密钥运算等
(不直接对用户提供服务只对CA提供服务,攻击面比较小,相对更安全;RSA算法,为了生成RSA的公钥和私钥,需要选择2个大素数,一旦公钥和私钥生成完之后,这2个大素数就需要进行妥善的保管,密钥管理中心即完成此类任务)
2.CA:是PKI的核心,它主要完成生成/签发证书、生成/签发证书撤销列表(CRL)、发布证书和CRL到目录服务器、维护证书数据库和审计日志库等功能 PKI的组成
3.RA:数字证书的申请、审核和注册中心。 是CA认证机构的延伸。在逻辑上RA和CA是一个整体,主要负责提供证书注册、审核以及发证功能
4.发布系统:提供LDAP服务、OCSP服务和注册服务。 注册服务为用户提供在线注册的功能;LDAP提供证书和CRL 的目录浏览服务;OCSP提供证书状态在线查询服务
5.应用接口系统:为外界提供使用PKI安全服务的入口 API(可编程接口、系统调用)、JavaBean、COM等形式。
KMC(Key Management Center)
密钥管理中心,是PKI中的一个重要组成部分 ,负责为CA系统提供密钥的生成、保存、备份 、更新、恢复、查询等密钥服务
一般来说,每一个CA都需要有一个KMC负责该CA区域内的密钥管理任务。
KMC可以根据应用所需PKI规模的大小灵活设置,既可以建立单独的KMC,也可以采用嵌入式的方式KMC,让KMC模块直接运行在CA服务器上
CA(Certificate Authority)
CA指包括根CA在内的各级CA
根CA是整个CA体系的信任源。负责整个CA体系的管理,签发并管理下级CA证书 。根CA一般采用离线工作方式。(更安全)其他各级CA负责本 辖区的安全,为本辖区用户和下级CA签发证书, 并管理所发证书 理论上CA体系的层数可以没有限制的,一般都采用两级或三级CA结构
RA(Registration Authority)
从广义上讲,RA是CA的一个组成部分,负责数字证书的申请、审核和注册
除了根CA以外,每一个CA机构都包括一 个RA机构,负责本级CA的证书申请、审核工作。
RA和CA的关系可以形象的比喻为派出所和公安局
发布系统
LDAP轻型目录访问协议 Lightweight Directory Access ProtocolLDAP提供证书和CRL的目录浏览服务
OCSP提供证书状态在线查询服务,
在线证书状态协议(OCSP)克服了证书注销列表(CRL )的主要缺陷:必须经常在客户端下载以确保列表的更新。当用户试图使用一个证书时,利用在线证书状态协议发送一个对于证书状态信息的请求。服务器回复一个 “有效”、“过期”或“未知”的响应。
注册服务为用户提供在线注册的功能;
PKI标准
X.500
X.500是一套已经被国际标准化组织(ISO) 接受的目录服务系统标准,它定义了一个机构如何在全局范围内共享其名字和与之相关的对象。
X.500被认为是实现目录服务的最佳途径, 具有信息模型、多功能和开放性,但成本较高,速度较慢
X.509
由国际电信联盟(ITU-T)制定的数字证书标准。在 X.500确保用户名称惟一性的基础上,X.509为X.500 用户名称提供了通信实体的鉴别机制,并规定了实体鉴别过程中广泛适用的证书语法和数据接口。
最初版本公布于1988年。最新版本定义了包含扩展信息的数字证书,提供了一个扩展信息字段,用来提供更多的灵活性及特殊应用环境下所需的信息传送
X.500系统仅由主权国家实施,以实现国家身份信息共享条约的实施目的
而IETF的公钥基础设施(X.509)简称 PKIX工作组将该标准制定成适用于更灵活的互联网组织
PKI标准
PKCS系列标准
PKCS是由美国RSA数据安全公司及其合作伙伴 制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证 书内容以及数字签名、数字信封的格式等方 面的一系列相关协议
OCSP在线证书状态协议
OCSP(Online Certificate Status Protocol)是IETF 颁布的用于检查数字证书有效性的标准。
提供PKI用户方便快捷的数字证书状态查询机制,使 PKI体系能够更有效、更安全地在各个领域中广泛应用
LDAP轻量级目录访问协议
简化了X.500目录访问协议,并且在功能性、数据表示 、编码和传输方面都进行了相应的修改
PKI中数字证书的发布流程
(1) 录入用户申请;
(2) 审核提交证书申请;
(3) 索取密钥对;
(4) 返回密钥对;
(5) 签发证书并发布;
(6) 下载证书、制证。
PKI应用举例
访问安全的Internet站点 , 浏览器首先获取并验证目标站点的数字证书,用对方的数字证书中的公钥与对方进行会话密钥协商,验证失败则会提示
VPN(虚拟专用网)利用网络层安全协议(尤其 是IPSec)和建立在PKI上的加密与签名技术来获得机密性保护。基于PKI技术的IPSec协议现在已 经成为架构VPN的基础
安全电子邮件协议S/MIME (The Secure Multipurpose Internet Mail Extension) 一个允许发送加密和有签名邮件的协议。该协议的实现需要依赖于PKI技术。
1 以下哪项不是数字证书中包含的内容
A.证书序列号
B.发行证书CA的名称
C.对称加密算法 √
D.签名算法
2 PKI的全称是
A.公钥基础设施 √
B.公开密钥信息
C.私有密钥设施
D.私有密钥信息
3 PKI的组成中不包含哪项
A.证书权威机构(CA)
B.证书代理机构(RA)
C.密钥管理中心(KMC)
D.证书仲裁机构(JA)√
4 以下哪项不是PKI的应用
A.安全电子邮件协议(S/MIME)
B.访问安全的Internet站点(HTTPS)
C.虚拟专用网(VPN)
D.入侵检测系统(IDS)√
5 以下哪项不是PKI标准
A.PKCS
B.ISO20007 √
C.X.509
D.X.500
密码应用——数字证书与PKI的更多相关文章
- SSL协议与数字证书原理
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- OpenSSL 与 SSL 数字证书概念贴
SSL/TLS 介绍见文章 SSL/TLS原理详解(http://seanlook.com/2015/01/07/tls-ssl). 如果你想快速自建CA然后签发数字证书,请移步 基于OpenSSL自 ...
- [转]SSL协议与数字证书原理
1 SSL(Secure Socket Lclientyer)是netscclientpe公司设计的主要用于weserver的安全传输协议.这种协议在WESERVER上获得了广泛的应用. SSL在TC ...
- [svc]数字证书基础知识
数字证书基础原理 数字证书采用PKI(Public Key Infrastructure)公开密钥基础架构技术,利用一对互相匹配的密钥进行加密和解密. 每个用户自己设定一把特定的仅为本人所知的私有密钥 ...
- 基于OpenSSL的PKI的PKI数字证书系统实现
本篇主要介绍了基于OpenSSL的PKI的PKI数字证书系统实现,利用OpenSSL建立一个CA中心的详细解决方案和建立的具体步骤. 1.PKI数字证书系统设计 PKI数字证书系统主要包括证书颁发机构 ...
- Atitti.数字证书体系cer pfx attilax总结
Atitti.数字证书体系cer pfx attilax总结 一.数字证书常见标准 1 数字证书文件格式(cer和pfx)的区别: 1 二.数字证书存储内容 2 X.509是一种非常通用的证书格式. ...
- 基于SSL协议的双向认证 - 数字证书 [2]
1.1 数字证书 1.1.1 概念理解 一种文件的名称,例如一个机构或人的签名,能够证明这个机构或人的真实性.简而言之数字证书是一种网络上证明持有者身份的文件,同时还包括有公钥.证书是由国际 ...
- 数字证书简介及Java编码实现
1.数字证书简介 数字证书具备常规加密解密必要的信息,包含签名算法,可用于网络数据加密解密交互,标识网络用户(计算机)身份.数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载 ...
- 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS【下】
1. HTTPS 1.1. 什么是HTTPS HTTPS(HypertextTransfer Protocol Secure)即安全的HTTP.HTTPS的安全基础是安全套接层(Secure Soc ...
- 数字签名、数字证书的原理以及证书的获得java版
数字签名原理简介(附数字证书) 首先要了解什么叫对称加密和非对称加密,消息摘要这些知识. 1. 非对称加密 在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密.同时,一般一个密钥加 ...
随机推荐
- Oracle 11.2.0.4 Data Guard 部署练习【一主一备/单机】
Oracle DG 理论及实验笔记 DATAGUARD 是通过建立一个 PRIMARY 和 STANDBY 组来确立其参照关系. STANDBY 一旦创建, DATAGUARD 就会通过将主数据库 ( ...
- 2024CSP-J游记
拿到题的第一步,先看第一题,大致扫了一眼,水题.以为是hash,进一步思考了一下,hash不行.发现可以用set,于是拿set敲了一下,样例全对. 第二题,看了眼样例以为是DFS.实际看了看发现是模拟 ...
- ABC372 (D,E)
ABC372 (D,E) D 一道比较简单的二分查找题目. 观察到每个数能成为 \(j\) 的条件是独立的,因此想到统计每个数能成为它前面哪些数的 \(j\). 对于每个\(ed\), 二分 \(1 ...
- 13-1 c++拷贝控制:拷贝赋值与销毁
定义一个类时,我们必须对它进行拷贝控制,即控制该类在进行拷贝.赋值.移动和销毁时要进行哪些操作 一个类通过五个特殊的成员函数进行拷贝控制 拷贝构造函数 拷贝赋值函数 移动构造函数 移动赋值函数 析构函 ...
- KTL (0.9.2,通达信mdt文件)
K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...
- Java真的没出路了吗?
Java从1991年由James Gosling和他的同事们开发, 至今已经三十多年, 我们知道,任何产品都有生命周期, 都要经历从诞生.发展.成熟.消亡四个阶段, 目前的Java已经处在成熟阶段, ...
- 敏捷开发:Scrum 中的 Product Backlog 介绍
Product Backlog 产品待办列表 在计划开发产品功能时,都希望产品功能上线后,用户能够喜欢并经常使用. 因此在开发产品新功能时,就要衡量哪些产品需求是对用户最有价值,这是最应该思考的问题. ...
- TypeScript名词解释系列:tsconfg中的target,module和moduleResolution
tsconfg中的target,module和moduleResolution target 就是TypeScript文件编译后生成的javascript文件里的语法应该遵循哪个JavaScript的 ...
- element-ui table 实现表格展开行每次只能展开一行
1.table 部分 :row-key='getRowKeys':expand-row-keys="expands"@expand-change="expandSelec ...
- Linux之新增硬盘,分区,挂载
1.新增硬盘后, 查看当前磁盘信息 fdisk -l 可以看到除了当前的第一块硬盘(sda)外还有一块sdb的第二块硬盘(sdb),然后用命令: fdisk /dev/sdb 给第二块硬盘进行分区 ...