当前位置: 首页 > news >正文

软考-系统架构设计师 信息加解密技术详细讲解

个人博客:blogs.wurp.top

一、密码学基础与目标

密码学不仅关乎加密和解密,更旨在实现四大核心安全目标,常被称为CIA三元组及其扩展:

  1. 机密性 (Confidentiality):确保信息不被未授权的实体访问。加密技术是实现机密性的主要手段。
  2. 完整性 (Integrity):确保信息在传输或存储过程中未被篡改。散列函数消息认证码是实现完整性的主要手段。
  3. 认证性 (Authentication):确保通信实体的身份是真实的。数字签名数字证书是实现认证性的主要手段。
  4. 不可否认性 (Non-repudiation):确保一个实体无法否认其先前的行为或承诺。数字签名是实现不可否认性的主要手段。

二、对称加密算法 (Symmetric Encryption)

又称共享密钥加密算法

1. 核心思想

加密和解密使用同一个密钥

  • 通信模型:Alice 和 Bob 必须预先通过一个安全通道共享同一个密钥 K
  • 流程明文 + 密钥 -> (加密) -> 密文 -> (传输) -> 密文 + 密钥 -> (解密) -> 明文

2. 主要算法

  • DES (Data Encryption Standard)
    • 密钥长度:56位(已破解)
    • 分组大小:64位
    • 现状不安全,已不被推荐用于任何新系统。
  • 3DES (Triple DES)
    • 是DES的增强版,对每个数据块应用三次DES加密。
    • 密钥长度:112位或168位(有效安全性)
    • 现状正在被淘汰,性能较低,逐步被AES取代。
  • AES (Advanced Encryption Standard)
    • 当前最主流、最推荐的对称加密算法
    • 密钥长度:128位、192位、256位
    • 分组大小:128位
    • 特点:安全性高、性能好、硬件实现高效。
  • 国密算法 SM1/SM4
    • SM4是我国商用密码标准,属于分组对称加密算法。
    • 密钥长度和分组大小均为128位
    • 软考关注:需了解国产商用密码算法体系。

3. 工作模式 (Mode of Operation)

为了用分组密码加密长消息,需要工作模式:

  • ECB (Electronic Codebook):相同的明文块加密成相同的密文块。不安全,不能隐藏数据模式。
  • CBC (Cipher Block Chaining):每个明文块先与前一个密文块进行异或操作再加密。需要初始化向量(IV)最常用的模式之一
  • 其他模式:CTR, GCM等。GCM模式还能同时提供机密性和完整性验证。

4. 优缺点

  • 优点算法效率高,加解密速度快,适合加密大量数据。
  • 缺点
    1. 密钥分发困难:通信双方需要安全地共享同一把密钥。N 个用户需要 C(N,2) 把密钥。
    2. 密钥管理复杂:大量密钥的存储、更换和销毁是个挑战。

三、非对称加密算法 (Asymmetric Encryption)

又称公钥加密算法

1. 核心思想

使用一对密钥:公钥 (Public Key)私钥 (Private Key)。公钥公开,私钥自己保密。

  • 加密:用对方的公钥加密,只能由对方的私钥解密。用于保证机密性
  • 签名:用自己的私钥加密(签名),任何人都可以用你的公钥解密来验证签名。用于保证认证性不可否认性

2. 主要算法

  • RSA
    • 最著名、最广泛使用的非对称算法
    • 安全性基于大整数质因数分解的难度。
    • 密钥长度:1024位(已不安全)、2048位(当前推荐)、4096位(更高安全)
  • ECC (Elliptic Curve Cryptography,椭圆曲线密码学)
    • 使用比RSA短得多的密钥就能达到相同的安全强度(例如256位ECC ≈ 3072位RSA)。
    • 优点:计算更快、存储空间更小、带宽要求更低。
    • 应用:移动设备、SSL/TLS证书、物联网(IoT)。
  • 国密算法 SM2
    • 基于椭圆曲线密码的国产非对称算法,用于替代RSA。
    • 软考重点:必须了解,是我国商用密码体系的核心。

3. 优缺点

  • 优点解决了密钥分发问题,安全性更高。
  • 缺点计算非常复杂,速度比对称加密慢3个数量级(1000倍)以上,不适合加密大量数据。

四、散列函数 (Hash Function) / 消息摘要算法

1. 核心思想

将任意长度的输入(消息)通过散列算法,变换成固定长度的输出(散列值、摘要)。这个过程是单向的不可逆的

  • 特性
    • 单向性:无法从散列值推算出原始数据。
    • 抗碰撞性:极难找到两个不同的输入得到相同的散列值。
    • 雪崩效应:输入的微小改变会导致输出的巨大差异。

2. 主要算法

  • MD5:输出128位。已破译,严重安全缺陷,绝对禁止用于安全目的(仅可用于校验文件完整性)。
  • SHA-1:输出160位。已破译,不安全,应停止使用。
  • SHA-2当前主流,包括SHA-256、SHA-384、SHA-512等(数字代表输出长度)。
  • SHA-3:最新标准,与SHA-2采用不同的设计结构,作为备选。
  • 国密算法 SM3国产散列算法,输出256位,安全性相当于SHA-256。软考重点

3. 应用场景

  1. 完整性校验:下载文件时附带其MD5/SHA值,用户下载后计算比对,验证文件是否被篡改。
  2. 密码存储:系统数据库不存储明文密码,只存储密码的散列值。登录时对比散列值。
  3. 数字签名:对消息的散列值进行签名,效率远高于对整个消息签名。
  4. 区块链:区块链中大量使用散列算法来构建区块和保证链的完整性。

五、综合应用技术与协议

实际系统中,以上技术是协同工作的,以发挥各自优点,弥补缺点。

1. 数字签名 (Digital Signature)

用于验证消息来源和完整性。

  • 流程(核心)
    1. 发送方:对消息 M 计算散列值 H(M)
    2. 发送方:使用自己的私钥H(M) 进行加密,得到数字签名 S
    3. 发送方:将消息 M 和签名 S 一起发送。
    4. 接收方:收到后,计算消息 M' 的散列值 H(M')
    5. 接收方:使用发送方的公钥对签名 S 进行解密,得到 H(M)
    6. 接收方:对比 H(M')H(M)。如果相同,则证明消息未被篡改(完整性)且确实来自发送方(认证性)。

2. 数字证书 (Digital Certificate) 与 PKI

  • 问题:如何保证你拿到的公钥真的是对方的,而不是攻击者的?
  • 解决方案数字证书。它由证书授权中心(CA) 颁发,相当于用户的“网络身份证”。
  • 内容:绑定了用户的身份信息及其公钥,并由CA的私钥进行签名。
  • PKI (公钥基础设施):创建、管理、存储、分发和撤销数字证书所需的一系列硬件、软件、策略和程序的集合。核心组件包括CA、RA(注册机构)、证书库等。

3. SSL/TLS 协议 (HTTPS的基石)

这是综合运用各类加密技术的典范,完美体现了架构师的权衡思想。

  • 目的:在不可信的网络(如互联网)上建立安全的通信通道。
  • 握手流程(简化)
    1. 客户端问候:客户端发送支持的密码套件列表等。
    2. 服务器问候:服务器选择并返回密码套件、其数字证书(包含公钥)。
    3. 验证证书:客户端用内置信任的CA公钥验证服务器证书的真实性。
    4. 生成会话密钥:客户端生成一个预主密钥,用服务器的公钥加密后发送给对方。
    5. 推导密钥:双方使用预主密钥推导出相同的会话密钥(对称密钥)。
    6. 安全通信:后续所有通信都使用高效的对称加密(如AES)进行加密,密钥就是刚才生成的会话密钥。

核心思想用非对称加密的安全特性来安全地交换对称加密的密钥,然后用对称加密来高效地加密实际传输的数据。 这是一个经典的架构权衡。


六、软考考点总结与应用

  1. 选择题

    • 直接考查各类算法的特性(如AES是对称加密,RSA是非对称加密,SHA-256是散列算法)。
    • 考查算法的密钥长度和安全性(如DES 56位不安全,AES 128位安全)。
    • 考查国密算法的名称和用途(SM1/SM4对称,SM2非对称,SM3散列)。
    • 考查数字签名和SSL/TLS的工作流程。
  2. 案例分析题

    • 给出一个系统场景(如“设计一个Web应用”、“实现安全通信”),要求:
      • 为特定场景选择加密算法:传输大量数据用AES,安全交换密钥用RSA/SM2,存储密码用SHA-256/SM3加盐。
      • 设计安全方案:如何实现用户登录认证?如何保证数据传输机密性?如何防止数据被篡改?
      • 分析现有方案漏洞:如发现系统用MD5存储密码,或使用HTTP明文传输,需指出风险并提出改进方案。
  3. 论文题

    • 可能围绕“论信息系统安全架构的设计”、“加密技术在某项目中的应用与实践”、“Web应用的安全防护”等主题。
    • 写作时,必须详细阐述你如何综合运用对称加密、非对称加密、散列算法、数字签名等技术来解决实际的安全需求,并说明其中的权衡考量(例如为什么在TLS中既用了RSA又用了AES)。

文章转载自:

http://isziiNOy.dkwry.cn
http://1EyafLKu.dkwry.cn
http://YlGoQwzq.dkwry.cn
http://dcHMgvOW.dkwry.cn
http://pDS8rHnE.dkwry.cn
http://iO1VnHZn.dkwry.cn
http://fVeAOF0V.dkwry.cn
http://ZxXNBoKh.dkwry.cn
http://2Wepgp2c.dkwry.cn
http://YjvEfBD0.dkwry.cn
http://0kg6tpAt.dkwry.cn
http://WcicqI01.dkwry.cn
http://LKujeXZs.dkwry.cn
http://jvMBU2pr.dkwry.cn
http://6UU7ywH9.dkwry.cn
http://62AhI7KS.dkwry.cn
http://lin0Muxw.dkwry.cn
http://90ITa4c9.dkwry.cn
http://TvDanykL.dkwry.cn
http://UW04LNrr.dkwry.cn
http://8PKM8SzK.dkwry.cn
http://sAbkaUhG.dkwry.cn
http://Xh6tfGeB.dkwry.cn
http://nMbRkO5n.dkwry.cn
http://EMzdlR8l.dkwry.cn
http://pxW58lcI.dkwry.cn
http://oyIwoN6W.dkwry.cn
http://7i6JeG0d.dkwry.cn
http://VYG2LV5c.dkwry.cn
http://Voda54Lh.dkwry.cn
http://www.dtcms.com/a/378726.html

相关文章:

  • 人工鱼群算法AFSA优化支持向量机SVM,提高故障分类精度
  • 《RAD Studio 13.0》 [DELPHI 13.0] [官方原版IOS] 下载
  • 最小曲面问题的欧拉-拉格朗日方程 / 曲面极值问题的变分法推导
  • kotlin的函数前面增加suspend关键字的作用
  • Linux vi/vim
  • 赋能高效设计:12套中后台管理信息系统通用原型框架
  • Spark 核心 RDD详解
  • 图灵奖得主萨顿演讲解读:深度学习的局限与AI新范式
  • 香港券商柜台系统搭建与开发技术分析
  • React学习教程,从入门到精通,React 组件生命周期详解(适用于 React 16.3+,推荐函数组件 + Hooks)(17)
  • EFK+DeepSeek 智能运维方案:技术架构与实施步骤
  • 零基础快速了解掌握Linux防火墙-Iptables
  • python---PyInstaller(将Python脚本打包为可执行文件)
  • Python 数据类型转换完全指南:方法与最佳实践
  • 冷压对辊矫平机:金属板材的“应力按摩师”
  • Django REST Framework响应类Response详解
  • 一款.NET开发的AI无损放大工具
  • linux安装远程桌面图形化界面以及root登录
  • 短视频流量算法
  • 前端网络性能优化实践:从 HTTP 请求到 HTTPS 与 HTTP/2 升级
  • 37.循环神经网络:让AI理解序列
  • 合集:Git代码托管平台
  • Python 高效实现 Word 转 PDF:告别 Office 依赖
  • flutter配置Android gradle kts 8.0 的打包名称
  • 从零到一使用Linux+Nginx+MySQL+PHP搭建的Web网站服务器架构环境——LNMP(下)
  • 从iPhone 17取消SIM卡槽,看企业如何告别“数据孤岛”
  • Docker入门指南:CentOS 7 安装与阿里云镜像加速配置
  • 【Python自动化】 22 Python os 库详解
  • 智能投影仪技术解析:从显示工具到智慧影音终端的演进
  • 下一代社媒运营工具:亚矩阵云手机集成AIGC与数字人技术引领内容革命