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

news2024/11/29 22:34:56

第七章 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 密码学攻击

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

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

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

相关文章

Minecraft我的世界部署教程

部署 费了老鼻子劲才搞懂如何部署,对新人实在是太不友好了。所以总结一下。 这里选用 PaperMC Veloity,使用 docker compose 部署。 结构 首先搞清楚服务器部署原理,有两个东西。 Minecraft 服务端Minecraft 服务代理 服务核心常见的主…

【算法挨揍日记】day09——704. 二分查找、34. 在排序数组中查找元素的第一个和最后一个位置

704. 二分查找 704. 二分查找 题目描述: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 解题思路&…

基于Java的网上摄影工作室网站设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

常见服务器运维管理面板整理汇总

随着云计算技术的发展和普及,越来越多的用户开始使用云服务器来部署和运行应用程序和服务。为了方便用户管理和操作云服务器,各种类型的服务器管理面板应运而生。本文将整理和汇总一些常见的服务器管理面板,供用户参考选择。 1、宝塔面板【官…

Go应用程序的安全最佳实践

在Go中预防漏洞、保护用户输入和防御代码注入和XSS攻击 在软件开发领域,安全性不是一个简单的事后考虑,而是建立强大和可信赖应用程序的基本基石。确保您的Go应用程序对潜在威胁具有韧性要求全面了解安全最佳实践。本指南深入探讨了您可以采取的重要措施…

【通意千问】大模型GitHub开源工程学习笔记(1)--依赖库

9月25日,阿里云开源通义千问140亿参数模型Qwen-14B及其对话模型Qwen-14B-Chat,免费可商用。 立马就到了GitHub去fork。 GitHub: GitHub - QwenLM/Qwen: The official repo of Qwen (通义千问) chat & pretrained large language model proposed b…

yolov5分割+检测c++ qt 中部署,以opencv方式(详细代码(全)+复制可用)

1&#xff1a;版本说明&#xff1a; qt 5.12.10 opencv 4.5.3 &#xff08;yolov5模型部署要求opencv>4.5.0&#xff09; 2&#xff1a;检测的代码 yolo.h #pragma once #include<iostream> #include<cmath> #include<vector> #include <opencv2/…

Spring的注解开发-非自定义Bean的配置

非自定义Bean注解开发 非自定义Bean不能象自定义Bean一样使用Component注解及其衍生注解进行管理&#xff0c;非自定义Bean要通过工厂的方式进行实例化&#xff0c;使用Bean标注即可&#xff0c;Bean的属性为beanName&#xff0c;使用Bean注解作用在方法中&#xff0c;通过定义…

一个高精度24位ADC芯片ADS1222的使用方法及参考电路程序成都控制器定制

前一段时间&#xff0c;在做单片机、PLC、电路板、控制器/箱、仪器仪表、机电设备或系统、自动化、工控、传感、数据采集、自控系统、控制系统&#xff0c;物联网&#xff0c;电子产品&#xff0c;软件、APP开发设计定制定做开发项目时&#xff0c;有要求用到24位的高精度ADC&a…

Flutter笔记 - 用于描述Align的Alignment、AlignmentDirectional、AlignmentTween类

Flutter笔记 用于描述Align的Alignment、AlignmentDirectional、AlignmentTween类 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_…

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

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

【C++漂流记】C++对象模型和this指针

C中对象模型和this指针是面向对象编程中的重要概念。对象模型描述了对象在内存中的布局和行为&#xff0c;包括成员变量和成员函数的存储方式和访问权限。this指针是一个隐含的指针&#xff0c;指向当前对象的地址&#xff0c;用于在成员函数中引用当前对象的成员变量和成员函数…

力扣 -- 416. 分割等和子集(01背包问题)

解题步骤&#xff1a; 参考代码&#xff1a; 未优化代码&#xff1a; class Solution { public:bool canPartition(vector<int>& nums) {int nnums.size();int sum0;for(const auto& e:nums){sume;}if(sum%21){return false;}int aimsum/2;//多开一行&#xff…

前端页面初步开发

<template><div><el-card class"box-card" style"height: 620px"><el-input v-model"query.name" style"width:200px" placeholder"请输入用户姓名"></el-input>&nbsp&nbsp&nbsp…

cesium 雷达扫描 (线行扩散效果)

cesium 雷达扫描 (线行扩散效果) 1、实现方法 使用ellipse方法加载圆型,修改ellipse中material方法来实现效果 2、示例代码 2.1、 <!DOCTYPE html> <html lang="en"><head><<

[Spring] Spring5——IOC 简介(二)

目录 六、工厂 Bean&#xff08;Factory&#xff09; 1、普通 bean 2、工厂 bean 3、示例 七、Bean 的作用域 1、单例和多例 2、如何设置为单实例或多实例 八、Bean 的生命周期 1、生命周期 2、生命周期示例 3、Bean 的后置处理器 4、后置处理器示例 九、XML 的自…

JavaScript设计模式

✨JavaScript设计模式 &#x1f380;设计模式 在 面向对象软件设计中针对特定问题的简洁而优雅的解决方案 &#x1f390;常见的设计模式 &#x1f384;1. 工厂模式 在JavaScript中&#xff0c;工厂模式的表现形式就是一个调用即可返回新对象的函数 // ------------- 工厂模…

gitlab配置webhook限制提交注释

一、打开gitlab相关配置项 vim /etc/gitlab/gitlab.rb gitlab_shell[custom_hooks_dir] "/etc/gitlab/custom_hooks" 二、创建相关文件夹 mkdir -p /etc/gitlab/custom_hooks mkdir -p /etc/gitlab/custom_hooks/post-receive.d mkdir -p /etc/gitlab/custom_h…

springboot和vue:九、v-for中的key+vue组件化开发

v-for中的key 目的 现在想要实现这样的一种效果&#xff0c;页面上存在初始姓名表单&#xff0c;同时存在输入框&#xff0c;输入姓名后点击添加按钮可以将新输入的姓名加入显示的姓名表单中。 代码 <!DOCTYPE html> <html lang"en"><head><…

数学建模Matlab之数据预处理方法

本文综合代码来自文章http://t.csdnimg.cn/P5zOD 异常值与缺失值处理 %% 数据修复 % 判断缺失值和异常值并修复&#xff0c;顺便光滑噪音&#xff0c;渡边笔记 clc,clear;close all; x 0:0.06:10; y sin(x)0.2*rand(size(x)); y(22:34) NaN; % 模拟缺失值 y(89:95) 50;% 模…