数字证书与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的更多相关文章

  1. SSL协议与数字证书原理

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  2. OpenSSL 与 SSL 数字证书概念贴

    SSL/TLS 介绍见文章 SSL/TLS原理详解(http://seanlook.com/2015/01/07/tls-ssl). 如果你想快速自建CA然后签发数字证书,请移步 基于OpenSSL自 ...

  3. [转]SSL协议与数字证书原理

    1 SSL(Secure Socket Lclientyer)是netscclientpe公司设计的主要用于weserver的安全传输协议.这种协议在WESERVER上获得了广泛的应用. SSL在TC ...

  4. [svc]数字证书基础知识

    数字证书基础原理 数字证书采用PKI(Public Key Infrastructure)公开密钥基础架构技术,利用一对互相匹配的密钥进行加密和解密. 每个用户自己设定一把特定的仅为本人所知的私有密钥 ...

  5. 基于OpenSSL的PKI的PKI数字证书系统实现

    本篇主要介绍了基于OpenSSL的PKI的PKI数字证书系统实现,利用OpenSSL建立一个CA中心的详细解决方案和建立的具体步骤. 1.PKI数字证书系统设计 PKI数字证书系统主要包括证书颁发机构 ...

  6. Atitti.数字证书体系cer pfx attilax总结

    Atitti.数字证书体系cer pfx attilax总结 一.数字证书常见标准 1 数字证书文件格式(cer和pfx)的区别: 1 二.数字证书存储内容 2 X.509是一种非常通用的证书格式. ...

  7. 基于SSL协议的双向认证 - 数字证书 [2]

    1.1    数字证书 1.1.1   概念理解 一种文件的名称,例如一个机构或人的签名,能够证明这个机构或人的真实性.简而言之数字证书是一种网络上证明持有者身份的文件,同时还包括有公钥.证书是由国际 ...

  8. 数字证书简介及Java编码实现

    1.数字证书简介 数字证书具备常规加密解密必要的信息,包含签名算法,可用于网络数据加密解密交互,标识网络用户(计算机)身份.数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载 ...

  9. 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS【下】

    1.  HTTPS 1.1. 什么是HTTPS HTTPS(HypertextTransfer Protocol Secure)即安全的HTTP.HTTPS的安全基础是安全套接层(Secure Soc ...

  10. 数字签名、数字证书的原理以及证书的获得java版

    数字签名原理简介(附数字证书) 首先要了解什么叫对称加密和非对称加密,消息摘要这些知识. 1. 非对称加密 在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密.同时,一般一个密钥加 ...

随机推荐

  1. Oracle 11.2.0.4 Data Guard 部署练习【一主一备/单机】

    Oracle DG 理论及实验笔记 DATAGUARD 是通过建立一个 PRIMARY 和 STANDBY 组来确立其参照关系. STANDBY 一旦创建, DATAGUARD 就会通过将主数据库 ( ...

  2. 2024CSP-J游记

    拿到题的第一步,先看第一题,大致扫了一眼,水题.以为是hash,进一步思考了一下,hash不行.发现可以用set,于是拿set敲了一下,样例全对. 第二题,看了眼样例以为是DFS.实际看了看发现是模拟 ...

  3. ABC372 (D,E)

    ABC372 (D,E) D 一道比较简单的二分查找题目. 观察到每个数能成为 \(j\) 的条件是独立的,因此想到统计每个数能成为它前面哪些数的 \(j\). 对于每个\(ed​\), 二分 \(1 ...

  4. 13-1 c++拷贝控制:拷贝赋值与销毁

    定义一个类时,我们必须对它进行拷贝控制,即控制该类在进行拷贝.赋值.移动和销毁时要进行哪些操作 一个类通过五个特殊的成员函数进行拷贝控制 拷贝构造函数 拷贝赋值函数 移动构造函数 移动赋值函数 析构函 ...

  5. KTL (0.9.2,通达信mdt文件)

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...

  6. Java真的没出路了吗?

    Java从1991年由James Gosling和他的同事们开发, 至今已经三十多年, 我们知道,任何产品都有生命周期, 都要经历从诞生.发展.成熟.消亡四个阶段, 目前的Java已经处在成熟阶段, ...

  7. 敏捷开发:Scrum 中的 Product Backlog 介绍

    Product Backlog 产品待办列表 在计划开发产品功能时,都希望产品功能上线后,用户能够喜欢并经常使用. 因此在开发产品新功能时,就要衡量哪些产品需求是对用户最有价值,这是最应该思考的问题. ...

  8. TypeScript名词解释系列:tsconfg中的target,module和moduleResolution

    tsconfg中的target,module和moduleResolution target 就是TypeScript文件编译后生成的javascript文件里的语法应该遵循哪个JavaScript的 ...

  9. element-ui table 实现表格展开行每次只能展开一行

    1.table 部分 :row-key='getRowKeys':expand-row-keys="expands"@expand-change="expandSelec ...

  10. Linux之新增硬盘,分区,挂载

    1.新增硬盘后, 查看当前磁盘信息 fdisk -l 可以看到除了当前的第一块硬盘(sda)外还有一块sdb的第二块硬盘(sdb),然后用命令: fdisk /dev/sdb  给第二块硬盘进行分区 ...