来源:baikeley的个人空间-baikeley个人主页-哔哩哔哩视频 (bilibili.com)
7.GBT43206
(国标和旧行标的区别……对我来说太早了……略)
8.服务器密码机
【密码机产品】
工控机IPC:特殊的主机。部署环境恶劣,性能可靠;实施性要求高;底板+CPU卡形式,可扩充
密码机的机械工艺和架构借鉴了工控机
底层逻辑:硬件 >> 操作系统(经裁剪的Linux) >> 功能组件 >> 接口(针对应用开发)
硬件上的实现方法分类:
- 工控机 + 密码卡。密码卡进行实际的密码管理和秘钥计算,集成在工控机上供调用
- 密码机硬件自主设计主板到芯片集成,更稳定,集成度更高
服务器密码机管理:
- 业务系统的信息,保存密钥,非常重要
- 管理员权限较高,强身份鉴别(IC卡/Ukey)
- 绝大部分是本地管理,近年添加远程管理功能
规范文件:《GMT0018接口规范》、《GMT0030技术规范》
三层秘钥体系:管理秘钥 >> 用户/设备/秘钥加密秘钥 >> 会话秘钥
主要功能:
- 秘钥生成
- 秘钥存储
- 秘钥备份及恢复
- 权限管理
- 数据加密
- 数据解密
- 数字签名
- 身份识别
- 完整性算法
在加解密的判定中,如果秘钥由合规密码机产生,秘钥由加密机管理,测评项k符合。自产生不符合
【密码机测评指导】
商用密码产品认证证书:例如SJJ-1860
S:商密产品,J:加解密,J:密码整机,18:年份,60:顺序号
关注点:证书有效期(通常5年,至少在项目建设中有效)、证书等级(三级系统可以用二级,四级系统用二级扣分)、证书指标 “系统资源访问控制完整性”、“日志记录完整性”、“重要可执行程序完整性、重要可执行程序来源真实性”
在有证书情况下,如果部署模式和实际一致,判为符合
流程:
检查密码机配置秘钥,验证应用调用的密码机秘钥/接口正确
查看密码机日志,验证应用确实调用加解密接口日志,再看对应秘钥日志
接口规范:
设备管理类接口、秘钥管理类接口、非对称算法运算类接口、对称算法运算类接口、杂凑运算类接口、用户文件操作类接口
测评人员需要熟悉接口用途,读懂日志
9.VPN产品(上:SSL)
密码技术的三大核心内容:密码算法、秘钥管理、密码协议
密码协议:两个或两个以上参与者使用密码算法,为达到加密保护或安全认证目的而约定的交互规则
两个众所周知的著名协议是SSL和IPSec
【SSL VPN】
内网接入、边界访问控制、密码产品
三层秘钥体系:设备秘钥、主秘钥、工作秘钥
部署方式:客户端-服务器模式(最常见,使用多,密评必须实现)、网关-网关模式
SSL VPN产品必须配置基于数字证书或者IBC标识算法的鉴别机制,鉴别机制至少完成服务器端的鉴别功能,客户端是可选选项
SSL协议规范:《GMT0024技术规范》、《GMT0025产品规范》
规范规定客户端-服务器模式秘钥更新周期最长8小时,网关-网关模式秘钥更新最长1小时
【SSL协议规范】
安全套接字协议,用于应用层安全传输。现在主流版本是TLS1.3
【TLCP协议规范】
协议规范:GBT 38636
国产密码算法,分组算法引入GCM模式,标准协议号1.1
双证书机制,签名在前加密在后
TLCP算法套件:
值为0x17:IBC_SM4_CBC_SM3、值为0x57:IBC_SM4_GCM_SM3
秘钥交换-IBC,加密-SM4_xxx,校验-SM3
算法套件抓包分段:
协议名称(TLS)、Key Exchange - 秘钥交换(ECDHE),Signature - 签名(ECDSA),Bulk Encryption - 分组加密性(AES_256_GCM)(GCM本身具有完整性),Message Authentication - 消息完整性(SHA_384),Elliptic Curve - 椭圆曲线(P384)
- 有的时候秘钥交换和签名是一体的,如RSA
- 标准特别多,如果完整性只显示SHA没有数字,算法套件会扣分
- 测评期间可以让管理员演示算法套件,也可以抓包。双证书可以从报文导出来
- SSL2.0、SSL3.0、TLS1.0为高风险协议,没有弥补措施
抓包抓到的证书要看是不是自签名证书。如果证书是正规CA厂商签发,k项可以得分
(国家密码管理局网页-在线服务-行政审批结果查询-电子认证服务使用密码许可单位名录/电子政务电子认证服务机构目录)
应用场景:
- 网络边界设备,内网访问控制
- 网关产品,身份鉴别,访问控制和审计
- web站点发布,代理网关工作,应用网站以HTTPS开头
- SMTP、POP协议保护
- 基于SSL的文件传输
10.SSL VPN测评演示
a) wireshark:
捕获过滤器:只抓自己关心的报文。适用于大流量下的抓取
显示过滤器:抓所有报文,显示关心的部分
【配置策略】捕获 >> 过滤器 >> 添加,新建策略。根据IPv4和IPv6的区别,使用不同的指令
ip host www.baidu.com
ip6 host mgj.sh.gov.cn
阅读参考GMT0024、GBT38636(仔细看)
【导出数字证书】报文中“Certificate Request”表示单向证书认证,“Certificate Verify”表示双向证书认证
报文内容看到“certificate : 一串乱码”,可以右键点击 > 导出分组字节流 > 保存为crt文件,双击打开即通信证书
b) openssl:不需要安装,up主提供了商密版本的bat脚本
c) sslscan:开源,github下载即可
11.数字证书测评演示
SSL证书是全球使用最广泛的最成功的密码产品——《SSL证书是网络空间安全的“卡脖子”产品》
可以查看证书链,有效期,签名等内容
a) 分析工具Sslyze
数字证书隐瞒的风险特别大,错误的证书导致SSL形同虚设(甚至可能抓包为HTTP)
b) Gmssl生产测试用商密数字证书
12.抓包分析技巧(案例)
a) 443断开解析不出来SSL:根据包长度判定,单击选择“追踪流”,“user+用户名”的格式只有FTP和POP3。右键点击包,decode as...,选择FTP,点击ok显示协议内容
b) SSL没使用443端口:根据包长度判定,右键点击包,decode as...,选择TLS,点击ok显示协议内容
14.VPN产品(下:IPSec)
【IPSec协议】
互联网安全协议,是一个协议包(家族),通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族
运行在IP层,由国际组织IETF以rfc形式公布(rfc4301、rfc4309)。由以下协议组成:
- 认证头(AH):完整性,消息认证
- 封装安全载荷(ESP):保密性
- 安全关联(SA):参数
- 密钥协议(IKE):秘钥交换
IPSec最初针对IPv6开发,后增加对IPv4支持。国内协议规范GMT0022(要求是双证书支持)、GBT36968
SA:安全联盟。两个通信实体经协商建立起来的一种协定,它描述了实体如何利用安全服务来进行安全的通信。本质上是一堆协商出来的数据。单向
ISAKMP: 互联网安全联盟和秘钥管理协议。一个在互联网环境中建立安全联盟和进行密钥管理的协议。它定义了建立、协商、修改和删除安全联盟的过程和报文格式、说白了就是一个框架
IPSec的安全性:
- 保密性(ESP)
- 内容完整性(AH)
- 发送方认证和不可否认性(数据源认证)
- 抗重放攻击、DDoS攻击
IPSec的应用场景:
跨越网络边界,或通过Internet提供安全性支持(分支机构/Internet远程访问/合作伙伴互联/增强电商安全性)
IPSec的主要特征是可以支持IP级所有数据的加密和/认证。因此可以增强所有分布式应用的安全性
评测中的远程集中管理,远程运维等都是检测点
【wireshark工具查看IPSec的ISAKMP报文】
【wireshark工具导出数字证书】
【ESP协议报文】
【密码套件查看】
【IPSec VPN秘钥体系】
设备秘钥:签名和加密的公私钥对,用于实体验证、数字签名和数字信封等
工作秘钥:密钥交换的第一阶段得到的密钥,用于第二阶段的保护
会话秘钥:密钥交换的第二阶段得到的密钥,用于数据加密及MAC计算等
【AH协议】数据源鉴别、完整性保护。算法不同长度也不同。紧跟IP协议头,在IP协议字段用51号表示,传输模式隧道模式包装不一样
【ESP协议】鉴别认证。协议字段用50号表示,传输模式隧道模式包装不一样
【IKE协议】混合协议,由ISAKMP和OAKLEY组成。有主模式和快速模式。用于鉴别通信双方身份、建立SA、协商秘钥算法套件、生成通信会话秘钥。IKE的核心是ISAKMP,所有的SA的增删改查由ISAKMP完成
主模式:
快速模式:抓包很少看到,都是密文
【IPSec VPN典型部署方式】
- 网关到网关模式部署
- 主机到网关模式部署(少见的主机到主机或端到端)
- 串联(必须功能)
- 并联(可选功能)
【密评中关于IPSec测评点】
通信链路抓包分析(完整性、保密性、算法)
IPSec VPN设备的数字证书
设备商密认证证书
设备的配置(算法套件、数字证书、身份鉴别的方法、管理员角色等等)
【如何在应用系统中选择合适的密码产品】
a) 认证安全需求(真实性)
CA数字证书认证系统、KMS秘钥管理系统、身份认证网关(SSL VPN/身份签名验签服务器)、智能密码钥匙、TF加密卡、移动安全密码模块(手机盾)
b) 传输安全需求(完整性、机密性)
国密IPSec VPN网关、国密SSL VPN网关
c) 数据安全需求(完整性、机密性、抗抵赖)
PCI-E密码卡、服务器密码机、签名验签服务器、时间戳服务器
d) 秘钥管理需求(完整性、机密性、抗抵赖)
KMS秘钥管理系统、其他密码管理设备
13.Linux口令鉴别算法(15843的铺垫)
检查/etc/shadow文件使用的算法:authconfig --tset | grep hashing
返回显示“password hashing algorithm is descrypt”
descrypt即DES算法,高风险,不符合密评要求。需要在login.defs修改
查询root的口令配置:chage -l root
Linux 系统的签别信息采用的方法:
Result = hash((hash (key || salt) | hash(key || salt)...... | hash (key || salt)...)当然在某些版本的中“$X$”中,如果算法不支持,则直接选择的是 DES作为生成 MAC 的方式
15.GBT15843
身份鉴别是密评高风险项(二级三级)。密码技术下的身份真实性非常重要!
实体鉴别大纲
【采用密码校验函数的机制】
1、单向鉴别:使用该机制时两个实体只有一方被鉴别
消息传递次数:一次传递鉴别和两次传递鉴别
A:发起方 B:验证方
T-time时间戳 N-随机序列号 Text-没做统一要求,根据应用选择 f-密码校验函数 KAB-AB之间的秘钥 R-随机数
2、双向鉴别:两个通信实体运用该机制互相进行鉴别
消息传递次数:两次传递鉴别和三次传递鉴别
两次传递鉴别相当于做了两次单向鉴别A到B一个报文,B到A一个报文
总结:
身份鉴别一定要有防重放机制。如果没有不合格。一般采用时间戳或序号,随机数防止重放
- 使用时间戳或序号:单向鉴别只需要一次传递,互相鉴别两次传递
- 随机数(挑战响应形式):单向鉴别只需要两次传递,互相鉴别三次传递
【鉴别机制】
待鉴别实体通过表明它拥有某个秘密鉴别密钥来证实身份
实现方法:使用其秘密鉴别密钥和密码校验函数对指定数据计算密码校验值来实现。密码校验值可由拥有该实体的移密鉴别密钥的任何其它实体来校验,其它实体能重新计算秘密校验值并与所收到的值进行比较。
【基于口令的密码规范】参考rfc8018
DK = KDF(P,S)
DK-导出秘钥 KDF-秘钥导出函数 P-密码 S-盐值
【Hmac】参考rfc2104
一种使用密码散列函数进行消息认证的机制
Hmac可以与任何迭代加密哈希函数(例如MD5、SHA-1)结合使用,并与秘密共享秘钥结合使用。Hmac的加密强度取决于底层哈希函数的属性
ipad = the byte 0x36 repeated B times
opad = the byte 0x5c repeated Btines
H(K XOR opad,H(K XOR ipad,text))
H-哈希函数,如SHA-256等

浙公网安备 33010602011771号