【 1-6 】

密码技术基础

第1.6章 密码技术基础

本章内容依据《数据安全工程技术人员(初级)第一模块零基础详细学习教材》整理,系统讲解密码技术基础。

6.1 密码技术保护什么

安全目标含义常见技术
机密性未授权人员不能读取数据加密、访问控制
完整性能够发现数据是否被篡改哈希、消息认证码、数字签名
身份真实性确认通信或操作主体身份证书、数字签名、多因素认证
不可否认性重要操作具有可验证证据数字签名、可信时间、审计记录

6.2 明文、密文、加密、解密和密钥

明文:13812341234
│ 使用算法 + 密钥

密文:X7a9K...(不可直接阅读)
│ 使用相应密钥

恢复明文:13812341234

密钥是控制加密和解密过程的重要参数。算法可以公开,密钥必须受到严格保护。密钥泄露后,使用该密钥保护的数据可能失去机密性。

6.3 对称加密

对称加密使用同一把密钥完成加密和解密,速度快,适合保护大量数据,例如数据库字段、文件和备份。核心难点是安全分发和保存密钥。

特点说明
速度通常较快,适合大批量数据
密钥加密和解密使用同一密钥
典型场景磁盘加密、数据库加密、文件加密、备份加密
主要风险密钥被复制、硬编码、长期不轮换或与数据放在同一位置

6.4 非对称加密

非对称加密使用一对密钥:公钥可以公开,私钥需要保密。公钥和私钥在不同操作中配合使用,常见于身份认证、密钥交换、数字签名和证书体系。

公钥:可以提供给通信对方
私钥:由持有者严格保管

加密场景:对方用公钥加密 → 持有者用私钥解密
签名场景:持有者用私钥签名 → 对方用公钥验证

6.5 哈希是什么

哈希是把任意长度的数据转换成固定长度摘要的过程。哈希结果常被称为摘要、散列值或哈希值。相同输入在相同算法下得到相同结果,输入发生细小变化时,摘要通常会明显变化。

输入:“数据安全”
↓ 哈希算法
输出:固定长度摘要(示意) 8f3a...c91d

输入:“数据安全。”
↓ 哈希算法
输出:另一个摘要(示意) 1b72...4ea0
问题答案
哈希能否直接还原原文?设计目标通常是单向计算,不能像解密那样直接恢复原文。
哈希是否等于加密?哈希用于生成摘要,加密用于在密钥控制下隐藏内容并可解密恢复。
哈希有什么用途?完整性校验、口令验证、数字签名、文件指纹、数据去重等。
相同输入是否得到相同哈希?在相同算法和相同输入下通常相同。
哈希值相同是否绝对代表原文相同?理论上可能出现碰撞,安全应用应选择合适算法并结合场景设计。
口令保存:系统通常不应直接保存用户明文口令。常见做法是使用专门的口令哈希方案,并加入随机盐值和适当计算成本。普通快速哈希不适合作为完整的口令存储方案。

6.6 哈希、加密、编码的区别

技术是否需要密钥能否恢复原文主要目的示例用途
哈希通常不需要不能直接恢复生成摘要、校验完整性文件校验、口令验证
加密需要密钥持有正确密钥可恢复保护机密性数据库字段、文件、传输
编码通常不需要按规则可还原改变表示格式Base64、字符编码

6.7 数字签名

数字签名用于验证信息来源和完整性。签名过程通常会先对数据计算摘要,再由签名者使用私钥完成签名;验证者使用对应公钥检查签名。

原始文件 → 计算哈希摘要 → 使用私钥签名 → 形成数字签名

接收方取得文件和签名 → 使用公钥验证

验证来源与内容是否被改动

6.8 数字证书

数字证书用于把一个身份与公钥绑定。网站使用 HTTPS 时,浏览器会检查服务器证书,从而确认访问的服务器身份,并协商建立加密通信。

6.9 密钥生命周期管理

阶段管理要求
生成使用安全随机源和合适算法生成,记录用途和责任人
分发通过受控渠道交付,避免明文邮件和普通聊天工具
存储使用密钥管理系统、硬件安全模块或受控环境,限制导出
使用最小授权,记录重要加解密和签名操作
轮换按周期或风险事件更换密钥
备份安全备份并限制恢复权限
吊销密钥泄露、人员离岗或证书失效时停止使用
销毁到期后安全销毁,保留必要记录

6.10 常见错误

  • 把密钥直接写在程序源代码、配置文件或脚本中。
  • 数据和密钥存放在同一位置且使用相同权限。
  • 所有系统长期使用同一把密钥。
  • 只加密生产数据库,未加密备份和导出文件。
  • 使用自创密码算法或过时算法。
  • HTTPS 已启用,但接口鉴权、令牌保护和访问控制缺失。

本节自测

1. 哈希和加密的核心区别是什么?

2. 为什么对称加密适合保护大批量数据?

3. 数字签名主要验证哪两件事?

4. 密钥为什么需要轮换和吊销?