网安笔记 09 PKI PMI

news2024/11/16 13:57:16

PKI PMI

PKI

公钥基础设施 public key infrastructure
遵循标准的,利用公钥理论和技术建立的提供安全服务的基础设施

**目的:**身份认证,点滴信息不完整,不可抵赖,提供可靠安全服务

**任务:**可信任数字身份

PKI概念

组成

  • 证书机构
  • 注册机构
  • 证书发布库
  • 密钥备份恢复
  • 证书撤销
  • PKI接口

应用: 认证,数据完整性/保密性,不可否认,公证

CA系统功能

  1. 正数 生成/颁发/撤销/更新/归档
  2. CA自身管理
  3. 日志审计
  4. 密钥恢复

数字认证中心

  1. 发放管理数字证书
  2. 身份认证服务、证书签发,签发后生命周期的管理
    1. 证书状态
    2. 证书需要撤销的时候发布证书撤销通知
  3. 维护证书档案、证书相关审计

注册机构(RA)

  • 数字证书注册审批机构、认证中心的延申
  • RA按照特定政策和管理规范,对用户审查,操作发放证书,撤销证书的操作

RA功能

  • 填写/提交用户注册信息
  • 审核
  • 发送生成证书申请
  • 发放证书
  • 登记黑名单
  • 证书撤销列表管理
  • 日志审计
  • 安全保证

证书发布库:

  1. CA存放/撤销证书的列表
  2. 分布式存放
  3. LDAP目录服务器支持分布式存放

PKI基本概念

  1. 备份和恢复针对加解密钥无法对签名密钥备份 —— 数字签名,为了不可否认,有事件性要求,不可备份恢复
  2. 公私钥用于数据加密,则CA可对用户私钥备份:用户丢失密钥可以恢复

如何撤销?

  1. 周期性发布机制 CRL 证书撤销列表 Certificate Revocation List
  2. 在线查询机制 OCSP Online C二体覅擦特Status Protocol

数字证书

用户身份+公钥(被打包好),权威机构CA正式他的身份 —— 机构对身份和公钥打包好的证书进行数字签名 —— 证书有效性

细节

information

  1. Subject name 主体名
  2. Public Key 公钥
  3. Serial Number
  4. Valid From/To 有效期
  5. Isuer Name 签发名

最终用户联系注册机构(RA),注册机构(RA)联系证书机构(CA)

RA —— 接受、验证用户的注册信息,生成user密钥,接受授权证书撤销请求
CA —— 签发证书

步骤

  1. 密钥生成
  2. 注册
  3. 验证
  4. 证书生成

密钥生成

  1. 主体生成密钥对,公私钥
    1. 公钥 to RA
    2. 私钥给自己
  2. RA给主体用户生成密钥对
    1. 用户的私钥
    2. 用户的公钥

注册

主体写好内容

  1. 版本
  2. 主题名
  3. 公钥
  4. 属性
  5. 签名算法、前面

私钥加密后发给RA(可能附带其他注册信息和证明)

验证

RA看材料
检查私钥拥有证明 proof of possession

  • RA要求用户用私钥对证书的请求签名 —— 进行数字签名。
  • RA生成随机数挑战 : 用户公钥加密 —— 加密后挑战值给用户,用户需要私钥解密。 —— 通过验证
  • RA将数字证书用公钥加密,发给user,user用私钥解密得到证书

生成

  • RA把细节给CA
  • CA验证后生成数字证书
  • CA发给user
  • CA的证书目录保留记录

CA签名证书: 详见chapter 9 23

消息摘要字段,除了数字证书的最后一个字段外,其他都经过消息摘要算法变成消息摘要。 然后CA私钥经过数字签名算法得到数字签名 —— 数字签名作为数字证书最后一个字段,保存CA的私钥

数字证书验证:
全部的消息摘要,通过摘要算法变成MD1 —— 这里为啥多了一个signature呢。感觉是不是写错了。。

拿出数字签名(最后一段),CA公钥解密(签名验证算法)得到MD2

对比MD1和MD2,有效接受

如果用户A,B需要验证证书链,则A需要一致验证B的上一层CA,直到验证到他们公共信任的CA//有些根CA不一样,可能还得交叉验证(如美国和日本的根CA)

信任模型

基于X.509的信任模型

  1. 通用层次结构 子CA给最终实体——用户,服务器,代码发证书,双向信任
  2. 下属层次信任模型 通用层次模型自己,所有用户的公共信任
  3. 网状模式 —— 所有根CA之前对等关系课进行交叉任职,任何两个根CA之间安全通信也要交叉认证,可能需要C(2,n)个交叉认证协议
  4. 混合信任模型 —— 层次+网状
  5. 桥CA —— 交叉认证中心:提供交叉证书,而非证书路径的根(都是同级)
  6. 信任链 —— 可信任的根

数字证书的撤销状态检查机制

  1. 脱机撤销:
    1. CRL 证书撤销列表
  2. 链接撤销状态检查
    1. OCPS 联机证书验证协议
    2. SCVP 简单证书验证协议

OCSP过程

  1. 客户机发送Digital certificate,产生OCSP请求询问OCSP服务器,证书是否有效。
  2. OCSP相应其查询X.500目录
  3. OCSP响应器进行响应

漫游证书

  • 原理:用户证书,私钥放于中央服务器
  • 用户登录本地系统,从server检索公钥私钥对,放于本地内存
  • 内存完成工作后,软件删除本地系统的用户证书、私钥
  1. 用户登录 安全服务器
  2. 安全服务器通过目录查询 user,pswd,certificate,key file
  3. 安全服务器给客户机数字证书,私钥文件

PKI体系 PKIX模型

注册 初始化 认证 密钥对恢复 密钥生成 密钥更新 交叉证书 撤销

包含

  1. 操作协议 —— 基础协议
  2. 管理协议 —— 支持不同PKI实体
  3. 策略大纲 —— 证书策略的文档
  4. 时间标注、数据证书服务 —— 前者用于签名消息,后者用于验证数据正确性

拓扑结构 —— 详见page 42
密钥管理(KMC) —— 签发系统 —— 注册系统——证书发布——在线证书状态查询

在这里插入图片描述

PKI实例

详见44
在这里插入图片描述

核心服务

  1. 认证 —— 身份识别和鉴别。 鉴别包括数据来源鉴别,数据来源鉴别
  2. 完整性——数据未修改,可以用消息认证码 MAC
  3. 保密性

让实体证明他们为所申明的身份

重要数据没有被修改

发送数据只能由接收方读懂

支撑服务

  1. 不可否认性
  2. 安全时间戳
  3. 公证

PMI 授权管理设施

定义:属性证书、属性权威、属性证书框架的集合体。

主题诠释
属性权威生成,签发属性证书AC的机构
属性证书对实体权限绑定。被数字签名的数据结构
属性证书框架构建权限管理基础设施PMI的基础。支持访问控制等

PMI于PKI关系

PKIPMI
证书PKC公钥AC属性
颁发者证书机构属性机构
接收者证书主体证书持有者
绑定主题名字+公钥持有者+n个特权属性
撤销证书撤销列表CRL属性证书撤销列表ACRL
根CA or 信任锚权威源SOA
子机构子CAAA
验证者可信方特权验证

总结:PKI证明user是谁并存于公钥证书,PMI证明user能干啥,PMI建立在PKI的可信身份认证服务上,提供交互。以属性证书形式授权

PMI机制

基于Kerberos

  1. 软硬件实现,快于非对称密码
  2. 不便于密钥管理,单点失败
  3. 适用试试事务处理环境的授权管理

策略服务器

  1. 高度集中,单点管理
  2. 通信瓶颈
  3. 适于地理位置集中

属性证书

  1. 失败拒绝(优点
  2. 性能低
  3. 支持不可否认服务

在这里插入图片描述

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

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

相关文章

【发表案例】智能传感类、持续学习模型、计算建模、边缘计算等领域SCI,最快仅1个月14天录用

3区智能传感类SCI&EI 【期刊简介】IF:1.5-2.0,JCR3区,中科院4区 【检索情况】SCI&EI 双检,正刊 【征稿领域】智能信号处理技术在基于机器学习中遥感相关的应用研究 录用案例:2个月零5天录用 2023.04.28 | Accept 20…

OpenPCDet系列 | 7.PointPillars模型测试KITTI数据集流程解析

文章目录 模型的测试流程1. AnchorHeadTemplate.generate_predicted_boxes部分2. Detector3DTemplate.post_processing部分3. KittiDataset.generate_prediction_dicts部分4. KittiDataset.evaluation部分模型的测试流程 对于模型来说,训练过程是为了计算构建损失训练模型的参…

小程序安全架构分析

小程序大家已经再熟悉不过了,就是一种在移动操作系统中运行的轻量级应用程序,小程序发展这么多年来,是中国 IT 行业里为数不多的能够真正影响到普通程序员的创新成果。 当然随着小程序的流行,小程序的各个方面都是开发者讨论的热…

20230503 - 二叉树2 | 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树

1、二叉树的层序遍历 二叉树的层序遍历,就是图论中的广度优先搜索在二叉树中的应用,需要借助队列来实现(此时又发现队列的一个应用了)。 来吧,一口气打十个: 102.二叉树的层序遍历 class Solution {pub…

一心报国的西工大网安人走出新手村

大二下学期5月5日晚上,西工大长安校区教学西楼,作为一名网安专业本科生,从大一便立志学好网安知识,报效祖国,却苦于没有优秀学习资源,就把这事儿拖到了大二,最近上了一门专业课,如同…

Wireshark抓包:详解TCP四次挥手报文内容

一、详解tcp四次挥手 刚才用图解释了tcp四次挥手的过程。用wireshark抓一个包,进行详细的分析。 1.客户端发的第一个释放连接的请求 这是抓的包,然后过滤出来的,看下最后的阶段,是要开始释放一个链接了。这里是第一个fin&#…

PSP - 适配不同来源的 AlphaFold2 MSA 接口

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/130594303 MSA (Multiple Sequence Alignment) 在 AlphaFold2 中的工作方式如下: 使用搜索工具 (hhblits/hhsearch/jackhmmer),从大型数据库中,搜索与目标…

如何快速构建 Zabbix 原生高可用?

Zabbix Meetup成都站议程 14:30 《如何快速构建 Zabbix 原生高可用》 周松,Zabbix 大中华区培训师,架构师 15:00 《基于 Zabbix 开发的拨测平台–OneMonitor》 唐荣,社区用户 15:30 《Zabbix 与信创生态的融合》 侯健,上海宏…

VS安装项目生成错误提示:SQL Server 2008 R2 SP2 Management Studio

错误提示内容: 原因是在Visual Studio XXXX中创建设置时遇到错误。 提示错误信息: 0:Watson 1:1304 2:StreamSupportFiles 3:streamBinaryToDisk 4:5 5.e:lsql10 main tlsgllsetupidarwinsglcastublstreamca.cpp 6:238 7:sglcastub.dll 8:sglrun.msi 点…

Python每日一练(20230510) 石子游戏 VII\VIII\IX

目录 1. 石子游戏 Stone Game VII 2. 石子游戏 Stone Game VIII 3. 石子游戏 Stone Game IX 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 石子游戏 Stone Game VII 石子游戏中&…

Android音视频开发之音频录制和播放

1.封装音频录制工具类: public class RecorderAudioManagerUtils {private static volatile RecorderAudioManagerUtils mInstance;public static RecorderAudioManagerUtils getInstance() {if (mInstance null) {synchronized (RecorderAudioManagerUtils.class…

【连续介质力学】简介

什么是连续介质力学 连续介质力学的假设 连续介质力学的流体性质:质量密度,压强和速度假设为连续函数 将原子系统看作是连续 分子的平均自由程: Λ \Lambda Λ 物理特征长度: l c l_c lc​ 克劳森数(Knudsen number…

数字城市发展,哪些技术可以深度应用

说到数字城市、智慧城市大家都会觉得经常在耳边听到,但是要确切的说出具体的概念还是有一些难度的。具体来讲:数字城市是一个集合多种技术的系统,以计算机技术、多媒体技术和大规模存储技术为基础,以宽带网络为纽带,运…

Grafana 系列-统一展示-5-AWS Cloudwatch 仪表板

系列文章 Grafana 系列文章 👍️强烈推荐 强烈推荐使用 GitHub 上的 monitoringartist/grafana-aws-cloudwatch-dashboards 仪表板。该 repo 有一系列 AWS 资源的仪表板,包括但不限于: EC2EBSAPI GWAutoscalingBillingEKSLambdaLogsRDSS3…

Unity3D :树

推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 树 可使用类似于绘制高度贴图和纹理的方式在地形上绘制树。然而,树是从表面生长的 3D 对象实体。Unity 使用优化(比如针对远处树的公告牌)来保持…

关于 std::condition_variable

一. std::condition_variable是什么? std::condition_variable 是 C 标准库提供的一个线程同步的工具,用于实现线程间的条件变量等待和通知机制。 条件变量的发生通常与某个共享变量的状态改变相关。 在多线程编程中,条件变量通常和互斥锁…

Mac执行ruby命令提示 dyld: Library not loaded等类似问题解决方案

说一下为啥会遇见这么个问题,我在给一个xcode项目添加podfile的时候,在终端执行了pod init命令,随即给了我一个如下图的提示(报错信息一样的,执行pod的命令早就被解决问题过程中频繁的下载过程刷上去了。。。&#xff…

对于档案室内部设备硬件及温湿度的要求

编辑搜图 请点击输入图片描述(最多18字) 档案室温湿度及硬件要求 一、各档案库的建筑及技术参数: 1.各馆室的最小面积应能容纳目前各资料存放,还必须考虑一定的发展空间。 2.地板承重最大容量为1240公斤/平米,采用…

为什么hooks不能在循环、条件或嵌套函数中调用

hooks不能在循环、条件或嵌套函数中调用 为什么&#xff1f; 带着疑问一起去看源码吧&#xff5e; function App() {const [num, setNum] useState(0);const [count, setCount] useState(0);const handleClick () > {setNum(num > num 1)setCount(2)}return <p …

HTML + CSS + JavaScript【实战案例】 实现动画导航栏效果

​Hello~ 咱们今天一起来学习一个动画导航的小项目 Part 1 HTML结构 <body><nav class"active" id"nav"><ul><li><a href"#">Home</a></li><li><a href"#">Works</a>&…