《系统架构设计师教程(第2版)》第4章-信息安全技术基础知识-02-信息加密技术

文章目录

  • 1. 信息加密技术
    • 1.1 数据加密
    • 1.2 对称密钥加密算法
      • 1)数据加密标准(DES)
      • 2)三重DES(Triple-DES)
      • 3)国际数据加密算法(IDEA)
      • 4)高级加密标准(AES)
    • 1.3 非对称密钥加密算法
      • 1)概述
      • RSA算法
  • 2. 密钥管理技术
    • 2.1 秘钥的使用控制
      • 1)密钥标签
      • 2)控制矢量
    • 2.2 密钥的分配
      • 1)获得共享秘钥的方式
    • 2.3 公钥加密体制的密钥管理
      • 1)公开发布
      • 2)公用目录表
      • 3)公钥管理机构
      • 4)公钥证书
    • 2.4 公钥加密分配单钥密码体制的密钥

本章对应教材:4.4信息加解密技术、4.5 密钥管理技术

1. 信息加密技术

1.1 数据加密

  • 作用:防止未经授权的用户访问敏感信息的手段
  • 密码学(Cryptography):研究数据加密的科学
  • 加密过程
    • 发送端把明文P 用加密算法E 和密钥 K 加密(即 密文C=E(K,P))
    • 接收端利用解密算法D 和密钥K 对C 解密得到明文P(即P=D(K,C)
    • 这里加/解密函数E 和D 是公开的,而密钥K是秘密的

在这里插入图片描述

1.2 对称密钥加密算法

  • 概述:加密密钥和解密密钥是相同的,称为共享密钥算法或对称密钥算法

1)数据加密标准(DES)

  • Data Encryption Standard
  • 制定:1977年1月,美国国家安全局(National Security Agency) 根据IBM的专利技术Lucifer制定了DES。
  • 加密过程:
    • 明文被分成64位的块
    • 对每个块进行19次变换
      • 其中16次变换由56位密钥的不同排列形式控制
      • 而IBM使用128为秘钥,而DES减少了秘钥长度
    • 最后产生64位的密文块

2)三重DES(Triple-DES)

  • 概述:两把密钥对报文做三次 DES加密,克服了DES密钥长度较短的缺点
  • 秘钥:112位
    • 因为三次加密中,第一层和第三层秘钥相同,因此秘钥长度 56x2=112位 (而不是56x3)
    • 若只使用两层加密,第2层DES不安全,它对一种称为“中间可遇”的密码分析攻击极为脆弱
  • 算法的步骤:
    1. 用密钥 K1 进行 DES加密
    2. 用K2 对步骤(1)的结果进行 DES解密。
    3. 对步骤(2)的结果使用密钥 K 1 进行DES 加密。

3)国际数据加密算法(IDEA)

  • International Data Encryption Algorithm
  • 秘钥:128位
  • 步骤:把明文分成64位的块,进行8轮迭代加密
  • 优点:可以用硬件或软件实现、比DES快

4)高级加密标准(AES)

  • 全称 Advanced Encryption Standard
  • 秘钥:支持支持128、192、256
  • 可以通过软件或硬件实现。

1.3 非对称密钥加密算法

1)概述

  • 概念:如题,加密密钥和解密密钥是不同的

  • 满足的条件

    • D( E ( P ) ) = P
    • 不能由E导出D
    • 选择明文攻击不能破解E

    明文攻击:选择任意明文-密文对以确定未知的密钥

  • 加密传输和签名

    • 用公钥加密,私钥解密,可实现保密通信
    • 用私钥加密,公钥解密,可实现数字签名

RSA算法

  • 概念:RSA(Rivest Shamir and Adleman) 是一种公钥加密算法
  • 基于大素数分解的困难性

    具体方法不用考虑,教材写的错误很多

2. 密钥管理技术

2.1 秘钥的使用控制

两个用户(主机、进程、应用程序)在进行保密通信时,必须拥有一个共享的并且经常更新的秘密密钥

秘钥控制技术:

1)密钥标签

  • DES 的密钥控制
    • 将DES的8个校验位作为控制这个密钥的标签
      • 前3位分别代表了该密钥的不:主/会话密钥、加密、解密
    • 缺陷:由于长度限制,且须经解密方能使用,带来了一定的不便性

2)控制矢量

  • 概念:
    • 用若干字段说明秘钥在一定环境下,是否允许被使用
    • 由秘钥中心产生,并加入秘钥中
    • 其长度可变

2.2 密钥的分配

1)获得共享秘钥的方式

  • 方法一(人工发送)

    • 秘钥选取:A 选取
    • 发送:A ==> B
    • 媒介:物理手段发送
    • 问题:网络中秘钥数目过多

    如网络中N个用户都要求支持加密服务,则每一对用户都需要一个共享秘钥,数目将达到 N(N-1)/2

  • 方法二(人工发送)

    • 秘钥选取:第3方选取密钥
    • 发送:第三方 ===> A、B
    • 媒介:物理手段发送
    • 问题:同上
  • 方法三

    • 秘钥选取:A选取
    • 发送:A <用已有秘钥加密(新密钥)> ==> B
  • 问题:

    • B一旦获得秘钥,则可获得后期秘钥。
    • 网络中秘钥数目过多(同上)
  • 方法四:

    • 秘钥选取:由秘钥中心(KDC)选取
    • 发送:
      • KDC == 保密通道A ==> A
      • KDC == 保密通道B ==> B
    • 分配过程
      • KDC有一个共享密钥,即主密钥
      • 通过主密钥分配给每对用户会话密钥
      • 通信结束后立会话秘钥立即销毁
    • KDC的分层结构
      • 每个小范围建立一个本地KDC
      • 不同范围间使用一个全局KDC

2.3 公钥加密体制的密钥管理

1)公开发布

  • 概念:指用户将自己的公钥发给每一其他用户,或向某一团体广播
  • 缺点:任何人都可以伪造密钥公开发布

2)公用目录表

  • 概念:一个公用的公钥动态目录表,由某个可信的实体或组织)承担该共用目录表的建立、维护以及公钥的分布等
  • 过程:
    • 管理员
      • 为每个用户在目录表中建立一个目录
      • 每个目录包括:用户名、用户的公开钥
      • 定期公布和更新目录表
    • 用户
      • 使用合法方式向管理者注册自己的公钥
      • 可通过合法手段更新自己的公钥
  • 缺点:管理员秘密钥一旦被攻击者获取,所有用户将面临被假冒的危险

3)公钥管理机构

  • 与公用目录的区别
    • 由秘钥管理机构维护动态公钥目录
  • 过程:
    • 每一个用户都知道管理机构的公钥
    • A向管理机构发出请求
    • 管理机构使用私钥加密,发送给A
    • A 使用管理机构的公钥解密
  • 缺点
    • 管理机构容易成为瓶颈
    • 管理机构的公钥目录容易成为攻击目标

4)公钥证书

  • 证书形式:CA=ESKCA[T,IDA,PKA]

    • C A则是用户 A 产生的证书
    • ESKCA是 CA 的秘密钥
    • T是当前的时戳
    • IDA是用户A 的身份
    • PKA是 A 的公钥,
  • 解决公钥中心成为瓶颈的问题:

    • 用户将自己的公钥通过公钥证书发给另一用户
    • 而接受方则可用 C A的公钥 PKCA对证书加以验证

    如是,通过证书交换用户之间的公钥而无须再与公钥管理机构联系,从而避免了由统一机构管理所带来的不便和安全隐患。

2.4 公钥加密分配单钥密码体制的密钥

  • 公钥加密体制的加密速度比较慢,适合单钥密码体制的密钥分配

  • 建立共享会话密钥的步骤

    • A 将用B 的公钥加密得到的身份IDA和一个用于唯一标志这个业务的一次性随机数N1,发往 B
    • 预使A 确定对方是B, 则 B 用 A 的公钥加密N1和另一新产生的随机数N2 因为只有B 能解读①中的加密。
    • A用 B 的公钥 PKB对N2 加密后返回给 B , 以使B 相信对方确是A。
    • A 将 M=EPKB[ESKA[KS]] 发送给B , 其中KS为会话密钥,用 B 的公开钥加密是为保证只有B 能解读加密结果,用 A 的秘密钥加密是保证该加密结果只有A 能发送。
    • B 以DPKA[DSKB[M]]恢复会话密钥。
  • 优点:

    • 保密性和认证性均非常强
    • 既可防止被动攻击,又可防止主动攻击

在这里插入图片描述

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

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

相关文章

903. 昂贵的聘礼[dijsktra堆优化版]

题目描述 年轻的探险家来到了一个印第安部落里。 在那里他和酋长的女儿相爱了&#xff0c;于是便向酋长去求亲。 酋长要他用 10000 个金币作为聘礼才答应把女儿嫁给他。 探险家拿不出这么多金币&#xff0c;便请求酋长降低要求。 酋长说&#xff1a;”嗯&#xff0c;如果你能够…

MT2057 门票

思路&#xff1a; 此题是求有多少个区间的平均值>t&#xff0c; 那么可以把每个值-t。如果新的数列的某个区间的和>0&#xff0c;那么说明这个区间满足条件。 令新数列的前缀和为b[i]&#xff0c;所以求[i, j]区间是否满足条件&#xff0c;即求b[j]-b[i-1]是否>0&am…

k8s环境部署的集成arthas-spring-boot-starter spingboot项目无法访问控制台

前言 k8s环境部署的集成arthas-spring-boot-starter项目无法访问控制台&#xff0c;springboot项目集成arthas-spring-boot-starter 会自带个控制台 供我们访问 但是当使用k8s环境部署后 这个页面就无法访问了 分析 首先看下arthas对应的配置 arthas-spring-boot-starter 中…

多线程的代码案例

目录 单例模式 饿汉模式 懒汉模式 阻塞队列 生产者消费者模型意义: 阻塞队列使用方法 实现阻塞队列 阻塞队列实现生产者消费者模型 定时器 实现简单的定时器 工厂模式 线程池 为啥呢? 从池子里面取 比 创建线程 效率更高 线程池的创建 怎么填坑 ThreadPoolExec…

27.哀家要长脑子了!

目录 1.316. 去除重复字母 - 力扣&#xff08;LeetCode&#xff09; 2. 1209. 删除字符串中的所有相邻重复项 II - 力扣&#xff08;LeetCode 哎哟 烦死了 刚刚不小心退出又没保存 又要写一遍 烦死了 最近刷题不得劲啊 感觉这脑子没长一点 1.316. 去除重复字母 - 力扣&am…

java技术:nacos

目录 一、docker安装 1、创建一个nacos 2、复制配置信息出来&#xff08;方便修改配置文件&#xff09; 3、删除nacos 4、修改配置文件&#xff08;主要是一下几个&#xff09; 6、创建数据库 nacos 7、重启nacos mysql 一、docker安装 1、创建一个nacos docker run …

腾讯中视频项目,日均收益1000+,简单搬运无限做,执行就有收入

兄弟们今天给大家分享的项目-腾讯视频的中视频计划项目&#xff0c;项目简单&#xff0c;低门槛&#xff0c;不需要考虑带货等问题&#xff0c;是2024年目前最火的变现赛道了。 因为目前来说的话&#xff0c;腾讯视频中视频是刚开始启动&#xff0c;是项目的红利期&#xff0c;…

(C语言)队列实现与用队列实现栈

目录 1.队列 1.1队列的概念及结构 1.2 队列的实际应用联想 1.3队列的实现 2. 队列应用——队列实现栈 主要思路 1.队列 1.1队列的概念及结构 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进…

Python 渗透测试:子域名查询.

什么是 子域名查询. 子域名查询是指通过域名系统(DNS)查找某个域名下的子域名信息。子域名是域名层级结构中的一部分,位于主域名的下一级。子域名查询是网络安全评估和渗透测试中的一个重要步骤,可以帮助安全研究人员更好地了解目标系统的架构和潜在的安全隐患。但在进行子域名…

【C语言习题】12.扫雷游戏

文章目录 1.扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2游戏界面&#xff1a;1.3游戏的分析和设计1.2.1 数据结构的分析1.2.2 ⽂件结构设计 2.扫雷游戏的代码实现3.代码讲解 1.扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 使用控制台实现经典的扫雷游戏游戏可以通过菜单实现…

07-Fortran基础--Fortran指针(Pointer)的使用

07-Fortran基础--Fortran指针Pointer的使用 0 引言1 指针&#xff08;Poionter&#xff09;的有关内容1.1 一般类型指针1.2 数组指针1.3 派生类(type)指针1.4 函数指针 2 可运行code 0 引言 Fortran是一种广泛使用的编程语言&#xff0c;特别适合科学计算和数值分析。Fortran 9…

第9章.Keil5-MDK软件简介

目录 0. 《STM32单片机自学教程》专栏 9.1 主界面 9.2 文本格式编辑 9.3 代码提示&语法检测&代码模版 9.4 其他小技巧 9.4.1 TAB 键的妙用 9.4.2 快速定位函数/变量被定义的地方 9.4.3 快速注释与快速消注释 9.4.4 快速打开头文件 9.4.5 查找替换…