PKI/CA体系介绍

概述

目前最常用的第三方认证服务包括:PKI/CA和Kerberos。PKI/CA是基于非对称密钥体系的,Kerberos是基于对称密钥体系的。
在这里插入图片描述
数字证书:提供一种发布公钥的简便途径;
数字签名:用来确认信息发送者的身份,保证信息的完整性和抗否认性。

概念

PKI

PKI(Public Key Infrastructure)即公钥基础设施,一组由硬件、软件、参与者、管理政策与流程组成的基础架构,提供公钥加密和数字签名服务的系统,目的是为了自动管理密钥和证书,保证网上数据信息传输的机密性、真实性、完整性和不可否认性。PKI采用证书进行公钥管理,通过第三方的可信任机构,把用户的公钥和用户的其它标识信息捆绑在一起,从而在网上验证用户的身份。

PKI从技术上解决网络通信安全的种种障碍。CA从运营、管理、规范、法律、人员等多个角度来解决网络信任问题。由此统称为"PKI/CA"。从总体构架来看,PKI/CA主要由最终用户、认证中心和注册机构来组成。

一个PKI系统由公钥密码技术(Public Key Cryptography)、证书认证机构(CA,Certificate Authority,认证中心)、注册机构(RA,Registration Authority)、数字证书(Digital Certificate)和相应的PKI存储库组成。

PKI的结构模型中有三类实体:

  • 管理实体是PKI的核心,是服务的提供者;
  • 端实体是PKI的用户,是服务的使用者;
  • 证书库是一个分布式数据库,用于证书和CRL的存放和检索。

CA

一个向个人、计算机或任何其它实体颁发证书的可信实体。CA受理证书服务申请,根据证书管理策略验证申请方的信息,然后用其私钥对证书进行签名,并颁发该证书给申请方。

最重要的用途就是提供根证书,用来加强服务器和客户端之间信息交互的安全性。

从机制上来说,任何人或组织都可以扮演 CA 的角色,只是很难可以得到绝大部分客户端的信任。常见的 CA 提供商:DigiCert、GoDaddy、GlobalSign、VeriSign。Windows 一般会内置自己的根证书,CentOS 会内置 Mozilla Foundation 的根证书。一个新的 CA 公司,至少要 5~10 年才会被广泛信任,进入到根证书链,所以,通常开始是给 CA 付钱,买次级证书。

签署一个证书的成本可以忽略,但是证书的价格都很高。其实 CA 公司的主要成本构成在于审核、保险担保费用等,例如要想进入到各个浏览器的根证书列表,需要通过 WebTrust 的审计,部分浏览器会对根证书收费;提供 CRL、OCSP 甚至 HSM 的服务器成本,也包括了支持证书申请、更新、撤销、恢复等操作的平台支持;而且在用户提交 CSR 之后,CA 需要进行多项认证,而且越高级证书验证越复杂;当然,也包括保险费用。

选择 CA 时重点评估:

  1. 内置根证书范围,内置越多的系统、浏览器就说明其覆盖的面越广;
  2. 保证体系是否完善,包括之前是否黑历史,如 DigiNotar 直接倒闭;
  3. 核心功能的支持,例如 SNI、CAA 等的支持。

CA和RA是两种管理实体:
CA是框架中唯一能够发布和撤销证书的实体,维护证书的生命周期;
RA负责处理用户请求,在验证请求的有效性后,代替用户向CA提交。
RA可以单独实现,也可以合并在CA中实现。作为管理实体,CA和RA以证书方式向端实体提供公开密钥的分发服务。

不同的实体间通过PKI操作完成证书的请求、确认、发布、撤销、更新和获取等过程。
PKI操作分为存取操作和管理操作两类,其中存取操作包括管理实体或端实体把证书和CRL存放到证书库、从证书库中读取证书和CRL;管理操作则是管理实体与端实体之间或管理实体与管理实体之间的交互,是为了完成证书的各项管理任务和建立证书链。

CRL

PKI系统系统中的一个结构化的数据文件,该文件包含了证书颁发机构(CA)已经吊销的证书的序列号及其吊销日期。CRL文件中还包含证书颁发机构信息、吊销列表失效时间和下一次更新时间、以及采用的签名算法等。证书吊销列表最短的有效期为1个小时,一般为1天,甚至1个月不等,由各个证书颁发机构在设置其证书颁发系统时设置。
证书具有一定的使用期限,但是由于密钥被泄露、业务终止等原因,CA可通过撤销证书缩短证书的使用期限。一个证书一旦被撤消,证书中心就要公布CRL来声明该证书是无效的,并列出不能再使用的证书的序列号。
作用:
浏览器在使用https://访问已经部署SSL证书的网站时,一定会先检查此SSL证书是否已经被吊销,也就是说会查询吊销列表或OCSP服务,如果此证书已经被证书颁发机构吊销,则会显示告警信息:“此组织的证书已被吊销。安全证书问题可能显示试图欺骗您或截获您向服务器发送的数据。建议关闭此网页,并且不要继续浏览该网站。”

值得注意的是:目前有些CA颁发的证书和大部分自签的SSL证书都没有提供吊销列表(CRL)服务或CDP是不可访问的,当然更别提OCSP服务,这是非常危险的,因为如果证书丢失或被盗而无法吊销的话,就极有可能被用于非法用途而让用户蒙受损失。

在使用HTTPS(SSL)访问WEB站点时,浏览器会从服务器上下载其证书,并根据证书的CDP指定的URL下载CRL,检查当前的证书是否在列表内。CRL包含有下一次的更新的日期,在该日期到来之前,Windows会直接使用已被缓存起来的CRL,等到下一次的更新日期到来之后才会再次下载CRL。

证书具有一个指定的寿命,但 CA 可通过称为证书吊销的过程来缩短这一寿命。CA 发布一个证书吊销列表 (CRL),列出被认为不能再使用的证书的序列号。CRL 指定的寿命通常比证书指定的寿命短得多。CA 也可以在 CRL 中加入证书被吊销的理由。它还可以加入被认为这种状态改变所适用的起始日期。

CDP
证书吊销列表分发点(CRL Distribution Point)是包含在数字证书中的一个可以供各种应用软件自动下载最新的CRL的位置信息。一个CDP通常出现在数字证书的详细信息选项卡的CRL分发点,一般会列出多个使用不同的访问方法,以确保如Web浏览器和Web服务器程序始终可以获取最新的CRL。CDP一般是一个可以访问的URL地址。

OCSP
Online Certificate Status Protocol,证书状态在线查询协议,是IETF颁布的用于实时查询数字证书在某一时间是否有效的标准。

一般CA都只是每隔一定时间(几天或几个月)才发布新的吊销列表,可以看出:CRL是不能及时反映证书的实际状态的。而OCSP就能满足实时在线查询证书状态的要求。它为电子商务网站提供一种实时检验数字证书有效性的途径,比下载和处理CRL的传统方式更快、更方便和更具独立性。请求者发送查询请求,OCSP服务器会放回证书可能的三个状态:正常、吊销和未知。

OCSP服务由独立的OCSP服务器来提供服务,OCSP也是一个可以访问的URL地址。

其他

  • PKC(Public Key Cryptography):用户使用公钥密码技术产生密钥对,分别为公钥(public key)和私钥(private key),公钥向外界公开,私钥则自己保留。公钥与私钥互为补充,被一个密钥加密的数据,只可以用相匹配的另外一个密钥解密
  • RA:RA是CA的延伸,RA向CA转发证书服务申请,也向目录服务器转发CA颁发的数字证书和证书撤消列表,以提供目录浏览和查询服务
  • TTP(Trusted third party)可信赖的第三者也常被用来指证书中心
  • TGS(Ticket-Granting Server):票据授予服务器
  • AS(Authentication Server):鉴别服务器
  • KDC(Key Distribution Center):密钥分配中心

数字证书

数字证书的构成元素主要包括:证书主体、证书颁发者、公钥、证书有效期、数字签名等。证书主体指证书所代表的主体身份,证书颁发者则是证书的签发者和管理者。公钥是数字证书的核心元素,并且公钥不变。数字证书的安全性和可信任性与数字签名息息相关。

数字证书可分为自签名证书和公开信任证书,前者由证书的持有者自己签发,后者则是由专门机构颁发实现公开信任。

数字签名

网络中发送的重要文件、数据和信息等。无论是发送方、接收方还是第三方,都不应该对其进行修改。数字签名可实现这个目标。

数字签名的构成元素:原文信息、数字摘要、私钥和公钥。原文信息是签名对象,在签名过程中不会被修改。数字摘要是对原文信息进行处理后的结果,为了避免在数据传输过程中被篡改,使用散列算法(Hash)处理,而后再进行加密操作。私钥和公钥则是加密方式的不同,私钥用于数据加密,公钥用于数据解密。

数字签名的大致过程:信息发送方利用自己的私钥进行签名,发送方把这个签名和信息一起发送给接收方。接收方收到信息后利用发送方的公钥来对其中的数字签名进行验证,确认其合法性。
在这里插入图片描述
两个环节:

  • 数字签名的生成:对于要传输的消息原文使用消息摘要算法(MD5、SHA)生成消息摘要,发送方使用自己的私钥对摘要进行加密,生成数字签名。
  • 数字签名的验证:数字签名同消息一通传输给接收方,接收方对签名使用发送方的公钥解密还原摘要,并对得到的原文进行hash计算出消息摘要,比对两份消息摘要是否相同,可以保证消息的完整性和抗否认性。

用发送发私钥生成数字签名、用发送方公钥解密,可以证明消息确实是由公钥拥有者发出的。
两份摘要的比对结果,可以证明消息在传输的过程中是否被改动。

数字签名用于对数据的签名,以证明数字信息的完整性和真实性,而数字证书则更多的是用于证实某个主体(公司或个人)身份的真实性。

数字证书

数字签名要发挥作用,首先需要接收方获取发送方的公钥。如何证明获取的公钥确实是发送方的公钥而不是假冒的呢?数字证书提供了一种发布公钥的简便方法。
在这里插入图片描述

在这里插入图片描述
两个过程:

  • 数字证书的生成:CA收到数字证书申请并认证申请者的真实身份后,把申请者的公钥、身份等信息作为消息原文,进行hash生成摘要,并用CA的私钥加密进行签名;数字签名与证书拥有者的公钥、身份等其他信息共同组成数字证书。
  • 数字证书的验证:数字证书生成后,经历图2中3、4、5的传输过程,来到接收方。接收方收到消息证书后,使用CA公钥对数字签名解密生成消息摘要,对证书内容进行hash生成摘要,两份摘要进行比对可证明证书内容的完整性与真实性。

使用CA私钥进行签名和解密,可以证明证书确实是由CA发布的;
两份摘要的对比结果,可以证明证书内容是否在传输过程中被改动;
如果消息原文中的公钥和身份信息是CA的,则是CA自签名的过程。

证书类型

在申请 SSL/TLS 证书时,按照安全等级、审核严格程度、成本开销等,可以将证书主要分成三(四)类:

  • Domain Validation,DV 域名验证型证书,最简单的,通过验证域名所有权即可签发证书,适合个人和小微企业申请,浏览器中会有锁标识。
  • Organization Validation,OV 企业验证型证书,除了验证域名所有权之外,还会检查申请企业的真实身份,使用最广的,通常中小企业、非营利、政府机构会申请,浏览器中除了锁标识外,还可以查看企业信息。
  • Extended Validation,EV 增强验证型证书,证书审核级别为所有类型最严格验证方式,再 OV 的基础上增加额外验证其它相关信息,如银行开户信息,多用于银行、金融、证券等高安全标准行业,浏览器中会有独特的绿色标识。
  • Individual Validation,IV 证书,通常个人使用。

简单来说,可以按照申请方的身份简单区分:个人申请 DV 类型证书,中小企业选择 OV 类型证书,大型企业、银行、金融、支付等行业申请 EV 类型证书。而且,OV 及其以上的类型可以做到身份认证,而 DV 不具备身份认证功能;OV 以上支持目前国际主流 ECC 算法,可以做到更快,更复杂的加密防护。

三种不同的类型可以通过浏览器查看,不同类型在 Subject 字段的详细程度不同,功能越多,验证越严格,价格越昂贵,字段信息当然越多。

证书申请

由用户自己生成 Certificate Signing Request,即CSR 后,向 CA 提出申请,CA 在核实申请者身份后,会用自己的私钥对信息进行签名生成证书。
在这里插入图片描述
服务器则将这份由 CA 颁发的公钥证书在握手阶段发送给客户端,证书就相当于是服务器的身份证。

在验证证书的有效性时,会逐级去寻找签发者的证书,直至根证书为结束,然后通过公钥一级一级验证数字签名的正确性。
在这里插入图片描述
无论如何,都需要有根证书才可以的,有些浏览器(如IE,Chrome等)使用系统的证书,而有些是自己管理(如Firefox)。

证书撤销

  • 用户申请:用户向RA发送一封签名加密邮件,申请撤销证书
  • RA审核:注册机构同意证书撤销,并对申请签名
  • CA更新CRL:CA验证证书撤销请求的RA签名,如果正确,则同意申请,并更新CRL,并输出
  • RA转发CRL:注册中心收到CRL,以多种方式将CRL公布(包括LDAP服务器)
  • 用户告知:用户访问LDAP服务器,下载或浏览CRL。

证书导入

Firefox 使用自己的证书管理器 (Certificates Manager),并没有像 IE 和 Chrome 那样直接使用系统中的证书存储,所以,需要将自签发的 SSL 证书导入受信任根证书。在Preference->Privacy&Security->Certificates->Certificate Manager选项中导入生成的证书文件即可,列表中是按照 Organize 排序的

其他

缺点

成本高

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/59757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win11出现安全中心空白和IT管理员已限制对此应用的某些区域的访问

问题 windows安全中心服务被禁用 winr 输入services.msc 找到windows安全中心服务查看是否被禁用,改为启动,不可以改动看第三条 打开设置,找到应用—windows安全中心–终止–修复–重置 重启如果还是不行看第四条 家庭版系统需要打开gped…

设计模式大白话——命令模式

命令模式 一、概述二、经典举例三、代码示例(Go)四、总结 一、概述 ​ 顾名思义,命令模式其实和现实生活中直接下命令的动作类似,怎么理解这个命令是理解命令模式的关键!!!直接说结论是很不负责…

【设计模式】Head First 设计模式——桥模式 C++实现

设计模式最大的作用就是在变化和稳定中间寻找隔离点,然后分离它们,从而管理变化。将变化像小兔子一样关到笼子里,让它在笼子里随便跳,而不至于跳出来把你整个房间给污染掉。 设计思想 桥模式。将抽象部分(业务功能)与实现部分(平…

Mysql B+数索引结构

一、B树和B树区别 二、 B 树形成过程 三、页分裂过程 3.1 页分裂过程实例 3.1.1 原有数据1、3、5形成如下数据页 3.1.2 先新插入数据4,因为 页10 最多只能放3条记录所以我们不得不再分配一个新页: 新分配的数据页编号可能并不是连续的,也…

iOS逆向:越狱及相关概念的介绍

在上一篇内容中我们介绍了App脱壳的技术,今天我们来介绍一个和iOS逆向密切相关的知识:越狱。 iOS操作系统的封闭性一直是开发者们关注的焦点之一。为了突破Apple的限制,越狱技术应运而生。本文将深入探讨iOS越狱,包括可越狱的版本…

【C语言】每日一题(除自身以外数组的乘积)

添加链接描述,链接奉上 方法: 暴力循环:前缀积后缀积(分组): 暴力循环: 暴力循换真的是差生法宝,简单好懂,就是不实用,大多数的题目都会超过时间限制(无奈) 思路&…

嵌入式Linux开发实操(十五):nand flash接口开发

# 前言 flash memory,分NAND和NOR: 如果说nor flash有个特点就是能执行代码,NOR并行接口具有地址和数据总线,spi flash更是主要用于存储代码,SPI(或QSPI)NOR代码可就地执行(XiP),一般系统要求flash闪存提供相对较高的频率和数据缓存的clocking。而nand flash主要用于…

SpringCloud学习笔记(九)_使用Java类加载SpringBoot、SpringCloud配置文件

我们都知道平常在使用SpringBoot和SpringCloud的时候,如果需要加载一两个配置文件的话我们通常使用Value(“${属性名称}”)注解去加载。但是如果配置文件属性特别多的时候使用这种方式就显得特别的不友好了。 比如说,我们要加载下方这个名为application.…

大数据之linux入门

一、linux是什么 linux操作系统 开发者是林纳斯-托瓦兹,出于个人爱好编写。linux是一个基于posix和unix的多用户、多任务、支持多线程和多CPU的操作系统。 Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单…

vue2 组件库之vetur提示

当我们开发完自定义UI组件库后,在项目中使用时,想要达到以下提示效果,组件提示与属性提示,有什么解决方案呢: 事实上,这是vetur的功能,原文如下: Component Data | Vetur If a pac…

idea中创建springboot项目显示Spring Initializr Error

很长时间不创建springboot项目了,今天发现创建完成idea显示: Spring Initializr Error error:status:500项目中没有pom.xml文件.检查了一下原因是在创建的时候类型没有创建正确(之前记得都是默认),默认如下 需要选择创建maven完整工程那种,最下面那种只会生成pom.xml不会…

【计算机组成原理】一文快速入门,很适合JAVA后端看

作者简介: CSDN内容合伙人、CSDN新星计划导师、JAVA领域优质创作者、阿里云专家博主,计算机科班出身、多年IT从业经验、精通计算机核心理论、Java SE、Java EE、数据库、中间件、分布式技术,参加过国产中间件的核心研发,对后端有…

Vscode漂亮配色方案

有需要的私自,付费

热烈祝贺蜀益表面处理成功入选航天系统采购供应商库

经过航天系统采购平台的严审,眉山市蜀益表面处理科技有限公司成功入选中国航天系统采购供应商库。航天系统采购平台是航天系统内企业采购专用平台,服务航天全球范围千亿采购需求,目前,已有华为、三一重工、格力电器、科大讯飞等企…

香橙派OrangePi zero H2+ 驱动移远4G/5G模块

目录 1 安装系统和内核文件: 1.1 下载镜像 1.2 内核头安装 1.2.1 下载内核 1.2.2 将内核头文件导入开发板中 1.2.3 安装内核头 2 安装依赖工具: 2.1 Installing Required Host Utilities 3 驱动步骤: 3.1 下载模块驱动文件…

Android Glide preload RecyclerView切入后台不可见再切换可见只加载当前视野可见区域item图片,Kotlin

Android Glide preload RecyclerView切入后台不可见再切换可见只加载当前视野可见区域item图片&#xff0c;Kotlin <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name"android.permission.RE…

算法-图BFS/DFS-单词接龙

算法-图BFS/DFS-单词接龙 1 题目概述 1.1 题目出处 https://leetcode-cn.com/problems/number-of-islands 1.2 题目描述 给定两个单词&#xff08;beginWord 和 endWord&#xff09;和一个字典&#xff0c;找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如…

C++八股记录

C内存管理 C中&#xff0c;内存分成5个区。 栈&#xff1a;函数内局部变量&#xff1b;自动管理&#xff0c;效率高&#xff0c;但空间较小&#xff1b; 堆&#xff1a;new分配的内存块&#xff1b;手动管理&#xff0c;效率低&#xff0c;但空间大&#xff1b; 自由存储区&…

弯道超车必做好题集锦三(C语言选择题)

前言&#xff1a; 编程想要学的好&#xff0c;刷题少不了&#xff0c;我们不仅要多刷题&#xff0c;还要刷好题&#xff01;为此我开启了一个弯道超车必做好题锦集的系列&#xff0c;每篇大约10题左右。此为第三篇选择题篇&#xff0c;该系列会不定期更新&#xff0c;后续还会…

全面解析MES系统中的报工操作

一、报工操作的定义&#xff1a; 报工操作是指在生产过程中&#xff0c;操作员通过MES系统记录和提交生产工序的相关信息&#xff0c;如工时、产量、质量等。报工操作将生产过程中的实际情况反馈给MES系统&#xff0c;实现生产数据的实时采集和记录。 二、报工操作的流程&…