数字证书与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. MyBatis-Plus条件构造器:构建安全、高效的数据库查询

    一.关于条件构造器(Wrapper) 1.1 简介 MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件.Wrapper 类允许开发者以链式调用的方式构 ...

  2. 一些有用的shell命令组合

    1.找出Linux系统中磁盘占用最大的10个文件 1)CentOS7 和 busybox 1.30.1 验证可用 find / -type f -print0 | xargs -0 du | sort ...

  3. 开源 - Ideal库 - 常用时间转换扩展方法(一)

    从事软件开发这么多年,平时也积累了一些方便自己快速开发的帮助类,一直在想着以什么方式分享出来,因此有了这个系列文章,后面我将以<开源-Ideal库>系列文章分享一些我认为比较成熟.比较方便 ...

  4. Go语言:未指定类型的常量(untyped int constant)和大整数的关系

    运行下面的代码: 点击查看代码 package main import "fmt" const ( Big = 1 << 100 ) func needFloat(x ...

  5. Spring AI 再更新:如何借助全局参数实现智能数据库操作与个性化待办管理

    引言 好的,今天我们继续聊一下Spring AI的相关内容.在10月的时候,我使用Spring AI搭建了一个简易版的个人助理系统,整体来说效果还是非常不错的.通过这次尝试,我对业务系统与AI结合的探 ...

  6. 爱科微AIC8800D80P Wi-Fi6模块驱动移植

    1. 简介 开发环境Ubuntu20.04 目标平台:瑞芯微RK356X 目标平台内核版本:4.19.234 wifi模块型号:AIC8800D80P Wi-Fi6/BT5.0 2. 硬件 wifi模 ...

  7. 解密prompt系列42. LLM通往动态复杂思维链之路

    最近大家都在探讨和尝试复现OpenAI O1的思考效果,解码出的关键技术方向,包括之前已经探讨过的Inference Time Scaling在推理过程中进行路径决策和选择.但想要更优的Inferen ...

  8. vivo 游戏中心包体积优化方案与实践

    作者:来自 vivo 互联网大前端团队- Ke Jie 介绍 App 包体积优化的必要性,游戏中心 App 在实际优化过程中的有效措施,包括一些优化建议以及优化思路. 一.包体积优化的必要性 安装包大 ...

  9. equals与”==”的区别

    本文由 ImportNew - 刘志军 翻译自 Javarevisited.如需转载本文,请先参见文章末尾处的转载要求. equals()和"=="操作用于对象的比较,检查俩对象的 ...

  10. tmux之常见问题

    1. 使用tmux ls的时候显示错误 failed to connect to server: Connection refused 解决: 查看进程是否存在 ps -aux|grep tmux 发 ...