商用密码应用安全性评估—能力验证考试考点总结"

admin 2026-10-22 08:20:36 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

商用密码应用安全性评估 — 能力验证考试考点总结

原创

利刃信安
利刃信安

利刃信安

2026年6月8日 04:04
北京

在小说阅读器读本章

去阅读

商用密码应用安全性评估 — 能力验证考试考点总结

覆盖范围:密码算法、密钥管理、密码产品接口、网络和通信安全、身份鉴别、量化评估、安全风险分析、测评实施、管理测评、物理和环境安全、设备和计算安全。


一、SM4 分组密码算法 — 七种工作模式

1.1 各模式特征对比

工作模式 确定性加密 明文扰动扩散 错误扩散 填充要求 典型考点
ECB 是 仅影响当前分组 仅当前分组 需要 密文重复→数据模式泄露
CBC 否 当前及后续所有分组 当前分组+下一分组对应位 需要 IV固定、Padding Oracle
CFB 否 当前及后续若干分组 一定长度后恢复 可选 密钥流与密文相关
OFB 否 仅当前比特位 仅当前比特 可选 密钥流独立,点对点映射
CTR 否 仅当前比特位 仅当前比特 不需要 计数器重叠→密钥流重用
BC 否 类似CBC 类似CBC 需要 考察较少
OFBNLF 否 OFB非线性变体 类似OFB 需要 考察较少

1.2 工作模式推断方法(核心考点)

步骤一:看密文长度是否分组整数倍(16字节)

  • • 不是整数倍 → 排除 ECB、CBC、BC、OFBNLF(这些都需要填充),缩小到 CTR、CFB、OFB
  • • 是整数倍 → 所有模式都可能,需进一步分析

步骤二:看密文是否有重复分组

  • • 有重复密文分组 → 大概率 ECB(相同明文→相同密文)
  • • 无重复 → 排除 ECB

步骤三:看明文/密文对比(对比差异扩散范围)

  • • 修改明文中某字节,观察密文变化范围:

  • • 仅对应位置变化 → OFB 或 CTR(流模式,点对点映射)

  • • 当前整个分组变化 → ECB
  • • 当前及后续分组变化 → CBC 或 CFB(链式反馈)

步骤四:看明文长度和密文长度关系

  • • 明文长度 = 密文长度,且非16的整数倍 → CTR 或 OFB 或 CFB(可选不填充)
  • • 密文长度 > 明文长度,且为16的整数倍 → 需要填充的模式(ECB/CBC/BC/OFBNLF)
  • • 密文比明文多7字节(5593→5600)→ 暗示填充了7字节 PKCS#7

步骤五:看相同明文块的密文是否相同

  • • 明文中有重复的16字节块,对应密文块也重复 → ECB
  • • 明文中有重复的16字节块,对应密文块各不相同 → 非ECB(CBC/CTR等)

1.3 CTR 模式计数器重叠攻击(高频考点)

漏洞原理: 多个条目使用连续的 entryIndex 作为计数器初值,导致不同条目的计数器序列重叠,产生相同的密钥流。

攻击方法:

C1 = P1 XOR KS(密钥流)
C2 = P2 XOR KS(相同密钥流)
→ C1 XOR C2 = P1 XOR P2
→ 已知 P1 可推导 P2

关键: CTR 模式的安全前提是同一密钥下计数器永不重复。

CTR模式下密文伪造(高频考点):
在CTR/OFB等流式模式下,密钥流与明文无关,可直接修改密文:

new_ct[i] = ct[i] XOR pt[i] XOR new_pt[i]

只需知道目标字段在明文中的偏移量,即可伪造该字段的密文值,其余字段保持不变。

1.4 CBC 模式核心考点

  • • IV 必须随机且不可预测,每次加密生成新 IV
  • • IV 固定 → 相同明文头部分组产生相同密文
  • • Padding Oracle 攻击:解密方向对端返回明确的填充错误信息(如\"Padding error detected!\"),攻击者可利用错误响应逐字节推断明文
  • • 防御:Encrypt-then-MAC,先验证 MAC 再解密,不暴露填充校验结果;对填充错误与MAC错误返回相同的通用错误信息

1.5 SM4-ECB 模式风险判定(FAQ)

  • • ECB 模式无法隐藏数据模式,相同明文分组→相同密文分组
  • • 不能抵抗分组的重放、嵌入、删除等攻击
  • • 超过一个分组长度的明文一般不建议使用 ECB
  • • 若输入分组绝不重复且可单独/随机访问,可酌情考虑允许,但需采取风险缓解措施

二、SM3 密码杂凑算法 / SM3\_HMAC

2.1 基本参数

  • • SM3 输出长度:256 比特(32 字节)
  • • 内部压缩函数分组大小:512 比特(64 字节)
  • • SM3\_HMAC 输入数据长度上限:2^64 - 512 比特

2.2 HMAC 正确实现方式

关键区分:SDF\_HashInit vs SDF\_HMACInit

接口 用途 说明
SDF\_HashInit 普通杂凑/三步式杂凑第一步 不可用于 HMAC
SDF\_HMACInit HMAC 专用初始化 传入密钥句柄,内部完成 ipad/opad 处理

错误做法: 手动调用 SDF\_HashInit 搭配 ipad/opad 异或来模拟 HMAC 流程 → 不符合 GM/T 0018 规范,且容易出错

正确做法: 直接调用 SDF\_HMACInit(hSessionHandle, hKeyHandle, SGD\_SM3)。SDF\_HMACInit 可传入的算法标识符为 SGD\_SM3(0x00000001)或 SGD\_SHA256(0x00000004)。

2.3 HMAC 截断风险

  • • HMAC 截断输出(如截取前 2 字节,即 memcpy(hmac, full\_hmac, 2))→ 安全性降为 2^16 暴力破解,完整性保护失效
  • • 生日攻击仅需 2^8 次尝试即可伪造

2.4 仅使用 SM3/SHA256 做完整性保护(无密钥)

  • • 仅使用 SM3(或 SHA256)做数据存储完整性保护 → 判定为不符合
  • • 原因:入侵者篡改数据后,可重新计算杂凑值并覆盖,无法检测篡改
  • • 应使用 HMAC-SM3、基于 SM4 的 MAC(CBC-MAC/CMAC)或数字签名方式

三、SM2 椭圆曲线公钥密码算法


商用密码应用安全性评估—能力验证考试考点总结" 网络安全文章

商用密码应用安全性评估—能力验证考试考点总结"

本文系统总结商用密码应用安全性评估能力验证考试核心考点,重点解析SM4分组密码算法的七种工作模式特征、推断方法及安全风险(如CTR模式计数器重叠攻击、CBC模式PaddingOracle漏洞),详细说明SM3\\_HMAC正确实现方式与常见错误,强调密码算法在完整性保护中的规范应用。文档涵盖密码产品接口、密钥管理、量化评估等实操要点,为密码安全测评提供明确技术指导。
每周高级威胁情报解读(2026.06.05~06.11)" 网络安全文章

每周高级威胁情报解读(2026.06.05~06.11)"

本周威胁情报披露多起高级持续性威胁活动,包括蔓灵花组织利用钓鱼网站投递VBS脚本、Kimsuky通过鱼叉邮件渗透企业、VSCode扩展潜伏DPRK后门等。关键发现显示攻击者持续利用未修补漏洞(如WinRARCVE-2025-8088)、滥用云服务(Dropbox、Azure)及AI热点进行社会工程攻击,并出现针对开发者供应链的PyPI恶意包和GitHub账户入侵事件。建议及时更新补丁、加强邮件过滤与代码仓库安全审核。
【议题招募】「智弈」AI智能体攻防实战沙龙即将开启!" 网络安全文章

【议题招募】「智弈」AI智能体攻防实战沙龙即将开启!"

该文档为360SRC与看雪学苑联合主办的`智弈`AI智能体攻防实战沙龙招募公告,聚焦2026年AI安全前沿趋势。沙龙重点探讨AI智能体越权攻击、供应链安全、自动化漏洞挖掘等实战议题,要求投稿内容具备原创性、可复现性及数据支撑。活动设具体议题提交规范与截止时间,旨在构建AI安全实战技术交流平台。
比病毒更可怕!这款勒索软件能“蠕虫式”自我复制,478个组织已沦陷" 网络安全文章

比病毒更可怕!这款勒索软件能“蠕虫式”自我复制,478个组织已沦陷"

近日,名为TheGentlemen的勒索软件组织引发全球关注,截至2026年4月已声称攻陷478个受害者。其恶意软件具备蠕虫式自我复制能力,支持–spread参数在内网传播,–wipe参数可擦除恢复痕迹。该组织由前勒索软件附属成员创立,采用90%高分成吸引攻击者,并要求提交1GB真实数据作为投名状。企业需及时修补漏洞、加强EDR能力并定期隔离备份以应对威胁。
评论:0   参与:  0