公司密评培训 - 2024/12/03
公司质量部杨总邀请李智虎老师对我们进行为期两天的密评从业人员考前培训,本文为第一天培训内容的笔记。
测评五要素
- 算法:主要考察基本特征,例如分组算法干嘛用的,算法长度、密钥长度、强度、分组算法工作模式等
- 技术:信息系统中使用的密码技术应遵循密码相关国家标准和行业标准
- 产品
- 服务
- 密钥管理:有时融在产品和服务中
必须掌握的标准
- 《GM/T 0028-2014 密码模块安全技术要求》《GB/T 37092-2018 信息安全技术 密码模块安全要求》:《GB/T 39786-2021 信息安全技术 信息系统密码应用基本要求》引用的唯一一个标准《GB/T 37092-2018 信息安全技术 密码模块安全要求》(就是《GM/T 0028-2014 密码模块安全技术要求》)
- 《GM/T 0005-2021 随机性检测规范》《GB/T 32915-2016 信息安全技术 二元序列随机性检测方法》:产品中共性的东西,例如随机数的随机性符合什么标准?
- 《GM/T 0022-2023 IPSec VPN技术规范》《GB/T 36968-2018 信息安全技术 IPSec VPN技术规范》
- 《GB/T 38636-2020 信息安全技术 传输层密码协议(TLCP)》
- GB/T 15843 实体鉴别系列:每次必考
两个知识点
《中华人民共和国密码法》中对于密码的定义:第二条 本法所称密码,是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。其中“加密保护”指机密性,“安全认证”指真实性或称身份鉴别,所以《GB/T 39786-2021 信息安全技术 信息系统密码应用基本要求》技术层面第三级七个“应”的指标有三个是身份鉴别,三个是机密性,再加一个远程通道管理安全。
密评为什么从 2017 年开始?因为之前我国的密码产品无法满足密码应用需求,工业体系发展不足。密评要求的是信息系统的责任单位,也就是我们通常说的“甲方”,要求必须按照密码的相关要求,在信息系统规划、建设、运行的同时,运行密码保障系统。在同步规划阶段制订《密码应用方案》,在同步建设阶段需要《实施方案》,在建设完成后需要密评。
《GB/T 39786-2021 信息安全技术 信息系统密码应用基本要求》附表 A.1
- 应:必须实现,除非没有应用需求,例如远程通道管理安全,如果不让他做远程管理,没有这个应用需求,就可以不做,否则都得做
- 宜:如果有应用需求,又没方案,那默认就得测。如果不适用,要么没有应用需求,要么有应用需求,但是密码应用方案写了不适用,且不适用条件成立,并通过评审,然后与现场测评核实一致
- 可:责任单位说不适用即可,但是必须写在密码应用方案中。如果有测评指标但密码应用方案中没有写则还需要测
所有密码服务都是“应”,所有的密码产品除第一级不要求,《GB/T 22240-2020 信息安全技术 网络安全等级保护定级指南》二三四级分别需要满足《GB/T 37092-2018 信息安全技术 密码模块安全要求》的一二三级
三级
- 除物理和环境安全层面的身份鉴别为“宜”,其他层面的身份鉴别都是“应”
- 三个机密性和设备和计算安全层面的远程管理通道安全是“应”,加上三个身份鉴别都是“应”,总共七个“应”
- 唯一一个“可”是网络和通信安全层面的安全接入认证
四级:全是“应”,除了网络和通信安全层面的安全接入认证是“宜”
二级
- 对应三级的七个“应”都降为了“宜”,除了设备和计算安全层面的远程管理通道安全到二级就不要求了
- 三级的“宜”到二级有三个不降的
- 物理和环境安全层面的身份鉴别
- 应用和数据安全层面,重要数据传输和存储的完整性
- 二级有七个去掉的
- 物理和环境安全层面的视频监控记录数据存储完整性
- 网络和通信安全层面的安全接入认证
- 设备和计算安全层面
- 远程管理通道安全
- 重要信息资源安全标记完整性
- 重要可执行程序完整性、重要可执行程序来源真实性
- 应用和数据安全层面
- 重要信息资源安全标记完整性
- 不可否认性
一级:只要二级有的指标到一级就是“可”
《GB/T 39786-2021 信息安全技术 信息系统密码应用基本要求》附表 A.1(续)
- 重要的制度、方案和密钥相关的都是从一级开始要求,一般的制度二级开始要求,其他日常管理和定期开展的工作都是三四级要求
- 人员管理层面管好“入口”和“出口”,“入口”即第一项了解并遵守密码相关法律法规和密钥管理制度,“出口”指最后一项建立关键岗位人员保密制度和调离制度都是从一级开始要求
- 建设运行层面的投入前进行密码应用安全性评估是一“可”二“宜”三四“应”,还有一个定期开展密码应用安全性评估及攻防对抗演习是三四级要求,其他都是从一级开始要求
- 应急处置层面的应急策略是一“可”二三四“应”,另两个事件处置和向有关主管部门上报处置情况是三四级要求
16 个高风险判定指引
通用要求三个高风险
高风险 | 适用级别 | 可否缓解 | 举例 |
---|---|---|---|
算法 | 所有级别 | 无缓解措施 | DES、MD5、SHA-1、RSA<2048、SSL、TLS 1.0、SSH 1.0 |
技术 | 所有级别 | 无缓解措施 | |
产品和服务 | 所有级别 | 无缓解措施 |
管理层面上两个高风险
高风险 | 适用级别 | 可否缓解 | 如何缓解 |
---|---|---|---|
具备密码应用安全管理制度 | 二级及以上 | 无缓解措施 | |
制定密码应用方案 | 二级及以上 | 可以缓解 | 其他 15 个高风险都没有或都被缓解则可适当降为中风险 |
技术层面上 11 个高风险
高风险 | 适用级别 | 可否缓解 | 如何缓解 |
---|---|---|---|
物理层身份鉴别 | 二级及以上 | 可以缓解 | 生物特征识别或有专人值守 |
设备层身份鉴别 | 三四级 | 可以缓解 | 进入数据库、服务器、堡垒机等有生物特征识别(指纹) |
应用层身份鉴别 | 三四级 | 可以缓解 | 有生物识别或第三方认证系统 |
网络层身份鉴别 | 三四级 | 无缓解措施 | (因为可以被重放且设备之间没有生物特征) |
两个(传输)机密性 | 三四级 | 可以缓解 | 网络和应用层可以互相缓解,得分相互弥补,但不能代替 |
应用层重要数据存储机密性 | 三四级 | 无缓解措施 | |
应用层重要数据存储完整性 | 三四级 | 可以缓解 | 做好身份鉴别和访问控制及重要数据定期备份 |
不可否认性 | 三四级 | 无缓解措施 | |
安全接入认证 | 四级 | 无缓解措施 | |
远程管理通道安全 | 三级 | 可以缓解 | 搭建了和业务网络物理隔离的管理网络(带外)或者双向鉴别远程管理运维人员(借用下层 IPSec、SSL) |
《GB/T 43206-2023 信息安全技术 信息系统密码应用测评要求》
在《GB/T 43206-2023 信息安全技术 信息系统密码应用测评要求》弥补措施中,只有网络层和应用层数据传输的机密性和完整性可以弥补
测评对象
- 物理和环境安全层面:机房等重要区域(工控车间等)、电子门禁、视频监控
- 网络和通信安全层面:通信信道(保障通信信道的设备部件和密码产品也需要)
- 设备和计算安全层面:密码产品及含密产品、堡垒机、数据库和数据库管理系统、服务器
- 应用和数据安全层面:业务应用、用户管理、数据管理等
- 管理层面:人、制度、文档等
- 同一厂商同一配置作为一个测评对象,密码产品具备同一个证书的作为一个测评对象。即使同一个设备,有可能在不同层面上属于不同测评对象。例如服务器密码机,在对外提供服务的时候,属于应用层,在做管理的时候,属于设备层。
测评实施 | 一 | 二 | 三 | 四 | 五 |
---|---|---|---|---|---|
D | √ | √ | √ | √ | × |
A | √ | √ | × | × | / |
K | √ | × | √ | × | / |
结果判定 | 1 | 0.5Rk | 0.5Ra | 0.25RkRa | 0 |
6.1.1.3 和 6.2.1.3 测评实施第 c 条漏了基于对称算法的加密机制,应该是 GB/T 15843 实体鉴别中的三种:基于对称算法(CBCMAC)或消息杂凑算法(HMAC)的消息鉴别码机制、基于公钥密码算法的数字签名机制和基于对称密码算法的加密机制。
评分标准
- 管理层面只有一分、零分和 0.5 分,部分符合就是 0.5 分,不细分
- 在同一个测评对象内部,谁最低取谁
- 同一单元内同一个指标不同测评对象,做算术平均。举例一个机房开了两扇门,一个一分,一个零分,最后计零分,机房整体必须作为一个测评对象。但如果当中砌了一堵墙,分为两个不同区域,则可以分为两个测评对象,最后计算算术平均值为 0.5 分
- 测评对象、测评单元以及安全层面都是归一化的,即满分一分,取小数点后四位,总分是百分制的,取小数点后两位
《GM/T 0116-2021 信息系统密码应用测评过程指南》
四个原则
- 客观公正性原则:测评实施过程中,测评方应保证在符合国家密码管理部门要求及最小主观判断情形下,按照与被测单位共同认可的密评方案,基于明确定义的测评方式和解释,实施测评活动。
- 可重用性原则
- 商用密码检测或者认证机构出具的商用密码产品的检测证书或者认证证书,其他机构如公安部出的不行
- 密评机构出具的跟被测系统相关的测评证书,例如云平台
- 工信部和密码局发的电子认证服务资质证书
- 国家密码管理局发的电子政务电子认证
- 可重复性和可再现性原则:
- 可重复性:不同时间测的结果一致
- 可再现性:不同人可以测出一样的结果
- 结果的完备性/完善性原则:在正确理解 GM/T 0115 各个要求项内容的基础之上,测评所产生的结果应客观反映信息系统的密码应用现状。测评过程和结果应基于正确的测评方法,以确保其满足要求。
四个风险
- 验证测试可能影响被测系统正常运行:在现场测评时,需对设备和系统进行一定的验证测试工作,部分测试内容需上机查看信息,可能对被测信息系统的运行造成不可预期的影响。
- 工具测试可能影响被测系统正常运行:在现场测评时,根据实际需要可能会使用一些测评工具进行测试。测评工具使用时可能会产生冗余数据写入,同事可能会对系统的负载造成一定的影响,进而对被测信息系统中的服务器和网络通信造成一定影响甚至损害。
- 可能导致被测信息系统敏感信息泄露:测评过程中,可能泄露被测信息系统的敏感信息,如加密机制、业务流程、安全机制和有关文档信息等。
- 其他可能面临的风险:在测评过程中,也可能出现影响被测信息系统可用性、机密性和完整性的风险。
风险规避
- 签署委托测评协议书:在测评工作正式开始之前,测评方和被测单位需要以委托协议的方式,明确测评工作的目标、范围、人员组成、计划安排、执行步骤和要求以及双方的责任和义务等,使得测评双方对测评过程中的基本问题达成共识。
- 签署保密协议:测评相关方应签署合乎法律法规的保密协议,规定测评相关方在保密方面的权利、责任与义务。
- 签署现场测评授权书:现场测评之前,测评方应与被测单位签署现场测评授权书,要求测评相关方对系统及数据进行备份,采取适当的方法进行风险规避,并针对可能出现的事件制定应急处理方案。
- 现场测评要求:需进行验证测试和工具测试时,应避开被测信息系统业务高峰期,在系统资源处于空闲状态时进行测试,或配置与被测信息系统一致的模拟/仿真环境,在模拟/仿真环境下开展测评工作;需进行上机验证测试时,密评人员应提出需要验证的内容,由被测单位的技术人员进行实际操作。整个现场测评过程,由被测单位和测评方相关人员进行监督。测评工作完成后,密评人员应交回在测评过程中获取的所有特权,归还测评过程中借阅的相关资料文档,并将测评现场环境恢复至测评前状态。
测评过程
测评准备活动
任务 | 输出文档 | 文档内容 |
---|---|---|
项目启动 | 项目计划书 | 项目概述、工作依据、技术思路、工作内容和项目组织等 |
信息收集和分析 | 完成的调查表格,各种与被测信息系统相关的技术资料 | 被测信息系统的网络安全保护等级、业务情况、软硬件情况、密码应用情况、密码管理情况和相关部门及角色等 |
工具和表单准备 | 选用的测评工具清单,打印的各类表单,如现场测评授权书、风险告知书、文档交接单、会议记录表单、会议签到表单等 | 测评工具、现场测评授权、测评可能带来的风险、交接的文档名称、会议记录、会议签到信息等 |
方案编制活动
任务 | 输出文档 | 文档内容 |
---|---|---|
测评对象确定 | 密评方案的测评对象部分 | 被测信息系统的整体结构、边界、网络区域、核心资产、面临的风险、测评对象等 |
测评指标确定 | 密评方案的测评指标部分 | 被测信息系统相应等级对应的适用和不适用的测评指标 |
测评检查点确定 | 密评方案的测评检查点部分 | 测评检查点、检查内容及测评方法 |
测评内容确定 | 密评方案的单元测评实施部分 | 单元测评实施内容 |
密评方案编制 | 经过评审和确认的密评方案文本 | 项目概述、测评对象、测评指标、测评检查点、单元测评实施内容、测评实施计划等 |
现场测评活动
任务 | 输出文档 | 文档内容 |
---|---|---|
现场测评准备 | 会议纪要、更新确认的密评方案、签署过的测评授权书和风险告知书等 | 工作计划和内容安排、双方人员的协调、被测单位应提供的配合与支持等 |
现场测评和结果记录 | 各类测评结果记录 | 访谈、文档审查、实地察看和配合检查、工具测试的记录及测评结果 |
测评结果确认和资料归还 | 经过被测单位确认的各类测评结果记录 | 测评活动中发现的问题、问题的证据和证据源、每项测评活动中被测单位配合人员的书面认可文件 |
分析与报告编制活动
任务 | 输出文档 | 文档内容 |
---|---|---|
单元测评 | 密评报告的单元测评部分 | 汇总统计各测评指标的各个测评对象的测评结果,给出单元测评结果 |
整体测评 | 密评报告的单元测评结果修正部分 | 分析被测信息系统整体安全状况及对各测评对象测评结果的修正情况 |
量化评估 | 密评报告中整体测评结果和量化评估部分,以及总体评价部分 | 综合单元测评和整体测评结果,计算得分,并对被测信息系统的密码应用情况安全性进行总体评价 |
风险分析 | 密评报告的风险分析部分 | 分析被测信息系统存在的安全问题风险情况 |
评估结论形成 | 密评报告的评估结论部分 | 对测评结果进行分析,形成评估结论 |
密评报告编制 | 经过评审和确认的密评报告 | 测评项目概述、被测系统情况、测评范围与方法、单元测评、整体测评、量化评估、风险分析、评估几轮、总体评价、安全问题及改进建议等 |
四性如何实现
- 机密性:加密
- 数据:对称
- 公钥:非对称/对称
- 完整性
- MAC
- HMAC
- CBCMAC
- Sign
- MAC
- 不可否认性:数字签名
- 真实性(实体鉴别)
- GB/T 15843 实体鉴别
- 单次传递鉴别:对当下时间进行签名,或者使用共享的计数器,对 N 进行签名,下一次对大于 N 的数进行签名。还需要确定时间窗口,一般为半分钟到一分钟,并且考虑时间偏移情况
- 大窗口:窗口大小不应超过 ±10
- 中窗口:窗口大小不应超过 ±5
- 小窗口:窗口大小不应超过 ±2
- 两次传递鉴别:挑战方发送一个随机数,响应方给出随机数的签名结果,证明自己身份。不能是响应方自己生成随机数进行签名验证,防止被重放攻击
- 三次传递鉴别:实现双向鉴别
- 四次传递鉴别:涉及到第三方
- 五次传递鉴别
- 单次传递鉴别:对当下时间进行签名,或者使用共享的计数器,对 N 进行签名,下一次对大于 N 的数进行签名。还需要确定时间窗口,一般为半分钟到一分钟,并且考虑时间偏移情况
- 动态口令:SM3 或者 SM4
- GB/T 15843 实体鉴别
《GM/T 0028-2014 密码模块安全技术要求》
密码模块规格:密码模块、密码边界、核准的密码功能以及正常的工作模式的说明;密码模块的描述,包括所有硬件、软件和固件部件;所有服务提供状态信息以指示服务何时按照核准的方式使用核准的密码算法、安全功能或过程
安全域 | 安全等级 1 | 安全等级 2 | 安全等级 3 | 安全等级 4 |
---|---|---|---|---|
2. 密码模块接口 | 要求的和可选的接口;所有接口和所有输入输出数据路劲的说明 | 同一级 | 可信信道 | 同三级 |
3. 角色、服务与鉴别 | 要求的角色、服务与可选的角色、服务逻辑上相隔离 | 基于角色或基于身份的操作员鉴别 | 基于身份的鉴别 | 多因素鉴别 |
4. 软件/固件安全 | 核准的完整性技术,以及定义的 SFMI、HFMI 以及 HSMI;可执行代码 | 基于核准的数字签名或带密钥消息鉴别码的完整性测试 | 基于核准的数字签名的完整性测试 | 同三级 |
5. 运行环境 | 不可修改的、受限的或可修改的;对敏感安全参数的控制 | 可修改的;基于角色或自主访问控制;审计机制 | / | / |
6. 物理安全 | 产品级部件 | 拆卸证据;不透明的遮盖物或外壳 | 封盖和门上的拆卸检测与响应电路;牢固的外壳或涂层;防止直接探测的保护;EFP 或 EFT | 拆卸检测和响应封壳;EFP;错误注入的缓解 |
- PSP(Public Security Parameter):公开安全参数,与安全性相关的公开信息,一旦被修改,会威胁到密码模块安全。例如,公钥、公钥证书、自签名证书、信任锚、与计数器和内部保持的日期和时间相关联的一次性口令。公开安全参数如果不能被修改或者修改后能够被密码模块发现,此时可以认为该公开安全参数是受保护的。
- CSP(Critical Security Parameter):关键安全参数,与安全相关的秘密信息,这些信息被泄露或被修改后会危及密码模块的安全性。关键安全参数可以是明文形式的也可以是经过加密的。
- SSP(Sensitive Security Parameters):敏感安全参数,包括关键安全参数和公开安全参数。
7.2.2 密码模块类型:混合只有两种,软件混合硬件和固件混合硬件,都是要和硬件混合,没有软件混合软件或者软件混合固件
- 硬件模块
- 软件模块
- 固件模块
- 混合软件模块:软件混合硬件
- 混合固件模块:固件混合硬件
我国双证书体系
初始化阶段:用户去 RA(如办税大厅)申请证书,RA 或者 CA(RA 类似于 CA 的派出机构)审核通过过发一个 U 盾(无密钥),由用户产生一对签名公私钥对,签名公钥由 RA 给 CA 进行签名成为证书(包含版本号、序列号、颁发者、算法、有效期、主体名称、主体公钥信息、密钥用途等)
私钥或对称密钥没有能看见的,如果能看见那就是硬编码,出问题了。一般需要通过句柄、指针、索引等去调用,可以覆盖、删除,但是不会有读取,只能调用。司法恢复也是如此,司法机关开了司法介绍信后,相关机构对司法人员给出的加密数据进行恢复解开,不是把数据加密密钥直接给司法机关。
IPSec
- ISAKMP(Internet Security Association and Key Management Protocol):身份鉴别
- 第一阶段 main mode 主模式
- (最上层)设备密钥(非对称):用设备密钥协商工作密钥,用对方的公钥进行加密,即数字信封,一天只用一次
- (二层)工作密钥(对称):可以用工作密钥再协商会话密钥,每十分钟一次
- 第二阶段 quick mode 快速模式
- (二层)工作密钥(对称):用工作密钥再协商会话密钥,每十分钟一次,工作密钥成为密钥协商密钥
- (三层)会话密钥(对称):真正的数据用会话密钥进行加密,会话密钥成为数据加密密钥
- 第一阶段 main mode 主模式
- IKE(Internet Key Exchange):密钥协商
- ESP(Encapsulating Security Payload):加密
- AH(Authentication Header):完整性保护,一般不单独使用
Wireshark 抓到的 ISAKMP 包
通用头
- Initiator SPI:发送方安全参数索引
- Responder SPI:响应方安全参数索引
- Next Payload:下一个载荷
- Version:版本号
- Exchange type:交换类型
- Flags:标志位
- Message ID:消息 ID
- Length:长度
Payload
- Security Association:安全联盟,定义了最后走的是什么协议,支持什么算法,以及如何做鉴别,生成周期等
- Next payload
- Reserved
- Payload length
- Domain of interpretation:解释域
- Situation:情形
- Payload:Proposal 建议载荷
- Next payload
- Reserved
- Payload length
- Proposal number
- Protocol ID
- SPI Size
- Proposal transform
- Payload:Transform 变换载荷
- Next payload
- Reserved
- Payload length
- Transform number
- Transform ID
- Reserved
- IKE Attribute:Life-Type:Seconds 按秒计算生命周期
- IKE Attribute:Life-Duration:86400 隧道只存在一天,第二天重新协商
- IKE Attribute:Encryption-Algorithm:SM1-CBC 加密算法
- IKE Attribute:Hash-Algorithm:SM3 哈希
- IKE Attribute:Authentication-Method:ECDSA with SHA-384 on the P-384 curve 鉴别方法
- IKE Attribute:Asymmetric-Cryptographic-Algorithm-Type:SM2
- Vendor ID:厂商 ID
《GM/T 0024-2023 SSL VPN 技术规范》
密码套件列表
名称 | 密钥交换 | 加密 | 校验 | 值 |
---|---|---|---|---|
ECDHE_SM4_CBC_SM3 | ECDHE | SM4_CBC | SM3 | {0xe0,0x11} |
ECDHE_SM4_GCM_SM3 | ECDHE | SM4_GCM | SM3 | {0xe0,0x51} |
ECC_SM4_CBC_SM3 | ECC | SM4_CBC | SM3 | {0xe0,0x13} |
ECC_SM4_GCM_SM3 | ECC | SM4_GCM | SM3 | {0xe0,0x53} |
IBSDH_SM4_CBC_SM3 | IBSDH | SM4_CBC | SM3 | {0xe0,0x15} |
IBSDH_SM4_GCM_SM3 | IBSDH | SM4_GCM | SM3 | {0xe0,0x55} |
IBC_SM4_CBC_SM3 | IBC | SM4_CBC | SM3 | {0xe0,0x17} |
IBC_SM4_GCM_SM3 | IBC | SM4_GCM | SM3 | {0xe0,0x57} |
RSA_SM4_CBC_SM3 | RSA | SM4_CBC | SM3 | {0xe0,0x19} |
RSA_SM4_GCM_SM3 | RSA | SM4_GCM | SM3 | {0xe0,0x59} |
RSA_SM4_CBC_SHA256 | RSA | SM4_CBC | SHA256 | {0xe0,0x1c} |
RSA_SM4_GCM_SHA256 | RSA | SM4_GCM | SHA256 | {0xe0,0x5a} |
Wireshark 抓到的 TLCP 包
第一个包 Client Hello
- Content Type:Handshake
- Version:TLCP
- Length
- Handshake Protocol:Client Hello
- Handshake Type:Client Hello
- Length
- Version
- Random:随机数
- Session ID Length
- Cipher Suites Length
- Cipher Suites:算法套件
- Cipher Suite
- Cipher Suite
- Cipher Suite
- Compression Methods Length
- Compression Methods
- Extensions Length
- Extension
第二个包 Server Hello
- Handshake Type:Server Hello
- Length
- Version
- Random:随机数
- Session ID Length
- Cipher Suite:确定一个套件
- Compression Methods
- Extensions Length
- Extension