第 7 章 知识域:信息安全支撑技术
CISP 考试教材《第 1 章 知识域:信息安全保障》知识整理
CISP 考试教材《第 2 章 知识域:网络安全监管》知识整理
CISP 考试教材《第 3 章 知识域:信息安全管理》知识整理
CISP 考试教材《第 4 章 知识域:业务连续性》知识整理
CISP 考试教材《第 5 章 知识域:安全工程与运营》知识整理
CISP 考试教材《第 6 章 知识域:信息安全评估》知识整理
CISP 考试教材《第 7 章 知识域:信息安全支撑技术》知识整理
CISP 考试教材《第 8 章 知识域:物理与网络通信安全》知识整理
CISP 考试教材《第 9 章 知识域:计算环境安全》知识整理
CISP 考试教材《第 10 章 知识域:软件开发安全》知识整理
目录
7.1 知识子域:密码学
7.1.1 密码学基本概念
密码学(Cryptology)
1.密码学的发展例是
第一阶段:古典密码阶段
转轮密码机
ENIGMA
第二阶段:近代密码阶段
1949 - 1975
香农发表了《保密系统的通信理论》
第三阶段:现代密码阶段
1976年到现在
2.基本保密通信模型
密码学包括密码编码学和密码分析学
相关概念:
-
明文 Plain text
-
密文 Cipher text
-
加密 Encryption
-
解密 Decryption
-
加/解密算法
-
密钥 Key
3.密码系统的安全性
影响密码系统安全性的基本因素包括密码算法复杂度、密钥机密性和密钥长度等
柯克霍夫原则:密码系统中的算法即使背密码分析员所知,也应该无助于用来推导出明文或密钥
系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥
评估密码系统安全性主要有 3 种方法
(1)无条件安全
(2)计算安全性
(3)可证明安全性
密码系统要达到实际安全,就要满足以下准则
(1)破译该密码系统的实际计算量巨大,以至于在实际中是无法实现的
(2)破译该密码系统所需要的计算时间超过被加密信息的生命周期
(3)破译该密码系统的费用超过被加密信息本身的价值
4.密码算法的分类
(1)受限制的算法与基于密钥的算法
如果算法的保密性是基于保持加/解密算法的秘密,这种算法称为受限制的算法
如果算法可以公开,算法的安全性是基于密钥的安全性,这种算法称为基于密钥的算法
(2)对称密码与非对称密码
根据加密密钥和解密密钥的关系,密码体制分为对称密码算法(Symmetric Cryptosystem)和非对称密码算法(Asymmetric Cryptosystem)
对称密码算法也称为单钥或秘密密钥算法,其加密密钥和解密密钥相同
非对称密码体制又称为双钥或公钥密码体制,其加密密钥和解密密钥不同
非对称密码体值的密钥由公开密钥(public key)和私有密钥(private key)组成
(3)分组密码与流密码
按对明文的处理方式,可将对称密码体制分为分组密码(Block cipher)和流密码(Stream cipher)
流密码也称序列密码
7.1.2 对称密码算法
对称密码算法也称为传统密码算法、秘密密钥算法或单密钥算法,其加密密钥能够从解密密钥中推算出来,反过来也成立
1.算法特点
优点:
算法简单、计算量小、加密速度快、加密效率高,适合加密大量数据,明文长度与密文长度相等
缺点:
(1)需要通过秘密的安全信道协商加密密钥,这种安全信道可能很难实现
(2)密钥管理难
(3)无法解决对消息的篡改、否认等问题
对称密码分为分组密码算法和流密码算法
典型的分组密码包括 DES、IDEA、AES、RC5、Twofish、CAST-256、MARS 等
2.DES 和 3DES
数据加密标准(Data Encryption Standard,DES),是迄今为止世界上使用最为广泛的一种密码算法,它对分析、掌握分组密码的基本原理和设计原理有着重要的意义
(1)DES 选定过程
美国国家标准局采用了 IBM 公司提交的 Luciffer 算法的改进版本
DES 设计中使用了分组密码设计的两个基本原则:混淆和扩散原则
(2)DES 算法过程
(3)DES 与 3DES
两个密钥合起来有效密钥长度有 112 比特
3.AES
高级加密标准(Advanced Encryption Standard,AES)
(1)AES 选定过程
AES 的基本要求是比三重 DES 快而且至少和三重 DES 一样安全,分组长度为 128 比特,密钥长度为 128/192/256 比特
(2)AES 算法过程
4.其他算法
(1)RC4 算法
(2)BlowFish 算法
(3)IDEA 算法
国际数据加密算法(International Data Encryption Algorithm,IDEA)
7.1.3 非对称密码算法
非对称密码算法也称为公钥密码算法
1.算法特点
加密密钥和解密密钥不同,由加密密钥推导出响应的解密密钥在计算上是不可行的
公钥密码体制既可用于加密,也可用于数字签名
基于背包问题的 Merkle-Hellman 背包公钥密码体制
基于整数因子分解问题的 RSA 和 Rabin 公钥密码体制
基于有限域中离散对数问题的 ElGamal 公钥密码体制
基于椭圆曲线上离散对数问题的椭圆曲线公约密码体值
缺点:计算复杂、耗用资源大、导致密文变长
公约密码常见的误解:
(1)公钥密码更安全
(2)公钥密码算法使得对称密码算法成为过时技术
(3)使用公钥密码实现密钥分配非常容易
2.RSA 算法
RSA 的安全性是基于整数因子分解问题的困难性
RSA 算法是第一个能同时用于加密和数字签名的算法
(1)RSA 算法描述
(2)RSA 算法举例
(3)RSA 的安全性
3.SM2 算法
SM2 我国密码管理局于 2010 年 12 月 17 日发布的国家密码标准,是基于 ECC(椭圆曲线密码算法) 的公钥密码算法
我国密码管理部门决定采用 SM2 椭圆曲线算法替换 RSA 算法
(1)SM2 算法原理
(2)SM2 算法应用
SM2 算法是公钥算法,可以完成签名、密钥交换以及加密应用
(3)其他 SM 算法
-
SM1:对称算法,职能 IC 卡、智能密码钥匙、加密卡等安全产品,广泛用于电子政务、电子商务及国民经济
-
SM3:哈希算法,产生 256 位的哈希值,适用于商用密码应用中的数字签名和验证,消息认证码的生成与验以及随机数的生成
-
SM4:对称算法,用于无线局域网产品
-
SM7:对称算法,适用于身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付一卡通类应用(公交一卡通)
-
SM9:非对称算法,实现数字签名、密钥交换协议以及密钥封装机制和公钥加解密,与 SM2 不同的是可以实现基于身份的密码体制,也就是公钥与用户的身份信息即标识相关,省去了证书管理
4.其他公钥算法
(1)ElGamal 公钥密码算法
基于求解离散对数困难问题</