CISSP考点

本章详细介绍了密码学的历史、基本知识、现代密码学和对称密钥算法,包括DES、三重DES、IDEA、Blowfish和AES等。密码学的主要目标是保密性、完整性、身份验证和不可否认性。重点讨论了对称密钥算法的优缺点及其在数据加密中的应用,如ECB、CBC、CFB、OFB和CTR模式,并探讨了密钥管理及密码生命周期的重要性。

第6章 密码学和对称秘钥算法

前言

密码的三种状态

  1. 静止中:存储中的数据,保存在硬盘、备份磁带等存储介质中的数据。
  2. 运输中:运动中的数据或线路上的数据,正在两个系统之间通过网络传输的数据。
  3. 使用中:指保存在计算机活跃的内容中

密码的作用

  1. 提供保密性、完整性、身份验证和不可否认性

6.1 密码学的历史里程碑

6.1.1 凯撒密码(属于替换密码)

加密公式:C = (P + 3) m o d 2 6

解密公式:P=(C-3) m o d 2 6

Ultra :德国军工企业为政府改造了一台商用代码机,取名 Enigma。这台机器用一系列 3 到 6 位轮转执行一种极其复杂的替换密码。

Enigma:为攻击 Enigma 代码,盟国军队开始了一次绝密行动

6.2 密码学基本知识

6.2 1.密码学目标

  • 保密性、完整性、身份验证和不可否认性

  • 密码分类
    对称密码:使用一个共享秘密秘钥
    非对称密码:公钥和私钥

  • 密码的特性

  • 保密性Confidentiality
    保密性(Confidentiality)确保数据在静止、传输和使用等三种不同状态下始终保持私密

  • 完整性Integrity
    确保数据没有被人未经授权更改

  • 身份验证Authentication
    用于验证系统用户所声称的身份,不可否认性Nonrepudiation,向接收者保证消息发自发送者,而且没有人冒充发送者。

6.2.2 密码学的概念

  • 明文:用P表示明文,指一条消息进入编码形式之前
  • 密文:用C表示密文,用一种密码算法给明文消息加密,生成一条密文消息。
  • 密钥
    密钥空间是从全 0 密钥到全 1 密钥空间是从 0 到 2n的数范围,其中 n 是密钥的位大小,如128位,表示2^128。
  • 科克霍夫原则:算法应该公开
  • 密码学分两块,分别是密码术和密码分析
    密码术:创建和执行秘密代码和密码的技艺,也叫加密法。
    密码分析:研宄的是打败代码和密码的方法

6.2.3 密码数学

  • 布尔数据:开(真)和关(假)

  • 逻辑运算
    1) AND(与),符号^,两个为真时,值为真 OR(或),用符号 “v 表示,检查输入值中是否至少一个为真

    2)NOT(非) “NOT”
    运算(用符号“~”或“!”表示)只是颠倒一个输入变量的值

    3)ExclusiveOR(异或),通常用符号“®”表示,只有当一个输入值为真的时候, XOR函数才返回一个真值。如果两个值都为假或两个值都为真,则 XOR 函数的输出为假。

  • 模函数

    写 “mod” 表示,也用“%”它是一次除法运算之后留下的余数

  • 单向函数
    为输入的每种可能组合生成输出值的一种数学运算

  • Nonce
    Nonce 是一个随机数,密码常通过给加密过程添加随机性来获得强度。

  • 零知识证明
    密门例子

  • 分割知识
    信息或权限被分散到多名用户手中时,任何一个人都不会具有足 够的权限来破坏环境的安全,如密钥托管。

  • N 分之 M 控制要求

  • 八分之三控制要求

  • 代价函数
    对一个加密系统实施一次完整蛮力攻击所需付出的时间和精力

6.4 密码

  • 代码与密码

密码以位(即一个个位二进制代码)、字符(即ASCII消息的一个单个字符) 或块(即消息的一个固定片段,通常以位数表示)为单位将消息从明文转变成密文。代码作用于单词和短语, 而密码作用于字符和位。

  • 移位密码

通过一种加密算法重新安排明文消息的字母,形成密文消息

  • 替换密码

替换密码”(substitutioncipher)通过加密算法用一个不同的字符替换明文消息的每个字符或位
Vigenere,多表替换。选择一个密钥,在明文下写出对应的密钥(可重复),定位两个交叉处,即为密文。

  • 单次密本(Vemam 密码)

是极其强力的一种替换密码,公式为C = (P + K) mod 26,K为加密密钥
要求:a)每个单次密本必须只使用一次。b)密钥必须至少与将被加密的消息一样长
特点:单次密本的优势在于,如果使用得当,它能够不可破解

  • 运动密钥密码

加密密钥与消息本身一样长,而且往往选自一本普通书籍。

  • 块密码

块密码(blockcipher)在消息“块”上运算,在同一时间对整个消息执行加密算法
注意:移位密码(transpositioncipher)是块密码的例子,大多数现代加密算法都执行某类块密码

  • 流密码

流密码(stream cipher)是—次在消息(或消息流)的一个字符或一个位上运行。 凯撒密码是流密码的一个例子。单次密本也是一种流密码,因为算法在 明文消息上的每个字母上单独运行。

  • 混淆和扩散

密码算法依靠两种基本运算来隐藏明文消息—混淆(confusion)和扩散(diffusion)。

混淆:明文和密钥之间有着极复杂的关系,迫使攻击者放弃只靠改动明文和分析结果密文来确定密钥。
扩散:明文中发生的一点变化,会导致多个变化在整个密文中传播。

6.3 现代密码学

6.3.1 密码密钥

密钥的长度与密码系统的代价函数直接相关:密钥越长,破解密码系统越难
现代密码系统不再依靠秘密算法,所依靠的是为一个或多个密码密钥保密, 而这些密钥将用于为特定用户或用户群体个性化定制算法
业界取得广泛共识,56 位 DES 算法己不再安全。现代密码系统用至少 128 位的密钥来保护数据

6.3.2 对称密钥算法

特点:
a.加密解密消息共用。
b.对称密钥加密非常快,往往比非对称算法 快 1000 到 10000 倍。
通信双发所需密钥总数=n(n-1)/2

弱点

  • 密钥分发是主要问题
  • 对称密钥加密法不提供不可否认性
  • 算法缺乏可伸缩性
    密钥必须经常重新生成。如参与者离开通信群体时,密钥必须弃用或替换

6.3.3 非对称算法

特点:公钥加密,私钥解密,私钥可验签,证明不可否认性。通信双发所需密钥总数=2n
长处
高扩展性:添加新用户时只需要生成一个公钥-私钥对
便于从非对称系统移除用户:非对称密码系统提供一个密钥注销机制,从而使取消一个密 钥,进而从系统有效移除一个用户得以实现
密钥分发简便易行
不需要预先建立通信关联
弱点
主要弱点是运算速度缓慢
比较

6.3.4 散列算法

消息摘要是由散列算法生成的消息内容归纳
公钥密码系统与消息摘要配套使用可提供数字签名能力

6.4 对称密码

6.4.1 数据加密标准,DES Data Encryption Standard

DES 是一种 64 位块密码,使用的密钥长56 位
1)电子密码本(Electronic Code Book, ECB)模式 a)算法每次处理一个 64 位块,它只用选好的秘密密钥给块加密 b)不安全
2)密码块链接(Cipher Block Chaining,CBC)模式 a)在密码块链接(CBC)模式中,每块未加密文本在通过 DES算法加密前,先要借助前面刚生成的密文块接受异或(X0R)运算 b)使用CBC模式时,如果一个块在传输过程中毁坏,这个块以及其后的块将无法解密
3)密码反馈(Cipher Feedback,CFB)模式 密码反馈(CFB)模式是使用与块大小相同的存储缓冲区。系统在缓冲区填满时给数据加密, 然后把密文发送给接收者。接下来,系统等待缓冲区下次被新生成的数据填满,然后将它 们加密并传输。
4)输出反馈(Output Feedback, OFB)模式 a)用一个种子值对明文进行异或运算。对于第一个被加密的块,DES用一个初始化向量来 创建种子值。而后面的种子值则通过DES算法在前一个种子值上的运算得出。主要优势在 于,不存在链接函数,传输错误不会传播,影响后面块的解密。
5)计数器(Counter,CTR)模式 利用一个简单的计数器为每次运算增量。与 OFB 模式一样,CTR 模式不会传播错误

6.4.2 三重DES

DES-EEE3:E(K1,E(K2,E(K3,P))),效密钥长度为 168 位
DES-EDE3:E(K1, D(K2,E(K3,P))),效密钥长度为 168 位
DES-EEE2:E(K1,D(K2,E(K3,P))),效密钥长度为 112 位
DES-EDE2:E(K1,D(K2 ,E(K1,P))),效密钥长度为 112 位

6.4.3 国际数据加密算法IDEA

国际数据加密算法(IDEA)块密码是在业界普遍抱怨 DES算法缺乏充分密钥长度的情况下开发出来的
IDEA在64位明文/密文块上运行。不过,IDEA是用一个 128 位密钥开始运算的 IDEA 能在 DES 使用的 5种模式下运行。IEDA专利属于瑞士,2012年已过期。

6.4.4 Blowfish

Blowfish 块密码是 DES 和 IDEA 的另一个替代方案
Blowfish 允许密钥长度可变,其中最短为相对不太安全的 32 位,最长为极强的 448 位

6.4.5 Skipjack

Skipjack 在 64 位文本块上运行。它使用 80位密钥,支持 DES 支持的4 种运行模式
Skipjack 和 Clipper 芯片并不受密码界欢迎,因为美国现行的托管规程不值得信任

6.4.6 高级加密标准AES

美国政府用 AES/Rijndael 加密所有敏感但未分类的数据
高级加密标准(AES)密码允许使用 3 种密钥强度:128 位、192 位和 256 位
128 位密钥要求 10 轮加密。
192 位密钥要求 12 轮加密。
256 位密钥要求 14 轮加密。
对称密码熟记表

6.4.7 对称密钥管理

对称密钥管理:秘密密钥创建、分发、存储、销毁、恢复和托管的防护手段
1.创建和分发对称密钥:线下分发、公钥加密和 Diffie-Hellman 密钥交换算法 安全RPC(S-RPC)就是用Diffie-Hellman来进行密钥交换的,该算法沿用至今。
2. 存储和销毁对称密钥
3. 密钥托管和恢复
公平密码系统:通信的秘密密钥被分解成两个或多个片段, 每个片段都交付一个独立第三方保管
受托加密标准:向政府提供了解密密文的技术手段

6.5 密码生命周期

所有密码系统的使用寿命都是有限的
规定机构可接受的密码算法,例如 AES 3DES 和 RSA;

6.6 总结

  • 了解保密性、完整性和不可否认性在密码系统中扮演的角色。

    保密性是密码学追求的主要目标之一。它保护静止和传输中的数据的秘密。完整性向消息接收者保证,数据从创建之时起到访问之时止,不曾有过改动(不管是有意的还是无意的)。不可否认性则提供不可辩驳的证据证明,消息发送者确实授权了消息。这可防止发送者日后否认自己发送过原始消息。
    理解密码系统实现身份验证目标的方式。身份验证可提供用户身份保障。挑战-应答协议是
    执行身份验证的一种方案,要求远程用户用一个只有通信参与方知道的密钥给一条消息加密。
    对称和非对称密码系统都能执行身份验证。

  • 熟知密码学基本术语
    一个发送者若要将一条私密消息发送给一个接收者,他首先要提取
    明文(未经加密的)消息,然后用一种算法和一个密钥给其加密。这将生成一条密文消息传送给
    接收者。接收者随后将用同一种算法和密钥解密密文,重建原始明文消息以便查看。
    了解代码和密码的差异,讲出密码的基本类型。代码是作用在单词或短语上的符号密码系
    统,有时是保密的,但不会始终提供保密性安全服务。而密码则始终会隐藏消息的真实含义。
    搞清以下几类密码的工作原理:移位密码、替换密码(包括单次密本)、流密码和块密码。
    了解成功使用单次密本的要求。单次密本若想成功,密钥必须随机生成且不带任何可为人
    知的模式。密钥必须至少与被加密消息一样长。密本必须严防物理泄露,每个密本必须使用一
    次后废弃。

  • 掌握零知识证明概念
    零知识证明是一个通信概念。其间交换一种特定类型信息,但是不
    传递真实数据,情况与数字签名和数字证书类似。
    了解分割知识。分割知识指将执行某个操作所要求的信息或权限拆分给多个用户。这样
    做可以确保任何一个人都没有足够的权限破坏环境安全。“N 分之 M” 控制是分割知识的一个例子。

  • 了解代价函数(代价因子)
    代价函数或代价因子从耗费成本和/或时间的角度测量解密一条
    消息需要付出的努力,以此来衡量密码系统的强度。针对一个加密系统完整实施一次蛮力攻击所需花费的时间和精力,通常就是代价函数评定所表达的内容。一个密码系统提供的保护与它的代价函数/因子值呈正比例关系。

  • 了解密钥安全的重要性。
    密码密钥为密码系统提供必要的保密元素。现代密码系统用至少128 位长的密钥提供适当的安全保护。业界一致认为,数据加密标准(DES)的 56 位密钥在长度
    上己不足以提供安全保障。

  • 了解对称和非对称密码系统的差异。
    对称密钥密码系统(或秘密密钥密码系统)依靠使用一个共享秘密密钥。对称密钥密码系统的运算速度比非对称密码系统快很多,但是它们不太支持可扩展性、密钥的简便分发和不可否认性。非对称密码系统为通信两方之间的通信使用公钥- 私钥对,但运行速度比对称算法慢得多。

  • 理解数据加密标准(DES)和三重 DES(3DES)的基本运行模式
    数据加密标准有 5 种运行模式:
    电子密码本(ECB)模式、
    密码块链接(CBC)模式、
    密码反馈(CFB)模式、
    输出反馈(OFB)模式
    计数器(CTR)模式。
    ECB 模式被认为最不安全,只用于传送简短消息。3DES 用两个或三个不
    同的密钥对 DES 进行三次迭代,把有效密钥强度分别提升至 112 或 168 位。

  • 了解高级加密标准(AES)
    高级加密标准(AES)使用了 Rijndael 算法,是安全交换敏感但未
    分类数据的美国政府标准。AES 用 128、192 和 256 位密钥长度和 128 位固定块大小来实现比旧版 DES 算法高得多的安全保护水平。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值