当前位置: 首页 > news >正文

CISSP学习笔记:PKI和密码学应用

第七章 PKI和密码学应用

7.1 非对称密码学

  • 对称密码系统具有共享的秘钥系统,从而产生了安全秘钥分发的问题
  • 非对称密码学使用公钥和私钥对,无需支出复杂密码分发系统

7.1.1 公钥与私钥

7.1.2 RSA(兼具加密和数字签名)

  • RSA算法依赖于大质数在因素分解时固有的计算难度

7.1.3 EI Gamal

  • EI Gamal优点: 公开发布,使用免费(扩展了Diffie-Hellman秘钥交换协议,支持消息的加解密)
  • 缺点:算法加密的任何消息的长度都加倍

7.1.4 椭圆曲线密码系统(ECC)

  • 1088位的RSA秘钥相当于160位的椭圆曲线密码系统的秘钥强度

7.2 散列函数

  • 散列函数的用途: 产生消息摘要
  • 散列函数的基本要求:
    1. 输入值可以是任意长度
    2. 输出值具有固定长度
    3. 散列函数在计算任何输入值要相对容易
    4. 散列函数是单向的
    5. 散列函数是不会发生冲突的

7.2.1 SHA

  • SHA-1不安全,SHA-2理论上不安全

7.2.2 MD2

  • 非单向函数,已不再使用

7.2.3 MD4

  • MD4存在消息摘要冲突,不是安全的散列算法

7.2.4 MD5

  • 512位的消息分组,消息摘要128位
  • 散列函数以及生成函数值的长度

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

7.3 数字签名

  • 数字签名的目标
    • 可以向接收方保证、消息确实来自自己申明的发送者,且实施了不可否认性
    • 向接收方保证:消息在传输过程中没有改变
  • 消息签名本身不提供隐私保护,只满足加密目标中的完整性和不可否认性

7.3.1 HMAC 基于散列的消息身份认证代码

  • 实现了部分数字签名功能,保证了消息传输过程的完整性、但不提供不可否认性
  • HMAC依赖一个共享的秘钥,所以不提供不可否认性

7.3.2 数字签名标准

  • DSS标准加密算法
  • 数字签名算法(DSA)
  • RSA算法(既能数字签名又能加密!)
  • 椭圆曲线数字签名算法(ECDSA)

7.4 公钥基础设施(PKI)

  • 公钥加密主要优点是原本不认识的双方之间的通信变得很容易,受信任的公钥基础设施层次使这一点称为可能

7.4.1 证书

  • 数字证书为通信双方提供了保证,保证在与之通信的人确实具有他们所宣称的身份

7.4.2 证书授权机构

  • 证书授权机构(CA)将基础设施绑定在一起,中立的组织机构为数字证书提供公证服务

7.4.3 证书的生成与撤销

  1. 注册
    • 采取某种方式向证书授权机构证明身份的过程被称为注册
  2. 验证
    • 通过CA的公钥检查CA的数字签名来验证证书,接着检查证书没在CRL(证书撤销列表)
  3. 撤销
    • 证书撤销原因:证书遭到破坏、证书被错误的发放、证书的细节发生变化、安全性关联发生变化
    • 证书撤销的技术:
    • 证书撤销列表:缺点是必须顶起下载并交叉参照,证书的撤销和通知用户撤销之间存在时间延迟
    • 联机证书状态协议:解决认证撤销列表的固有延迟

7.4.4 非对称秘钥的管理

  • 选择加密系统
  • 选择秘钥
  • 使用公钥加密时,一定要保证私钥的机密性
  • 秘钥在服务一段时期后应当停止使用
  • 秘钥备份

7.5 密码学的应用

7.5.1 便携式设备

  • 目前主流操作系统都包括磁盘加密功能、商业工具提供额外的功能和管理能力

7.5.2 电子邮件

  1. 电子邮件规则
    • 邮件机密性,加密邮件
    • 邮件完整性,进行散列运算
    • 邮件身份认证和完整性,进行数字化签名
    • 邮件机密性、完整性、身份认证和不可否认性,对邮件加密和数字化签名
  2. 电子邮件标准
    • 可靠隐私(PGP)商业版RSA、IDEA加密协议,使用MD5生成消息摘要;免费版使用Diff-Hellman秘钥交换,CAST128位的加密/解密算法以及SHA-1散列函数
    • S/MIME(安全多用途互联网邮件扩展协议):依靠X.509证书交换密码系统秘钥,这一支持AES、3DES和RSA

7.5.3 Web应用

  • SSL协议,SSL的目标是建立安全的通信通道
    • POODLE攻击(贵宾犬攻击)的攻击表明在TLS的SSL 3.0反馈机制中存在重大缺陷,很多机构放弃对SSL的支持,依靠TLS的安全性。
  • 隐写术和水印
    • 隐写术:使用密码学技术在另一条消息内嵌入秘密消息的方法
    • 水印:检测拷贝并且跟踪拷贝来源

7.5.4 数字版权管理(DRM)

  • 音乐、电影、电子书、视频游戏、文档

7.5.5 网络连接

  1. 链路加密
    • 链路加密使用软件或硬件解决在两个点之间建立一条安全隧道
    • 端到端加密有终于保护双方之间的通信安全,并且可以独立于链路加密实施
    • 链路加密和端到端的加密区别:链路加密中,所有的数据都会被加密,下一条重新解密然后加密,降低了路由速度,端到端的加密不加密头、尾、地址和路由数据,容易被嗅探和偷听者攻击
    • SSH是一个端到端的加密
  2. IPSec(Internet密钥交换(IKE)解决了在不安全的网络环境(如Internet)中安全地建立或更新共享密钥的问题。)
    • IPSec通过公钥密码学提供加密、访问控制、不可否认性以及消息身份认证,并且一般使用IP协议
    • IPSec组件:
      • 身份验证头(AH),提供完整性和不可否认性的保证、提供身份认证和访问控制,并可以防止重放攻击
      • 安全封装有效载荷(ESP) 提供数据包内容的机密性和完整性,提供有限的身份认证,防止重放攻击
    • IPSec两种操作模式:
      • 运输模式:只有数据包有效载荷被加密,为对等通信设计
      • 隧道模式:整个数据包都会被加密,为网关间通信设计
  3. ISAKMP(网络安全关联秘钥管理协议)
    • 通过协商、建立、修改和删除安全关联为IPSec提供后台的安全支持服务
    • ISAKMP基本要求:
      • 对通信对等进行身份关联
      • 建立并管理安全关联
      • 提供秘钥生成机制
      • 防止遭受威胁
  4. 无线互联
  • 有限等价隐私(WEP)
    • WiFi安全访问:通过TKIP(临时秘钥完整协议)消除危害WEP的密码学弱点(客户端到无线接入点)

7.6 密码学攻击

  • 分析攻击:试图降低算法复杂性的代数运算,关注算法本身的逻辑
  • 实现攻击:利用密码学系统的实现中的弱点,涉及错误与权限,编写加密系统程序所使用的方法
  • 统计攻击:试图发现驻留密码学应用程序的硬件或操作系统中的漏洞
  • 蛮力攻击:尝试有可能的、有效的秘钥或密码组合,彩虹表和转为蛮力涉及和开发的专业化、可扩展的硬件
  • 频率分析和仅知密文攻击:拥有加密后的密文信息,即仅知密文攻击;频率分析就是一种已证明可行的对抗简单密码的技术
  • 已知明文攻击:攻击者具有已加密消息的副本以及用以产生密文的明文消息
  • 选定密文攻击:攻击者能够解密所选的部分密文信息,并且可以使用已解密的部分消息来发现秘钥
  • 选定明文攻击:攻击者能够加密所选的明文信息,可以分析加密算法输出的密文
  • 中间相遇攻击:针对使用两轮加密的算法
  • 中间人攻击:怀有恶意的人置身于通信双方之间的位置并截获所有的通信
  • 生日攻击:冲突攻击或逆向散列匹配,寻找散列函数一一对应特性中的缺陷,基于两个不同的消息使用相同的散列函数产生共同的消息摘要的概率
  • 重放攻击:拦截通信双方的加密消息,重放捕捉的信息以打开新的会话

相关文章:

CISSP学习笔记:PKI和密码学应用

第七章 PKI和密码学应用 7.1 非对称密码学 对称密码系统具有共享的秘钥系统,从而产生了安全秘钥分发的问题非对称密码学使用公钥和私钥对,无需支出复杂密码分发系统 7.1.1 公钥与私钥 7.1.2 RSA(兼具加密和数字签名) RSA算法…...

简述Java21新特性

Java21新特性 你发任你发我用Java8 不管Java更新了多少版本,我还是用Java8,因为在很多框架不知道支持不支持Java21,而且因为很多Jar包的版本冲突问题,所以我还是用Java8,但是对于新技术的了解是非常必要的。 Java 21是新推出的长…...

Composition API(常用部分)

1. Composition API(常用部分) 文档: ​ https://composition-api.vuejs.org/zh/api.html 1) setup 新的option, 所有的组合API函数都在此使用, 只在初始化时执行一次函数如果返回对象, 对象中的属性或方法, 模板中可以直接使用2) ref 作用: 定义一个数据的响应式语法: cons…...

驱动插入中断门示例代码

驱动插入中断描述符示例代码 最近做实验,每次在应用层代码写测试代码的时候都要手动挂一个中断描述符,很不方便所以就想着写个驱动挂一个中断门比较省事 驱动测试效果如下: 下面的代码是个架子,用的时候找个驱动历程传递你要插…...

1 论文笔记:Efficient Trajectory Similarity Computation with ContrastiveLearning

2022CIKM 1 intro 1.1 背景 轨迹相似度计算是轨迹分析任务(相似子轨迹搜索、轨迹预测和轨迹聚类)最基础的组件之一现有的关于轨迹相似度计算的研究主要可以分为两大类: 传统方法 DTW、EDR、EDwP等二次计算复杂度O(n^2)缺乏稳健性 会受到非…...

如何做一个基于 Python 的搜索引擎?

怎么做一个基于 python 的搜索引擎? 1、确定搜索引擎范围和目标用户 在决定做一个基于Python的搜索引擎之前,首先需要确定搜索引擎的范围和目标用户。搜索引擎的范围可以包括新闻、商品、音乐等,不同的领域需要不同的数据来源和处理方式。同…...

Python报错:KeyError: ‘820‘

Python报错:KeyError: ‘820’ 问题描述 原因 操作的表格列名是数字 NIRdata[820] Rdata[630]以上是出错行,dataframe的这种索引方式不支持用数字。 解决方案 先修改列名为字符 然后将出错行改为对应列名 NIRdata[nir] Rdata[r]...

【kubernetes】kubernetes中的Deployment使用

1 Why need Deployment? K8S中Pod是用户管理工作负载的基本单位,Pod通常通过Service进行暴露,因此,通常需要管理一组Pod,RC和RS主要就实现了一组Pod的管理工作,其中,RC和RS的区别在于,RS提供更…...

百度2024校招机器学习、数据挖掘、自然语言处理方向面试经历

本文介绍2024届秋招中,百度的机器学习/数据挖掘/自然语言处理工程师岗位一面的面试基本情况、提问问题、代码题目等。 8月初参与了百度提前批的机器学习/数据挖掘/自然语言处理工程师岗位面试,所在部门是搜索方向的。一面结束之后就知道凉了,…...

RabbitMQ原理(二):SpringAMQP编程

文章目录 3.SpringAMQP3.1.导入Demo工程3.2.快速入门3.1.1.消息发送3.1.2.消息接收3.1.3.测试3.3.WorkQueues模型3.3.1.消息发送3.3.2.消息接收3.3.3.测试3.3.4.能者多劳3.3.5.总结3.4.交换机类型3.5.Fanout交换机3.5.1.声明队列和交换机3.5.2.消息发送3.5.3.消息接收3.5.4.总结…...

什么是SQL注入(SQL Injection)?如何预防它

什么是 SQL 注入(SQL Injection)?如何预防它? SQL注入(SQL Injection)是一种常见的网络安全漏洞,攻击者通过在应用程序的输入中插入恶意SQL代码来执行未经授权的数据库操作。SQL注入攻击可能导…...

metrology

创建模型:create_metrology_model 设置图像大小:set_metrology_model_image_size 添加测量模型:add_metrology_object_rectangle2_measure 设置对象参数:set_metrology_object_param 设置模型参数:set_metrology_model…...

UE学习记录06----根据Actor大小自适应相机位置

背景: staticMesh 会根据业务需要随时变化,然后通过staticMesh的大小自适应相机位置,捕捉画面用来预览该模型,使模型在画布中不会太大导致显示不全,也不会太小 参考: UE实现相机聚焦物体功能_右弦GISer的…...

Go-Python-Java-C-LeetCode高分解法-第八周合集

前言 本题解Go语言部分基于 LeetCode-Go 其他部分基于本人实践学习 个人题解GitHub连接:LeetCode-Go-Python-Java-C 欢迎订阅CSDN专栏,每日一题,和博主一起进步 LeetCode专栏 本文部分内容来自网上搜集与个人实践。如果任何信息存在错误,欢迎…...

数据结构--并查集

一、并查集的概念 并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。常常在使用中以森林来表示。 最裸并查集: 合并元素a和元素b 所在的集合。查询元素a和元素b 是否属于同一组。是否在一个…...

Leetcode 224. 基本计算器

文章目录 题目代码&#xff08;10.1 首刷看解析&#xff09; 题目 Leetcode 224. 基本计算器 代码&#xff08;10.1 首刷看解析&#xff09; class Solution { public:int calculate(string s) {stack<int> sk; // 存储正负号sk.push(1);int sign 1;int res 0;int i…...

Linux基础命令汇总

用户管理 su 切换用户&#xff1a;su 用户名 logname 显示当前用户的登录用户名&#xff1a;logname useradd 创建用户&#xff1a;useradd 用户名创建用户时指定用户的主组&#xff1a;useradd -g 组名 用户名 usermod 添加附属组&#xff1a;usermod -G 组…...

JAVA 获得特定格式时间

0 背景 我们有时要获取时间&#xff0c;年月日时分秒周几&#xff0c;有时要以特定的格式出现。这时就要借助 SimpleDateFormat 或者 DateTimeFormatter。有时要某个月份有多少天需要借助 Calendar。所以有必要了解一些知识。 1 SimpleDateFormat simpledateFormat 线程不安全…...

问题: 视频颜色问题,偏绿

参考 什么是杜比视界&#xff1f; - https://www.youtube.com/watch?vldXDQ6VlC7g 【哈士亓说】07&#xff1a;HDR、杜比视界究竟是个啥&#xff1f;为什么这个视频还不是HDR视频&#xff1f; - https://www.youtube.com/watch?vrgb9Xg3cJns 正文 视频应该是 杜比视界 电…...

智能文字识别技术——AI赋能古彝文保护

前言 人工智能在古彝文古籍保护方面具有巨大的潜力和意义。通过数字化、自动化和智能化的手段&#xff0c;可以更好地保护和传承古彝文的文化遗产&#xff0c;促进彝族文化的传承和发展。 文章目录 前言一、古彝文是什么&#xff1f;1.1古彝文的背景1.2古彝文古籍保护背景 二、…...

Linux压缩和解压命令大全:tar、gzip和zip完整教程

文章目录 linux中的压缩和解压命令简介什么是压缩和解压为什么要使用压缩和解压命令压缩命令tar命令创建.tar文件压缩目录压缩多个文件或目录 gzip命令压缩文件压缩后删除原文件压缩整个目录 zip命令创建.zip文件压缩文件或目录设置压缩级别 解压命令tar命令解压.tar文件解压到…...

Vue3 reactive和ref详解

reactive Vue3.0中的reactive reactive 是 Vue3 中提供的实现响应式数据的方法。在 Vue2 中响应式数据是通过 defineProperty 来实现的&#xff0c;在 Vue3 中响应式数据是通过 ES6 的 Proxy来实现的。reactive 参数必须是对象 (json / arr)如果给 reactive 传递了其它对象 默…...

jvs-rules(规则引擎)和jvs智能bi(自助式数据分析)9.22更新内容

规则引擎更新功能 新增: 1.新增节点匹配筛选 用于做多个条件的数据筛选&#xff0c;以便将符合条件的数据传递给下一个节点进行处理&#xff0c;通常用于实现复杂的查询逻辑。 2.复合变量节点新增判断条件选项说明 用户可以根据自己的需求&#xff0c;为复合变量节点添加不…...

Leetcode算法题练习(一)

目录 一、前言 二、移动零 三、复写零 四、快乐数 五、电话号码的字母组合 六、字符串相加 一、前言 大家好&#xff0c;我是dbln&#xff0c;从本篇文章开始我就会记录我在练习算法题时的思路和想法。如果有错误&#xff0c;还请大家指出&#xff0c;帮助我进步。谢谢&…...

Xilinx FPGA 7系列 GTX/GTH Transceivers (5)-- Aurora 8b10b 信号传输实战--小试牛刀

第一节:Xilinx FPGA 7系列 GTX/GTH Transceivers (1)–了解了GTX硬件的基础知识 第二节:IBERT GTX --通过Ibert IP测试链路通信 第三节:aurora 8b10b single lane 4byte–学习官方历程 第四节:aurora 8b10b single lane 4byte–修改官方例子,发收递增数。 GTX/GTH Transc…...

第三章:最新版零基础学习 PYTHON 教程(第七节 - Python 运算符—Python 成员身份和身份运算符)

Python 提供了两个成员资格运算符来检查或验证值的成员资格。它测试序列(例如字符串、列表或元组)中的成员资格。 in 运算符: “in”运算符用于检查序列中是否存在字符/子字符串/元素。如果在序列中找到指定元素,则求值为 True,否则求值为 False。例如, CSDNforCSDN 中…...

【Java 基础篇】Java 注解详解

在 Java 编程中&#xff0c;注解&#xff08;Annotation&#xff09;是一种元数据&#xff0c;它提供了关于程序代码的额外信息。注解不直接影响程序的执行&#xff0c;但可以在运行时提供有关程序的信息&#xff0c;或者让编译器执行额外的检查。 本文将详细介绍 Java 注解的…...

MVVM框架下两窗口的消息传递

副窗口关闭的时候将bool类型传递出去 var message new CloseWindowMessage {MedicineView_DialogResult true }; //CloseWindowMessage是存储bool类型的标记类 Messenger.Default.Send(message); 主窗体中添加关闭处理的方法 private void HandleCloseWindowMessage(Clo…...

ROS2 从头开始​​:第6部分 - ROS2 中的 DDS,用于可靠的机器人通信

一、说明 在这篇文章中,我们将重点关注 ROS 2的通信栈DDS,其中这是介于管理节点通信与控制节点通信环节,是上位机决策体系与下位机的控制体系实现指令-执行-反馈的关键实现机制。 二、ROS工程的概念框架 现代机器人系统非常复杂,因为需要集成各种类型的传感器、执行器和其…...

WebSocket的那些事(6- RabbitMQ STOMP目的地详解)

目录 一、目的地类型二、Exchange类型目的地三、Queue类型目的地四、AMQ Queue类型目的地五、Topic类型目的地 一、目的地类型 在上节 WebSocket的那些事&#xff08;5-Spring STOMP支持之连接外部消息代理&#xff09;中我们已经简单介绍了各种目的地类型&#xff0c;如下图&…...

泊头网站建设/宁波seo网站排名优化公司

为什么80%的码农都做不了架构师&#xff1f;>>> ./config --prefix/usr/local/OpenSSL -fPIC shared 转载于:https://my.oschina.net/eduosi/blog/782783...

做网站三年3万块钱/常用的关键词挖掘工具

首先谈一下最简单的Bash博弈。Bash博弈是这样的&#xff1a;两个人&#xff0c;n个物品&#xff0c;每个人每次都可以取走1-m个物品&#xff0c;取走最后一个物品的人胜利。问先手在什么条件下必胜。 #include <bits/stdc.h> #define ll long long #define inf 0x3f3f3f…...

做响应式网站制作/百度关键词在线优化

核心代码&#xff1a; -webkit-linear-gradient() /**app.wxss**/ page {background: -webkit-linear-gradient(top,rgb(244,157,4),#FACF94,white); } 参数值描述top从上到下渐变bottom从下到上渐变left从左到右渐变reight从右到左渐变 rgb(244,157,4)&#xff1a; 第一个颜…...

网站开发人员绩效如何计算/网络营销的理解

胡言乱语之gcc优化 本文为业余蒟蒻尝试分析一段简单的 C 代码在 gcc -O0、-O1、-O2 下的优化情况。 ______________ < 大佬驱散&#xff01;&#xff01; >--------------\ ^__^\ (oo)\___By___(__)\ CDFMLR )\/\||------||| ||做数值分析的实验&#xff0c;写了…...

淮南市建设管理委员会网站/seo搜索优化工具

公司办公邮箱&#xff0c;一定要有企业邮箱&#xff01;在与客户沟通过程中&#xff0c;往往合作的机会都在细节上&#xff0c;特别是外贸企业&#xff0c;因为国际邮件文化&#xff0c;老外都是用邮件沟通的&#xff0c;正规的公司邮箱可以为企业赢得更多的商机。TOM企业邮箱的…...

wordpress 新浪/seo软文推广工具

本文测试通过条件&#xff1a; VMware-Workstation-Pro-14.0.0.6661328 Ubuntu 16.04 先来一种物理卷和逻辑卷的关系图&#xff1a; 本图拍自书籍&#xff1a;Linux命令行与Shell脚本编程大全(第三版155页) 方法步骤&#xff1a; 一 在虚拟机中添加一块4G的硬盘&#xff0c;…...