密码模块安全等级简述

2023-10-09 02:59

本文主要是介绍密码模块安全等级简述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        今天我们继续聊一聊商用密码产品密码模块。密码模块产品按照GM/T 0028标准规范的要求开展产品级别评定,我们都知道,国内密码模块产品的分级评估参考了美国的Cryptographic Module Validation Program(CMVP),首先对CMVP进行简单的介绍。

        CMVP是美国商务部下属的国家标准与技术研究所和加拿大网络安全中心通信安全机构的一个分支共同维护的。CMVP的目标是促进验证密码模块的使用,并为联邦机构提供用于采购包含验证密码模块的设备的安全指标。每个密码和安全测试实验室(CSTL)都是被美国国家实验室自愿认可组织认可的一个独立的实验室。CSTL验证每个模块满足一组可测试的密码和安全要求,CMVP对每个CSTL提交的文件进行审查和验证。CMVP在2022年3月31日前接受联邦信息处理标准(FIPS) 140-2《加密模块安全要求》中的加密模块提交。2022年4月1日,CMVP不再接受FIPS 140-2提交的新验证证书,除非如下表所示。

        截至2020年9月22日,CMVP开始根据联邦信息处理标准(FIPS) 140-3《加密模块安全要求》对加密模块进行验证。

        回到我们的0028标准,标准为产品划分了密码模块1.2.3.4四个等级。那么一个产品如何划分等级呢,如何有效的开展相关机构的认证。

        首先我们需要知道密码模块等级的划分标准,0028标准中约定了密码模块规格、密码模块接口、角色服务与鉴别、软件固件安全、运行环境、物理安全、非入侵式安全、敏感安全参数管理、自测试、生命周期保障、其他攻击的缓解11个安全域,密码模块整体的等级和每个域的等级息息相关,我们都知道木桶效应,木桶的装水量取决于最短的板子,同样,木桶效应也适用于密码模块等级划分,密码模块整体的等级取决于11个安全域中国最低的等级,也就是说,如果密码模块产品想要达到2级,那么每个安全域至少是2级。了解清楚了安全等级的判定标准,下面我们谈一下如何为密码模块划分标准,何时划分标准。我们不妨从以下两个思路去讨论。

        第一,如果我们产品的设计、研发、生产都已确定,此时,我们需要按照0028要求对模块进行自评估,评估我们可以达到什么等级,如果达到的等级不满足我们的预期,那我们就按照预期的目标对产品设计、研发包括产线进行调整,但是注意,是调整,不是大改,更不是推翻,这就需要考验我们对标准的理解,如何用更小的改动更大程度满足标注要求。

        第二种,在产品设计初期,我们就预先设定目标,按照设定目标完成产品设计方案,这种思路更合理,但是实际项目中,可行性不大,对于一般企业来说,产品是有的,需求是后加的,那自然合规也是产品研发完成之后的需求了。

        最后,我们说合规认证,也就是商用密码产品的检测认证,在开展认证之前是需要确定级别的,不管你的产品是什么情况,你需要选定目标,机构会按照既定目标对你的产品进行评估,不会根据你的产品情况动态的调整产品级别,这就像高考报志愿,分数再高,报了一个一般的大学,录取了就是录取了,没有后悔的余地,分数刚刚好,又报了一个刚刚好的学校,那就是水平了,这种水平小编是有的,所以如果你需要帮助,请留言,也可以添加wx:TYNNNL。

这篇关于密码模块安全等级简述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/169877

相关文章

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

使用Java实现Navicat密码的加密与解密的代码解析

《使用Java实现Navicat密码的加密与解密的代码解析》:本文主要介绍使用Java实现Navicat密码的加密与解密,通过本文,我们了解了如何利用Java语言实现对Navicat保存的数据库密... 目录一、背景介绍二、环境准备三、代码解析四、核心代码展示五、总结在日常开发过程中,我们有时需要处理各种软

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas