密码产品体系介绍(一)

一.产品概况

1.1 产品的维度

        密码产品按照集成方式,分为芯片、板卡、整机及系统四个维度。除芯片外,板卡、整机及系统都可以直接面向最终用户业务系统。

        大致的一个顺序是:研发出相应的密码芯片,这也是产品里面最底层和最核心的东西->有了芯片之后,把芯片放在pcb版上,就形成了类似密码卡之类的东西,也就是到了板卡的层级->有了板卡之后,我们就可以将板卡放在一个类似功能机里面,做成一个密码服务器,就成了一个整机的模式->有了芯片,板卡和整机这些安全专用的密码硬件,就可以针对去制作一个系统(这里不仅仅指软件操作系统,还有一整套机制运行的概念模型系统)。

四维度各层级组成:

  • 芯片:
    • 随机数芯片
    • 算法芯片
    • SOC密码芯片
      这也是现在密码芯片的一种趋势,就是将密码算法,随机数算法,密钥管理,CPU等等的各种能力集成到一起,是一种系统级芯片。这可以作为一种主控类芯片,既提供了密码计算的能力,也提供了类似CPU这种与上层应用进行对接交互的能力。
  • 板卡:
    如何来理解:就以密码卡为例,上面是内置了一块密码芯片,然后通过这种通用的物理接口与宿主机进行对接交互,实现快速集成。这就很好的解决了单单密码芯片无法很好的同业务系统进行通用适配的问题。通常一点来讲就是类似于显卡,为主机提供外置图像计算能力。
    • PCIE密码卡
    • TF密码卡
  • 整机:
    随着时间的推移,发现板卡还是存在很多的不足和限制,如:插槽不够,宿主机本身不支持外接,因为保修的原因不能外接等等,因此对板卡的集成提出了新的要求。于是各厂商自己购置相应的服务器,把自家的密码卡或者第三方的密码卡集成到这个服务器上,变成以网络的方式来提供密码相关服务。
    从业务支撑来看,密码卡和密码机是没有多大区别的,只是说提供服务的方式变了。一个是基于硬件接口,一个是基于网络。
    • 服务器密码机
    • 签名验签服务器
  • 系统:
    这块其实包含的系统很多,例如:PKI,Ldap等等,底层都是密钥,都是需要密码机或者密码卡来提供支撑,国家密码管理局的标准里面是采用密码机的方式来提供支撑的。包括上面电子签章的印发、使用都是需要和密码卡,密码机进行集成。还有什么服务端密钥的存放,电子签名也是需要这种硬件的支持。
    为什么需要这些硬件设备,因为密钥的存放管理是需要一系列的安全手段来保证的
    • CA
    • 电子签章

1.2 密码产品

国家分两批公布了共28类密码产品。

第一批次

序号产品种类产品描述认证依据
1智能密码钥匙实现密码运算、密钥管理功能的终端密码设备,一般使用USB接口形态

GM/T0027《智能密码钥匙技术规范》

GM/T0028《密码模块安全技术要求》

2智能IC卡实现密码运算和密钥管理功能的含CPU(中央处理器)的集成电路卡,包括应用于金融等行业领域的智能IC卡

GM/TO041《智能IC卡密码检测规范》
GM/T0028《密码模块安全技术要求》

3

POS密码应用系统

ATM密码应用系统

多功能密码应用

互联网终端

为金融终端设备提供密码服务的密码应用系统。

GM/T0028《密码模块安全技术要求》

R/T0025-2018《中国金融集成电路(IC)卡规范第7部分:借记贷记应用安全规范》

4PCI-E/PCI密码卡具有密码运算功能和自身安全保护功能的PCI硬件板卡设备。

《PCI密码卡技术规范》

GM/T0018《密码设备应用接口规范》

GM/T0028《密码模块安全技术要求》

5IPSec VPN产品/安全网关基于IPSec协议,在通信网络中构建安全通道的设备。

IPSec VPN产品:
GM/TO022《PSec VPN技术规范》

GM/T0028《密码模块安全技术要求》

IPSec VPN安全网关:
GM/T0023《IPSec VPN网关产品规范》
GM/T0028《密码模块安全技术要求》

6SSL VPN产品/安全网关基于SSL/TLS协议,在通信网络中构建安全通道的设备。

SSL VPN产品:
GM/T0024《SSL VPN技术规范》
GM/T0028《密码模块安全技术要求》

SSL VPN安全网关:
GM/T0025《SSL VPN网关产品规范》
GM/T0028《密码模块安全技术要求》

7安全认证网关采用数字证书为应用系统提供用户管理、身份鉴
别、单点登录、传输加密、访问控制和安全审计服务的设备。

GM/T0026《安全认证网关产品规范》
GM/T0028《密码模块安全技术要求》

8密码键盘用于保护PN输入安全并对PN进行加密的独立式密码模块。包括POS主机等设备的外接加密密码键
盘和无人值守(自助)终端的加密PN键盘。

GM/T0049《密码键盘密码检测规范》
GM/T0028《密码模块安全技术要求》

9金融数据密码机用于确保金融数据安全,并符合金融磁条卡、IC卡业务特点的,主要实现PN加密、PN转加密、MAC产生和校验、数据加解密、签名验证以及密钥管理等密码服务功能的密码设备。

GM/T0045《金融数据密码机技术规范》
GM/T0028《密码模块安全技术要求》

10服务器密码机能独立或并行为多个应用实体提供密码运算、密钥管理等功能的设备。

GM/T0030《服务器密码机技术规范》
GM/T0028《密码模块安全技术要求》

11签名验签服务器用于服务端的,为应用实体提供基于PKI体系和数字证书的数字签名、验证签名等运算功能的服务
器。

GM/T0029《签名验签服务器技术规范》
GM/T0028《密码模块安全技术要求》

12时间戳服务器基于公钥密码基础设施应用技术体系框架内的时间戳服务相关设备。

GM/T0033《时间戳接口规范》
GM/T0028《密码模块安全技术要求》

13安全门禁系统采用密码技术,确定用户身份和用户权限的门禁控制系统。GM/T0036《采用非接触卡的门禁系统密码应用技术指南》
14动态令牌
动态令牌认证系统
动态令牌:生成并显示动态口令的载体。
动态令牌认证系统:对动态口令进行认证,对动态令牌进行管理的系统。

动态令牌:
GM/T0021《动态口令密码应用技术规范》
GM/T0028《密码模块安全技术要求》

动态令牌认证系统:
GM/T0021《动态口令密码应用技术规范》

15安全电子签章系统提供电子印章管理、电子签章/验章等功能的密码应用系统。

GM/T0031《安全电子签章密码技术规范》

16电子文件密码应用系统在电子文件创建、修改、授权、阅读、签批、盖章、打印、添加水印、流转、存档和销毁等操作中提供密码运算、密钥管理等功能的应用系统。

GM/T0055《电子文件密码应用技术规范》

17可信计算密码支撑平台采取密码技术,为可信计算平台自身的完整性、身份可信性和数据安全性提供密码支持。其产品形态主要表现为可信密码模块和可信密码服务模块。

GM/T0011《可信计算密码支撑平台功能与接口规范》
GM/T0012《可信计算可信密码模块接口规范》
GMWT0058《可信计算TCM服务模块接口规范》
GM/T0028《密码模块安全技术要求》

18

证书认证系统

证书认证密钥管理系统

证书认证系统:对数字证书的签发、发布、更新、 撤销等数字证书全生命周期进行管理的系统。

证书认证密钥管理系统:对生命周期内的加密证书密钥对进行全过程管理的系统。

GM/T0034《基于SM2密码算法的证书认证系统密码及其相关安全技术规范》

19对称密钥管理产品为密码应用系统生产、分发和管理对称密钥的系统及设备。

GM/T0051《密码设备管理对称密钥管理技术规范》

20安全芯片含密码算法、安全功能,可实现密钥管理机制的集成电路芯片

GM/T0008《安全芯片密码检测准则》

21电子标签芯片采用密码技术,载有与预期应用相关的电子识别信息,用于射频识别的芯片

GM/T0035.2《射频识别系统密码应用技术要求第2部分:电子标签芯片密码应用技术要求》

22其他密码模块实现密码运算、密钥管理等安全功能的软件、硬件、固件及其组合,包括软件密码模块、硬件密码模块等

GM/T0028《密码模块安全技术要求》

第二批次

序号产品种类产品描述认证依据
1可信密码模块可信计算密码支撑平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。

GM/T 0012《可信计算可信密码模块接口规范》

GM/T 0028《密码模块安全技术要求》

2

智能IC卡

密钥管理系统

针对智能IC卡应用所需的密钥生命周期统一管理系统,为使用密钥的智能IC上相关业务系统提供密钥服务功能。

GM/T 0107《智能IC卡密钥管理系统基本技术要求》

3云服务器密码机在云计算环境下,采用虚拟化技术,以网络形式,为多个租户的应用系统提供密码服务的服务器密码机。

GM/T 0104《云服务器密码机技术规范》
GM/T 0028《密码模块安全技术要求》

4随机数发生器软件随机数发生器:产生随机二元序列的
程序。
硬件随机数发生器:产生随机二元序列的
器件。
这里需要注明下:之前国家是要求必须是硬件随机数发生器,最近才运行软件版的。

软件随机款发生器:
GM/T 0103《随机数发生器总体框架》
GM/T 0105《软件随机数发生器设计指南》
GM/T 0028《密码模块安全技术要求》

硬件随机数发生器:
GM/T 0078《密码随机数生成模块设计指南》
GM/T 0103《随机数发生器总体框架》
GM/T 0028《密码模块安全技术要求》

5区块链密码模块以区块链技术为核心,用于用户安全、共识安全、账本保护、对等网络安全、计算和存储安全、隐私保护、身份认证和管理等的密码模块。

GM/T 0111·《区块链密码应用技术要求》
GM/T 0028《密码模块安全技术要求》

6安全浏览器密码模块具有浏览器内核、浏览器界面、密码算法传输层密码协议逻辑运算模块等组成的浏览器密码模块。

GM/T 0087《浏览器密码应用接口规范》
GM/T 0028《密码模块安全技术要求》
GB/T38636《信息安全技术传输层密码协议
(TLCP)》

1.3 密码产品认证单位

序号      单位名称能力
1国家密码管理局商用密码检测中心认证、检测
2鼎铉商用密码测评技术(深圳)有限公司检测
3智巡密码(上海)检测技术有限公司检测
4豪符密码检测技术(成都)有限责任公司检测
5招商局检测认证(重庆)有限公司检测

1.4 密码产品认证流程

 二.密码卡、密码机

2.1 密码芯片

名称分类作用
密码芯片随机数芯片通过物理噪声源,产生真随机数,适用于密钥生成、协商、获取随机数等应用场景
算法芯片

协处理器芯片,通常为ASIC芯片,将算法以硬件电路的方式封装到芯片中

SOC密码芯片

(CPU芯片)

将计算能力、密码算法、随机数和存储能力进行整合,提供密码能力的集成芯片

注:随机数的质量也就是随机性决定了密钥的质量,也决定了密码运算的安全性。因此对于随机数在商密的应用里面,对于它的随机性要求是非常高的,所以也有专门的检测项来检测。

2.2 密码卡

        就针对实际应用来说,芯片其实是离我们比较远的,一个比较重要的原因就是密码芯片集成的成本太高了。试想一下,就一个办公系统,需要一个加解密的能力,但是办公系统运行的环境很可能就是在一台服务器上发布的web应用,如果现在我们需要集成一块密码芯片来拥有加解密能力,很难在一台普通的服务器上实现。

        虽然密码芯片无法直接进行集成应用,但是密码能力的述求是一直存在的。于是密码卡便应运而生了。密码卡是很多做商用密码产品厂商最为底层的结构,因为它能够直接面向应用提供密码的能力,同时应用的场景很多,而且单价相比来说更加实惠。应该说整体市场的定位是很明确的。

2.2.1 密码卡——组成结构

 结构解析:

  1. PCIE通信模块:密码卡一般是通过PCI/PCIE的物理接口和主板进行数据交换的,所以很多时候,密码卡是直接插在主板的PCIE插槽里面。这是密码卡的集成方式和通信模式。
  2. CPU:密码卡里面一般会有一个运算单元,主要的作用就是一个逻辑的模块,面向应用提供一些逻辑指令,接收应用侧的需求去调用密码卡。
  3. 两路随机数发生器:这是密码局要求的一个结构。
  4. 算法芯片:这里面可以包含各种不同的加密算法,例如:SM1、SM2。。。根据需求集成到一块密码卡上,按需调用。
  5. 存储:存储一些配置信息或者密码卡里面的一些密钥信息,而且是属于一种非易失方式。

小结:

  •  密码卡通常采用PCIE物理接口的形式与应用进行集成
  • 密码卡内置随机数发生器及密码算法
  • 密码卡内置存储能力,支持完备的密钥管理功能
  • 密码卡以SDK的方式面向应用提供密码功能

2.2.2 密码卡——密钥体系

 结构解析:

  1. 三级密钥:由系统密钥(设备密钥)、用户密钥和会话密钥组成

 小结:

  • 密码卡遵循三级密钥体系
  • 系统密钥在初始化时生成,多采用门限的方式进行备份
  • 用户密钥通过卡管程序来进行生成,为非易失密钥,可通过系统密钥加密后导出备份及导入解密还原
  • 会话密钥为易失密钥,断电或者通过销毁接口后即丢失

2.2.3 密码卡——应用流程

 小结:

  • 密码卡通过主板预留插槽进行集成,完成物理通信和上电能力
  • 在操作系统安装对应的驱动程序,方便操作系统识别当前设备
  • 对密码卡进行初始化,完成密钥的生成、角色的配置,使得密码卡处于待应用的状态
  • 应用系统通过密码卡的接口进行集成,按需调用密码卡接口,将待处理的数据传递至密码卡,在其内部进行计算并返回计算后的信息

2.2.4 密码卡——功能简介

名称主要功能简介
密码卡随机数两路真随机数物理发生器,通过异或产生真随机数
对称密码算法AES、SM4、(SM1\SM7)等
非对称密码算法RSA、SM2、ECC、SM9等
哈希算法SHA256、SM3等
MAC算法CBC-MAC、HMAC-SM3等
密钥管理密钥的生成、分发、使用、存储、备份、恢复、销毁等
遵循的接口GM/T 0018 《密码设备应用接口规范》

三.服务器密码机

        说到服务器密码机,应该是密评或者说业务系统应用的场景下,是最常见和最通用的一种密码设备。

服务器密码机组成结构:

  •  密码机物理层由带有网络通信能力的主板、CPU、内存、存储以及密码卡来组成
  • 密码机内部装有裁剪后的操作系统,多为Linux,内部安装密码卡驱动,能够对物理层的密码卡进行调用
  • 在密码机中部署服务,能够以网络的形式面向终端提供密码机管理、密码机加解密、签名验签的能力
  • 面向客户端多以标准接口的形式封装通信报文,譬如SDF等接口
  • 现在国家推行的信创,主要是指全部构成的硬件组件和软件系统都是通过信创标准的

 3.1 密钥体系

编号类别密钥类型备注
1

设备密钥

(设备唯一标识)

非对称密钥

(在这里是有两对密钥:一对用来签名,一对用来加密)

索引为0

在设备初始化时产生

2用户密钥非对称密钥

索引从1开始
由密码设备管理工具来产生

(这里的管理工具就是上面结构图里服务层里面的管理服务)
每个索引包含签名及加密两对密钥

3密钥加密密钥对称密钥

索引从1开始
128比特
由密码设备管理工具来产生

4会话密钥对称密钥

由设备接口函数产生
通过密钥句柄来进行使用

:产生的用户密钥和密钥加密密钥都是非易失的

3.2 密码机应用流程

  •  密码机进行初始化后,配置对应的密钥信息,明确用户使用的密钥索引
  • 应用系统针对密码机提供的SDK进行集成,明确密码机服务端的地址、端口、索引、访问控制认证信息等数据
  • 应用按需调用对应应用接口,SDK自动对报文进行封装并发送至密码机服务接口,密码机服务根据请求类型内部处理,并原路返回处理结果

3.3 密码机功能简介

差不多和密码卡类似,主要的区别就是通信方式改为了网络。

名称主要功能简介
密码机随机数两路真随机数物理发生器,通过异或产生真随机数
对称密码算法AES、SM4、(SM1\SM7)等
非对称密码算法RSA、SM2、ECC、SM9等
哈希算法SHA256、SM3等
MAC算法CBC-MAC、HMAC-SM3等
密钥管理密钥的生成、分发、使用、存储、备份、恢复、销毁等
遵循的接口GM/T 0018 《密码设备应用接口规范》

3.4 密码卡与密码机异同

 3.5 密码卡与密码机-18接口调用

3.6 随机数

 勿忘关闭会话,关闭设备,释放资源

3.7 私钥生成

3.8 数据加密1

密钥句柄(Key Handle)是一种在数字安全领域中使用的概念,它是一个用于引用或标识存储在安全环境中的密钥的唯一标识符。密钥句柄可以被看作是一个引用或指针,它允许系统在不直接暴露密钥本身的情况下,访问和管理密钥。

在不同的安全系统和应用程序中,密钥句柄的具体实现和用途可能会有所不同。以下是一些常见的用途和场景:

  1. 密钥管理系统:在密钥管理系统中,密钥句柄可以用来引用存储在系统中的密钥。当需要使用密钥进行加密、解密、签名或验证操作时,可以通过密钥句柄来访问密钥,而不是直接使用密钥的值。

  2. 硬件安全模块(HSM):在硬件安全模块中,密钥句柄用于标识存储在HSM内部的密钥。由于HSM通常用于保护高价值的密钥,因此它们不允许密钥的明文形式离开HSM。通过使用密钥句柄,可以在HSM内部安全地管理和使用密钥。

  3. Web服务和API:在提供加密服务的Web服务或API中,密钥句柄可以用于客户端应用程序,以便在不暴露密钥的情况下请求加密或解密操作。客户端首先通过一个安全的机制获取密钥句柄,然后使用这个句柄来请求加密或解密服务。

  4. 多因素认证:在多因素认证系统中,密钥句柄有时用于标识与特定认证令牌或设备相关联的密钥。例如,在使用U2F(Universal 2nd Factor)认证时,密钥句柄可以用来标识存储在安全元素中的特定私钥。

密钥句柄的使用有助于提高系统的安全性,因为它减少了密钥暴露的风险,并简化了密钥的管理。通过使用密钥句柄,系统可以在不直接操作密钥的情况下,安全地执行加密操作。

3.9 数据加密2 

3.10 MAC计算

MAC计算,全称是消息认证码(Message Authentication Code),是一种用于确保消息完整性和来源认证的加密技术。MAC通常用于通信过程中,以验证消息在传输过程中未被篡改,并且确实来自声称的发送者。

MAC的计算过程通常涉及以下几个步骤:

  1. 密钥选择:首先,发送方和接收方必须共享一个秘密密钥,这个密钥是只有他们知道的。

  2. 消息准备:发送方准备要发送的消息。

  3. MAC生成:发送方使用一个MAC算法(如HMAC)和共享密钥对消息进行处理,生成一个固定长度的MAC值,也称为标签。这个MAC值是消息的一个加密校验和,它依赖于消息的内容和密钥。

  4. 消息发送:发送方将消息和生成的MAC值一起发送给接收方。

  5. MAC验证:接收方收到消息和MAC值后,使用相同的MAC算法和共享密钥对消息进行处理,生成一个新的MAC值。然后,接收方将新生成的MAC值与接收到的MAC值进行比较。如果两个值相同,那么接收方可以认为消息是完整的,并且确实来自发送方;如果不同,则说明消息可能已被篡改或来自未授权的源。

MAC计算的一个关键特性是它的不可伪造性,即没有知道密钥的第三方无法生成一个有效的MAC值来匹配一个篡改过的消息。

MAC算法的一个常见例子是HMAC(Hash-based Message Authentication Code),它使用一个加密哈希函数(如SHA-256)和一个密钥来生成MAC值。HMAC的计算公式通常如下:

HMAC(𝐾,𝑚)=𝐻((𝐾⊕opad)∣∣𝐻((𝐾⊕ipad)∣∣𝑚))HMAC(K,m)=H((K⊕opad)∣∣H((K⊕ipad)∣∣m))

其中:

  • 𝐾K 是密钥。

  • 𝑚m 是消息。

  • 𝐻H 是哈希函数。

  • ⊕⊕ 是异或操作。

  • ipadipad 和 opadopad 是内部填充和外部填充,用于确保密钥和消息的混合。

  • ∣∣∣∣ 是连接操作。

MAC计算是网络安全和数据安全中非常重要的一个环节,它帮助确保数据的完整性和来源的真实性。

 

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青空式微

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值