(软考中级--信息安全工程师)三、密码学基本理论

3.1、密码学概况

3.1.1、密码学发展:

  • 是一门研究信息安全保护的学科,以实现信息的保密性、完整性、可用性、抗抵赖性。
  • 组成:密码编码、密码分析
  • 发展历史
传统密码学(换位、置换)
1949年、香浓发表《保密系统通信理论》提出交替使用换位和置换抵御统计分析,增加混乱(Confusion)、扩散(Diffusion
20世纪70年代,Diffie-Hellman算法、RSA算法、美国政府颁布数据加密标准(DES)
现代密码学诞生
1984年、Shamir提出基于身份的公钥密码思想,简化了证书管理
未来:后量子时代密码(Post-Quantum Cryptography)

3.1.2、密码安全分析:

  • 唯密文攻击(ciphertext-only attack):只知道密文。
  • 已知明文攻击(known-plaintext attack):知道当前密钥下的一些明文及对应的密文。
  • 选择明文攻击(chosen-plaintext attack):能得到当前密钥下自己选定的明文对应的密文。
  • 密文验证攻击(ciphertext verification attack):能过验证任何选定密文是否合法。
  • 选择密文攻击(chosen-ciphertext attack):能得到任何选定密文对应的明文。

3.2、密码体制分类

3.2.1、私有密码体制:

特点:一个密钥

优点:加解密简单,

缺点:密钥分配问题、密钥管理问题、无法认证源

典型算法:DES、IDEA、AES等

3.2.2、公钥密码体制:

1976年,W.Diffie和M.E.Hellman 发表《密码学新方向》提出公钥密码体制思想。

特点:双密钥、用公钥推私钥在计算上不可行

优点:密钥分配方、密钥保管量少、支持数字签名

3.2.3、混合密码体制:

原理:用私钥密码体制加密明文消息,公钥密码体制加密对称密钥。

(软考中级--信息安全工程师)三、密码学基本理论_第1张图片

 3.3、常见密码算法

3.3.1、DESA(Date Encryption Standard)数据加密标准,由IBM公司研制,是一个分组加密算法。

明文分组快长:64比特        密钥长度:64比特(有效位=56,8比特校验码)

 三重DES(Triple Date Encryption Algorithm,TDEA):使用DES对明文进行 加密--->解密--->加密 操作       

加密: I\rightarrow DES\left ( E_{k1} \right )\rightarrow DES\left ( D_{k2} \right )\rightarrow DES\left ( E_{k3} \right )\rightarrow O

解密: I\rightarrow DES\left ( D_{k3} \right )\rightarrow DES\left ( E_{k2} \right )\rightarrow DES\left ( D_{k1} \right )\rightarrow O

密钥长度:三个密钥=168比特(有效位),入口只要两个密钥则为112比特

 3.3.2、IDEA(International Date Encryption Algorithm):

        明文分组块长:64比特        密钥长度:128比特

        设计思想:混合使用来自不同代数群中的运算

3.3.3、AES(Advsnced Encryption Standard)

1997年美国国家标准技术研究所(NIST)发起征集AES算法活动。

候选算法要求:

  • 密码没有密级、不能像商业密码保护。
  • 算法公开。
  • 密码在世界范围内免费使用。
  • 密码系统支持至少128比特长的分组。
  • 密码支持的密钥长度至少为128、192、256比特。

NIST选择Rijndeal作为AES

3.3.4、RSA

非对称算法:利用大整数因子分解困难问题。

步骤:

  1. 生成两个大素数p、q(保密)。
  2. 计算 n=p*q
  3. 计算欧兰函数 \rho \left ( n \right )= \left ( p-1 \right )\left ( q-1 \right )
  4. 选取一个随机数e,满足1< e< \rho \left ( n \right ) 并且gcd(e,\rho \left ( n \right ))=1
  5. 计算 d=e^{-1}mod\rho (n)
  6. 保密d、p、q,公开n、e,私钥{d,n},公钥{e,n}

C=M^{d}modn

M=C^{e}modn

 3.3.5、国产密码算法

算法名称 算法特性描述 备注
SM1 对称加密,分组长度和密钥长度都为128比特
SM2 非对称加密,用于公钥加密算法、密钥交换协议、数字签名算法 国家标准推荐使用素数域256位椭圆曲线
SM3 杂凑算法、杂凑值长度位256比特
SM4 对称加密,分组长度和密钥长度都为128比特
SM9 标识密码算法

3.4、Hash函数与数字签名

3.4.1、Hash函数:

h(M)=C

要求:

  • h的输入可用是任意长度的消息或文件。
  • h输出的长度固定。
  • 给定h和M计算h(M)是容易的。
  • 给定h的描述,找两个不同消息M1、M2,使得h(M1)=h(M2)在计算上是不可行的。

3.4.2、Hash算法:

MD5:n*512---->128,已被我国王小云研究团队破解。

SHA:n*512---->160。

SM3国产算法:n*512---->256。

3.4.3、数字签名:

要求:

  • 非否认性
  • 真实性
  • 可鉴别性

过程:

(软考中级--信息安全工程师)三、密码学基本理论_第2张图片

(软考中级--信息安全工程师)三、密码学基本理论_第3张图片

 3.5、密码管理与数字证书

3.5.1、密码管理:

  • 密钥管理:密钥生成、密钥存储、密钥分发、密钥使用、密钥更新、密钥撤销、密钥备份、密钥恢复、密钥销毁、密钥审计。
  • 密码管理政策
  • 密码测评:商用密码检测中心。

3.5.2、数字证书:

由证书认证机构(CA)签名的包含公开密钥拥有者身份信息、公开密钥、签发者信息、有效期、扩展信息的一种数据结构。

(软考中级--信息安全工程师)三、密码学基本理论_第4张图片

 分类:签名证书、加密证书

3.6、安全协议

3.6.1、Diffile-Hellman密钥交换协议:

原理:基于求解离散对数问题的困难性。

原根:

设a为整数、m为正整数。

a模m的阶:满足 a^{k}\equiv 1modm(k=1,2,3...\rho (m))  的k的个数称为a模m的阶。

若a模m的阶等于φ(m)

则称a为模m的一个原根。

步骤:

  1. Alice和Bob确定一个合适的素数p和整数a,且a是p的原根(a、p可用公开)。
  2. Alice密码选取一个整数a_{A},计算 y_{A}=a^{a_{A}}modp,发送y_{_{A}}给Bob。
  3. Bob密码选取一个整数a_{_{B}},计算 y_{B}=a^{a_{B}}modp,发送y_{B}给Alice。
  4. Alice和Bob通过计算得到密钥K.

Alice:K=(y_{B}))^{a_{A}}modp

Bob:K=(y_{A}))^{a_{B}}modp

3.6.2、SSH:

SSH(Secure Shell),安全外壳,基于公钥的安全应用协议。端口号默认22。

组成:

  1. SSH传输层协议:提供算法协商和密钥交换,并实现服务器认证,形成加密的安全连接,该连接提供完整性、保密性、压缩选项服务
  2. SSH用户认证协议:利用传输层的服务来建立连接,使用口令认证、公钥认证、主机认证等认证用户。
  3. SSH连接协议:利用上两个协议建立的认证连接,将其分解为多种不同的并发逻辑通道,支持会话隧道和TCP转发,且能为这些通道提供流控服务、通道参数协商机制。

工作机制:

(软考中级--信息安全工程师)三、密码学基本理论_第5张图片

 认证服务器公钥真实性:

  1. 用户直接随身携带含服务器公钥的拷贝,在进行密钥交换协议前,读入客户计算机。
  2. 从公开信道上下载服务器公钥和它对应的指纹,先验证指纹真实性,在提取公钥指纹做对比。
  3. 通过KPI技术验证服务器。

3.7、密码学网络安全应用

3.7.1、密码技术常见应用场景:

  • 网络用户安全
  • 物理和环境安全
  • 网络和通信安全
  • 设备和计算机安全
  • 应用和数据安全
  • 业务应用创新:构建网络发票、构建区块链、建立电子证件。

3.7.2、路由器安全应用参考

3.7.3、Web网站安全应用参考、

3.7.4、电子邮件安全应用参考

详细见《信息安全工程师教程》第二版61页。

你可能感兴趣的:(软考信息安全工程师,安全)