第二部分:密码学基础与国密算法
2.1 密码学基本概念
体制分类
对称密码:加解密同密钥(DES/AES/SM4/ZUC)效率高,分发难
非对称密码:公私钥对(RSA/ECC/SM2/SM9)易管理,效率低
杂凑函数:任意长→固定长(MD5/SHA/SM3)单向性、抗碰撞
Kerckhoffs原则
安全性不依赖算法保密,依赖 <b>密钥</b> 保密
安全性分类
无条件安全(信息论安全):一次一密
计算安全:破解代价超能力范围
可证明安全:归约到数学难题
攻击类型
唯密文攻击
已知明文攻击
选择明文攻击
选择密文攻击
生日攻击:针对杂凑,复杂度 $2^{n/2}$
中间人攻击
重放攻击
2.2 国密算法详细参数
SM1
类型:对称分组
用途:数据加密
特性:算法不公开,需硬件实现
SM2
类型:非对称
用途:签名、交换、加密
参数:256位曲线,私钥256位,公钥512位,安全强度≈3072位RSA
签名:(r,s) 共512位
密文:C1(64B)+C2(明文)+C3(32B)
SM3
类型:杂凑
用途:完整性、签名、HMAC
参数:输出256位,分组512位,<b>MD结构</b>,64轮,扩展132消息字
SM4
类型:对称分组
用途:加密、MAC
参数:分组128位,密钥128位,<b>非平衡Feistel</b>,32轮,加解密同构逆序
SM9
类型:标识密码
用途:鉴别、加密、签名、交换
参数:基于 <b>双线性对</b>(R-ate),公钥为用户标识,私钥由KGC生成
ZUC
类型:序列
用途:移动通信加密/完整性
参数:LFSR(16×31位=496位)+BR+F,初始化32轮
2.3 国际算法对比
DES:对称,64位分组/56位密钥,16轮Feistel,<b>已不安全</b>
AES:对称,128位分组,128/192/256位密钥,10/12/14轮,<b>SP结构</b>,<b>安全</b>
RSA:非对称,基于大整数分解,≥2048位,<b>安全</b>
SHA-1:杂凑,160位输出,<b>已不安全</b>
SHA-256:杂凑,256位输出,MD结构,<b>安全</b>
SHA-3:杂凑,输出可变,<b>海绵结构</b>,<b>安全</b>
2.4 分组密码工作模式特性
ECB
并行:Y/Y
误差扩散:N
填充:Y
安全性:<b>低</b>
推荐度:<b>严禁</b>
CBC
并行:N/Y
误差扩散:Y(1块→2块)
填充:Y
安全性:中(需随机IV)
推荐度:可用
CFB
并行:N/Y
误差扩散:Y
填充:N
安全性:中
推荐度:可用
OFB
并行:N/N
误差扩散:N
填充:N
安全性:中(IV不重用)
推荐度:可用
CTR
并行:<b>Y/Y</b>
误差扩散:<b>N</b>
填充:<b>N</b>
安全性:高(计数器不重)
推荐度:<b>推荐</b>
GCM
并行:<b>Y/Y</b>
误差扩散:<b>N</b>
填充:<b>N</b>
安全性:<b>很高(加密+认证)</b>
推荐度:<b>强烈推荐</b>
第三部分:密码应用安全性评估核心
3.1 核心标准与文件
GB/T 39786:《基本要求》,指标依据
GB/T 43206:《测评要求》,方法/判定依据
GM/T 0116:《测评过程指南》,流程依据
《量化评估规则》:DAK模型评分
《高风险判定指引》:一票否决项
《FAQ》:官方解释
3.2 GB/T 39786 等级要求速查
物理和环境
身份鉴别:可/宜/宜/应
门禁记录完整性://宜/应
监控记录完整性://宜/应
网络和通信
身份鉴别:/宜/应/应(双向)
数据完整性:可/可/宜/应
数据机密性:/宜/应/应
安全接入认证://可/宜
设备和计算
身份鉴别:/宜/应/应
远程管理通道安全://应/应
日志记录完整性://宜/应
应用和数据
身份鉴别:/宜/应/应
访问控制信息完整性:/可/宜/应
存储机密性:/宜/应/应
存储完整性://宜/应
不可否认性://宜/应
3.3 DAK量化评估模型
D(密码使用有效性)
一票否决项,是否 <b>正确、有效</b> 使用
判例:仅SM3杂凑做完整性 → D×,得0分
A(密码算法/技术合规性)
是否为国密或经批准
判例:用AES/RSA-2048 → A× (Ra=1)
判例:用DES/MD5 → A× (Ra=0.2)
K(密钥管理安全)
全生命周期管理是否安全
判例:三级系统用一级模块 → K× (Rk=1.2)
判例:四级系统用二级模块 → K× (Rk=1.5)
<b>得分速算表(Ra,Rk=1)</b>
√√√ = 1.0:全合规
√√× = 0.5:密钥管理问题
√×√ = 0.5:算法不合规(国际)
√×× = 0.25:算法/密钥均有问题
×// = 0:未使用或无效
3.4 测评结果判定
单元结果判定
符合:全对象符合
不符合:全对象不符合
不适用:全对象不适用
部分符合:其余情况
最终结论判定
符合:综合得分=100分
基本符合:得分≥60分 且 <b>无高风险</b>
不符合:得分<60分 或 <b>存在高风险</b>
3.5 各层面测评要点与判例
物理和环境
身份鉴别:SM4 CPU卡/SM2门禁→符合;指纹/ID卡→不符合
记录完整性:HMAC-SM3→符合;仅SM3→不符合
网络和通信
身份鉴别:三级用RSA_SM4_SM3(A×)→0.5分
机密性:应用层SM4加密可缓解网络层明文风险
设备和计算
身份鉴别:堡垒机合规(1分),后端服务器静态口令(0分),<b>不可弥补</b>
日志完整性:HMAC-SM3→符合;仅SM3→不符合
应用和数据
身份鉴别:短信验证码→不符合;UKey+SM2→符合
存储机密性:SM4-ECB加密性别→高风险
不可否认性:自建CA用于法律认定→高风险
3.6 等效弥补规则
✅ 允许弥补
应用层机密性 → 弥补 网络层机密性
网络层VPN → 弥补 应用层传输安全
❌ 禁止弥补
网络层鉴别 ≠ 应用层鉴别
堡垒机鉴别 ≠ 后端服务器鉴别
日志完整性 ≠ 数据完整性
第四部分:密码产品与接口规范
4.1 服务器密码机
标准:GM/T 0030, 0059
密钥结构:至少三层(管理/用户-KEK/会话)
状态:初始⇌就绪(毁钥重置)
自检:上电/周期/指令后,失败报警停服
随机数:至少 <b>2个</b> 独立物理噪声源
4.2 金融数据密码机
标准:GM/T 0045, 0046
密钥机制:三层(LMK/ZMK/PIK)
主密钥:注入需 <b>≥2名</b> 管理员,PIN计算用 <b>ECB模式</b>
4.3 签名验签服务器
标准:GM/T 0029
部署:<b>局域网内</b>,禁连互联网
接口:遵循GM/T 0020
4.4 时间戳服务器
标准:GM/T 0033, 0123
时间源:<b>国家权威部门</b>或其认可方式
时间格式:<b>UTC格式</b>
4.5 IPSec VPN网关
标准:GM/T 0022, 0023
密钥层次:设备(非对称)/工作(保护)/会话(数据)
NAT穿越:<b>ESP</b>协议支持
模式:必须支持 <b>隧道模式</b>
4.6 SSL VPN网关
标准:GM/T 0024, 0025
鉴别:<b>服务端鉴别</b>必备
4.7 智能密码钥匙
标准:0016, 0017, 0027, 0048, 0063
逻辑结构:设备→应用→容器/文件
密钥生成:签名密钥 <b>内部生成</b>,加密密钥可外部导入
PIN码:长度≥6字节,失败≤5次锁定,需 <b>管理员PIN</b> 解锁
4.8 智能IC卡
标准:GM/T 0041
检测:COS安全机制/功能、算法正确性/性能、RSA素性
4.9 密码键盘
标准:GM/T 0049
安全等级:1-4级,取最低
检测:功能、安全性(EFP/EFT)、算法、自检
4.10 安全电子签章系统
标准:GM/T 0031, 0047
结构:电子印章(制章人签) + 电子签章(签章人签)
验证流程:格式→签名值→证书→原文杂凑
4.11 动态令牌/认证系统
标准:GM/T 0021
口令:基于SM3/SM4,≥6位,周期≤60s,种子≥128位
同步:时间型(双向窗口≤±10min),事件型(单向窗口)
4.12 电子文件密码应用
标准:GM/T 0055, 0071
结构:文件实体+标签(加密/签名/权限/日志)
存储:内联式/外联式
4.13 安全门禁系统
标准:GM/T 0036
要求:一卡一密,根密钥由后台生成,鉴别协议遵循GM/T 0035
4.14 证书认证系统
标准:GM/T 0034, 0014, 0037
区域:公共/服务/管理/核心(屏蔽机房)
密钥库:备用/在用/历史库,CA从 <b>备用库</b> 取密钥,保存期>10年
根密钥:分割或共享,操作/管理/维护员均不能为分管者
OCSP状态:良好/已撤销/未知(冻结/挂起→已撤销)
4.15 可信计算密码支撑平台
标准:GM/T 0011, 0058
可信根:TCM
TSM组成:TSP/TCS/TDDL
算法:SM2/SM3/SM4(CBC)
第五部分:测评工具与协议分析
5.1 Wireshark抓包
SSL/TLS
Client Hello:客户端支持套件
Server Hello:<b>选定套件</b>(判定依据)
Change Cipher Spec:后加密
国密套件:{0xe0,0x11}(ECC_SM4_CBC_SM3), {0xe0,0x53}(ECDHE_SM4_GCM_SM3)
IPSec
IKE主模式(阶段1):<b>明文</b>协商,SM3 ID=20, SM2 ID=2
IKE快速模式(阶段2):<b>加密</b>协商会话密钥
常用过滤器
ip.addr == x.x.x.x
tcp.port == 443
udp.port == 500 or udp.port == 4500
5.2 数字证书分析
格式:X.509, ASN.1 DER
KeyUsage
digitalSignature/nonRepudiation → 签名证书
keyEncipherment → 加密证书
keyCertSign → CA证书
状态检查:CRL/OCSP (good/revoked/unknown)
5.3 端口扫描
TCP 443:SSL VPN/HTTPS
UDP 500/4500:IPSec IKE/NAT-T
TCP 22:SSH
5.4 随机数检测
标准:GM/T 0005
项目:单比特频数、块内频数、扑克、游程等
第六部分:综合实战与高频判例
6.1 常见得分场景速查
全合规:√√√ → 1分
用RSA-2048:√×√ → 0.5分
密钥明文导出:√√× → 0.5分
静态口令/明文传输:×// → 0分
用DES/MD5:√×√ → 0.25或0.05分(Ra=0.2)
三级系统用一级模块:√√× → 0.6分(Rk=1.2)
6.2 高风险场景(一票否决)
不安全算法:MD5、DES、SHA-1、RSA-1024
无效技术:仅SM3做完整性
静态口令无密码技术
远程管理明文(Telnet)
无证产品
法律认定场景用自建CA
6.3 高频易错点
仅SM3杂凑做完整性?→ <b>不合规</b>
网络层已加密,应用层是否还需?→ 指标判定可能不符,但风险可降
堡垒机合规,后端服务器静态口令?→ <b>不合规,不可弥补</b>
证书过期但采购时有效?→ 部分符合,建议更换
“宜”条款处理?→ 方案明确不适用且经核实,可判不适用
SM2密文长度?→ 明文+96字节
密钥归档后用途?→ 仅解密历史/验证历史签名
6.4 方案密评与报告
方案密评结论:通过/不通过
报告结构:概述→范围方法→单元结果(原始)→整体结果(修正)→量化风险→结论建议
备案:出具后 <b>30日</b> 内报密码管理部门