【密码学篇】商用密码产品的密钥体系结构小结

news2024/9/21 10:21:49

【密码学篇】商用密码产品的密钥体系结构小结

商用密码产品的密钥体系结构笔记小结—【蘇小沐】

文章目录

    • 【密码学篇】商用密码产品的密钥体系结构小结
      • 1.商用密码产品密钥体系结构
    • (一)服务器密码机密钥体系结构
      • 1.服务器密码机密钥体系结构
      • 2.服务器密码机接口类型
      • 3.服务器密码机的密钥管理要求
      • 4.服务器密码机的接口使用
    • (二)金融数据密码机密钥体系结构
      • 1.金融数据密码机体系结构
      • 2.金融数据密码机接口
    • (三)VPN产品密钥体系结构
      • IPSec VPN密钥体系
      • SSL VPN密钥体系
    • (四)动态口令系统密钥体系结构
    • (五)智能密码钥匙密钥体系结构
      • 1.智能密码密钥体系
    • 总结

1.商用密码产品密钥体系结构

密钥体系结构顶层中层底层
服务器密码机管理密钥用户密钥/设备密钥/密钥加密密钥会话密钥
金融数据密码机主密钥次主密钥数据密钥
IPSec VPN产品设备密钥(非对称)工作密钥会话密钥
SSL VPN产品设备密钥(非对称)预主密钥/主密钥工作密钥
动态口令系统管理类密钥密钥加密密钥用户类密钥
智能密码钥匙产品设备认证密钥用户密钥会话密钥

(一)服务器密码机密钥体系结构

标准GM/T 0030-2014中规定服务器密码机必须至少支持三层密码体系结构,包括:管理密钥、用户密钥/设备密钥/密钥加密密钥、会话密钥。除"管理密钥"外,其他密钥可被用户使用,提供数据加解密等服务。
在这里插入图片描述

1.服务器密码机密钥体系结构

服务器密码机密钥体系结构:管理密钥、用户密钥/设备密钥/密钥加密密钥、会话密钥。

服务器密码机密钥体系结构作用
管理密钥管理员密钥、与管理工具建立安全管理通道的密钥、保护其他各层次密钥的密钥加密密钥、保护设备固件完整性的密钥、保护设备日志完整性等的密钥等。
用户密钥用户密钥是用户的身份密钥,包括签名密钥对和加密密钥对。"签名密钥对"由服务器密码机生成或安装,用于实现用户签名、验证、身份鉴别等,代表用户或应用者的身份;而"加密密钥对"则由密钥管理系统下发到设备中,主要用于对会话密钥的保护和数据的加解密等。用户密钥存储在服务器密码机内部的安全存储区域。
设备密钥与用户密钥类似,设备密钥是服务器密码机的身份密钥,包括签名密钥对和加密密钥对,用于设备管理,代表服务器密码机的身份。设备密钥的签名密钥对在设备初始化时通过管理工具生成或者安装,加密密钥由密钥管理系统下发到设备中,设备密钥对存储在服务器密码机内部的安全存储区域。事实上,设备密钥和用户密钥存储在同一区域,设备密钥可以视作表征设备身份的特殊"用户密钥"。
密钥加密密钥密钥加密密钥是定期更换的"对称密钥",用于在预分配密钥情况下,对会话密钥的保护。密钥加密密钥通过密码设备管理工具生成或安装,与用户密钥和设备密钥存储在不同的存储区。
会话密钥会话密钥是对称密钥,一般直接用于数据的加解密。会话密钥使用服务器密码机的接口生成或导入,使用时利用句柄检索。为了保证会话密钥的安全,它不能以明文形态进出密码机,服务器密码机的接口采用数字信封、密钥加密密钥加密传输或者密钥协商等方式进行会话密钥的导入/导出。

2.服务器密码机接口类型

服务器密码机接口类型包括:设备管理类、密钥管理类、非对称算法运算类函数、对称算法运行类函数、杂凑运算类函数、文件类函数。

服务器密码机接口类型作用
设备管理类主要是对于密码设备、会话、私钥权限的管理、包括打开/关闭设备、创建/关闭会话、获取/释放私钥使用权限等
密钥管理类主要涉及会话密钥生成、密钥的导入/导出、密钥销毁等密码生命周期管理
非对称算法运算类函数主要包括数字签名的计算、公钥加密操作
对称算法运算类函数主要包括对称加解密、MAC的计算
杂凑运算类函数主要支持杂凑的多包运算
文件类函数对内存存储的文件进行管理

3.服务器密码机的密钥管理要求

◎管理密钥的使用不对应用系统开放

◎除公钥外,所有密钥均不能以明文形式出现在服务器密码机外;

◎服务器密码机内部存储的密钥应具备有效的防止解剖、探测和非法读取密钥保护机制;

◎服务器密码机内部存储的密钥应具备防止非法使用和导出的权限控制机制;

◎服务器密码机内部存储的密钥应具备安全销毁功能

4.服务器密码机的接口使用

服务器密码机的接口使用是一个有状态的过程,需要遵循一定的顺序,并且需要维持上下文。以下介绍服务器密码机两类典型应用的操作流程:

客户端调用服务器密码机存储的用户密钥进行签名的一般顺序为:

1SDF_OpenDevice:打开设备,获得设备句柄
2SDF_OpenSession:创建会话,获得会话句柄
3SDF_GetPrivateKeyAccessRight:获取内部私钥使用权限
4SDF_Internalsign ECC:使用内部存储的私钥进行签名
5SDF_ReleasePrivateKeyAccessRight:释放私钥权限
6SDF_CloseSession:关闭会话,销毁会话句柄
7SDF_CloseDevice:关闭设备,销毁设备句柄

完成签名后,其他应用可以使用对应的公钥/公钥证书来验证签名的正确性。

客户端调用服务器密码机使用会话密钥加密数据的一般顺序为:

1SDF_OpenDevice:打开设备,获得设备句柄
2SDF_OpenSession:创建会话,获得会话句柄
3SDF_GenerateKeyWithEPK_ECC:生成会话密钥,并利用外部公钥加密形成数字信封
4SDF_Encrypt:利用会话密钥加密数据
5SDF_CloseSession:关闭会话,销毁会话句柄
6SDF_CloseDevice:关闭设备,销毁设备句柄

完成数据加密后,持有外部公钥所对应私钥的用户可以打开数字信封,获得会话密钥句柄,并利用该会话密钥解密获得数据明文。

(二)金融数据密码机密钥体系结构

金融数据密码机采用基于"对称密码体制"的三层密钥体系结构;分别为"主密钥、次主密钥和数据密钥"三层。金融数据密码机中的密钥采用"自上而下逐层保护"的分层保护原则,即主密钥保护次主密钥,次主密钥保护数据密钥。
在这里插入图片描述

1.金融数据密码机体系结构

金融数据密码机体系结构:主密钥、次主密钥、数据密钥

金融数据密码机作用
主密钥主密钥是一种"密钥加密密钥",其主要作用是保护其下层密钥的安全传输和存储。主密钥的存储必须采用强安全措施,不能以明文方式出现在密码机外。主密钥可采用加密存储或微电保护存储方式。采用微电保护存储方式时,密钥可以明文方式存储,但需要设计有销毁密钥的触发装置,当触发装置被触发时,销毁存储的所有密钥。
次主密钥次主密钥是一种"密钥加密密钥",其主要作用是保护数据密钥的安全传输、分发和存储。由于采用的是对称密码体制,因此一般需要通过离线分发的方式进行密钥的共享。
数据密钥数据密钥是实际保护金融业务数据安全的密钥,直接用于加密或校验各类应用数据,包括PIN密钥和MAC密钥等。数据密钥一般不在密码机中长期存储,多个密码机在共享次主密钥的基础上,利用次主密钥保护各类数据密钥的安全传输以完成数据密钥的共享。数据密钥的使用最为频繁,一般需要按时更新。

2.金融数据密码机接口

主要分为以下三类:

金融数据密码机接口作用
磁条卡应用接口支持各类密钥的生成、注入、合成、转加密。
IC卡应用接口支持数据加解密、数据转加密、脚本加解密、MAC计算。
基础密码运算服务接口提供最基本的各类密码计算服务,包括SM2签名验签、加密解密、SM4加密解密、SM3消息摘要。

(三)VPN产品密钥体系结构

VPN产品只有"设备密钥"是"非对称密钥"。
在这里插入图片描述

IPSec VPN密钥体系

IPSec VPN密钥体系:设备密钥、工作密钥、会话密钥。

IPsec VPN作用
设备密钥非对称密钥对,包括签名密钥对和加密密钥对,用于实体身份鉴别、数字签名和数字信封等,其中,用于签名的设备密钥对在IKE第一阶段提供基于数字签名的身份鉴别服务;用于加密的设备密钥对在IKE第一阶段对交换数据提供保密性保护。
工作密钥对称密钥,在IKE第一阶段经密钥协商派生得到,用于对会话密钥交换过程的保护。其中,用于加密的工作密钥对IKE第二阶段交换的数据提供保护性保护;用于完整性校验的工作密钥为IKE第二阶段交换的数据提供完整性保护及对数据源进行身份鉴别。
会话密钥对称密钥,在IKE第二阶段经密钥协商派生得到,直接用于数据报文及报文MAC的加密和完整性保护,用于加密的会话密钥为通信数据和MAC值提供保密性保护;用于完整性校验的会话密钥为通信数据提供完整性保护

SSL VPN密钥体系

SSL VPN密钥体系:设备密钥、预主密钥/主密钥、工作密钥。

SSL VPN作用
设备密钥非对称密钥,包括签名密钥对和加密密钥对。签名密钥对用于握手协议中通信双方的身份鉴别;加密密钥对用于预主密钥协商时所用交换参数的保密性保护
预主密钥、主密钥对称密钥,预主密钥是双方协商通过伪随机函数(PRF)生成的密钥素材,用于生成主密钥;主密钥由预主密钥、双方随机数等交换参数,经PRF计算生成的密钥素材,用于生成工作密钥
工作密钥对称密钥,对称通信数据安全性提供保护。数据加密密钥用于数据的加密和解密;校验密钥用于数据的完整性计算和校验,发送方使用的工作密钥称为写密钥,接受方使用的工作密钥称为读密钥。

(四)动态口令系统密钥体系结构

动态口令是一种一次性口令机制。用户无须记忆口令,也无须手工更改口令,口令通过用户持有的客户端器件生成,并基于一定的算法与服务端形成同步,从而作为证明用户身份的依据。动态口令机制可广泛用于身份鉴别场合,如Web系统登录、金融支付。

动态系统口令包括三部分:动态令牌、认证系统和密钥管理系统。

动态系统口令作用
动态令牌用于生成动态口令。
认证系统用于验证动态口令的正确性。
密钥管理系统用于动态令牌的密钥管理。

密码行业标准中,与动态口令系统相关标准为GM/T 0021-2012《动态口令密码应用技术规范》和配套的GM/T 0061-2018《动态口令密码应用检测规范》。标准给出了动态口令的生成方式基于SM3密码杂凑算法和基于SM4分组密码算法两种选择。

在这里插入图片描述

功能分类作用
管理类密钥▪主密钥Km: 系统的根密钥,用于生成种子密钥加密密钥Ks、厂商生产主密钥Kp;▪厂商生产主密钥Kp:用于生成厂商种子密钥加密密钥Kps
密钥加密类密钥▪种子密钥加密密钥Ks:在令牌应用服务商系统(密钥管理系统和认证系统)中,用于对种子密钥进行加密存储的密钥。▪厂商种子密钥加密密钥Kps:在令牌厂商(动态令牌)系统中,用于对种子密钥进行加密存储的密钥。▪传输密钥Kt:用于加密保护厂商生产主密钥Kp的交换,保障生产所用的硬件密码设备和认证所用的硬件密码设备之间厂商生产主密钥Kp交换的安全。
用户类密钥种子密钥:用于动态口令生成

在这里插入图片描述

(五)智能密码钥匙密钥体系结构

智能密码钥匙是一种具备密码运算、密钥管理能力,可提供密码服务的终端密码设备,其主要作用是"存储用户秘密信息(如私钥、数字证书),完成数据加解密、数据完整性校验、数字签名、访问控制等功能"

1.智能密码密钥体系

UK密钥体系:设备认证密钥、用户密钥、会话密钥。

容器中存放用户密钥(包括加密密钥对和签名密钥对)和会话密钥。

  • 加密密钥对用于保护会话密钥,加密密钥对由"外部产生"并安全导入
  • 签名密钥对用于数学签名和验证,签名密钥对由"内部产生"
密钥作用备注
设备认证密钥用于终端管理程序与设备之间的相互鉴别,以获得终端对设备上应用的管理权限。/
用户密钥用于签名和签名验证、加密和解密的非对称密钥对。包括加密密钥对和签名密钥对
会话密钥临时从外部密文导入或内部临时生成的对称密钥,使用完毕或设备断电后即消失。会话密钥用于数据加解密和MAC运算,会话密钥可由"内部产生或者由外部产生"并安全导入。
理解记忆作用
1)应结合产品的应用逻辑结构,理解智能密码钥匙的密钥体系结构智能密码钥匙产品一般基于"非对称密码"体制,至少支持三种密钥:设备认证密钥、用户密钥、会话密钥。
2)在智能密码钥匙的初始化时应注意区分出厂初始化和应用初始化出厂初始化时需对设备认证密钥进行初始化。应用初始化是在应用提供商对设备进行发行时,需对设备认证密钥进行修改,并建立相应的应用。
3)应使用商用密码算法进行密码运算公钥密码算法应使用SM2或SM9;对称密码算法应使用SM4;密码杂凑算法应使用SM3。
4)⚠️应注意口令PIN和对称密钥的存储和使用安全【6,10】口令PIN长度不小于6个字符,使用错误口令登录的次数限制不超过10次;采用安全的方式存储和访问口令,存储在智能密码钥匙内部的口令不能以任何形式输出;在管理终端和智能密码钥匙之间传输的所有口令和密钥均采用加密传输,并在传输过程中能够防范重放攻击。
5)⚠️在签名前应执行身份鉴别,以保证签名密钥的使用安全智能密码钥匙每次执行签名等敏感操作前会对用户进行身份鉴别,每次执行签名等敏感操作后会立即清除相应身份鉴别结果,下一次执行敏感操作前仍需要进行身份鉴别。

总结

书写片面,纯粹做个记录,有错漏之处欢迎批评指正。觉得对您有所帮助,可以点赞收藏!

著作所有权归作者 蘇小沐 所有,转载请注明文章出处

名称时间
开始编辑日期2022 年 11 月 23 日
最后编辑日期2022 年 12 月 05 日

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/64545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL 数据库 定义参数【连接查询】

目录 内连接查询(inner join) 左连接查询 left join 右连接 right join 全连接、合并查询 union 内连接查询(inner join) 关键字:inner join on 语句:select * from 表名 inner join 表名 on 条件…

Excel

单元格格式 ,跨列居中, 自动换行 尽量不要使用合并单元格,因为会使得一些单元格无法访问,影响排序,筛选等功能 第四季度销售数据部门类别十月十一月十二月肉类牛肉90000110000120000烘焙品甜点2500080000120000农产品…

基于JAVA的网络通讯系统设计与实现(论文+系统)

(2009届) 本科生毕业设计(论文) 基于Java的网络通信系统设计与实现 学 院、系:计算机与通信学院专 业:通信工程学 生 姓 名:班 级:学号指导教师姓名:职称最终评定成绩…

jest在已有项目中的安装与使用

简单的jest使用配置: npm init -y npm i jest24.8.0 -Dnpx jest --init 生成初始化配置 一个index文件,里面可以写入一些方法,作为测试这个jest.config.js是自动生成的!!!!! index.…

第二十五章《图书管理系统》第1节:图书管理系统简介

图书管理系统具有图书信息管理、读者信息管理和借阅信息管理三大功能模块,本小节将从软件功能、数据库系统设计和项目结构几个方面介绍该软件系统的设计方案。 25.1.1系统功能简介 图书管理系统第一大功能模块是图书信息管理,这个模块的软件界面如图25-1所示。 图25-1图书信…

2011-2019年全国30省绿色经济发展指数和子指数数据

2011-2019年全国30省绿色经济发展指数和子指数数据 1、时间:2011-2019年 2、来源:绿色发展指数BG——区域比较 3、范围:包括全国30个省份不包括西藏 4、指标包括:总指标—绿色化指数、经济增长绿化度指数、资源环境承载潜力指…

1.4 Apache Hadoop完全分布式集群搭建-hadoop-最全最完整的保姆级的java大数据学习资料

文章目录1.4 Apache Hadoop 完全分布式集群搭建1.4.1 虚拟机环境准备1.4.2 集群规划1.4.3 安装Hadoop1.4.3.1 集群配置1.4.3.1.1 HDFS集群配置1.4.3.1.2 MapReduce集群配置1.4.3.1.3 Yarn集群配置1.4.3.2 分发配置1.4.4 启动集群1.4.4.1 单节点启动1.4.4.2 集群群起1.4.4.3 Had…

3D目标检测总结

3D目标检测最主要的应用领域是自动驾驶,主流用的传感器是camera和lidar, 一般车上也会配备很多radar, 但是在检测中一般很少用到radar。 除了特斯拉坚决不用lidar, 只基于纯视觉做自动驾驶感知, 大多数的自动驾驶感知…

Java---网络编程

特点:数据被限制在64kb以内,超出这个范围就不能发送了。 数据报(Datagram):网络传输的基本单位 。 TCP 传输控制协议 (Transmission Control Protocol)。TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收…

联邦学习论文分析1----联邦学习_功率分配_频带分配_传输速率_能耗

目录一、文章概述二、系统模型环境三、上行链路功率分配(UPA)算法1.系统目标2.约束条件3.公式推导(1)传输时间(2)系统能耗4.算法求解5.伪代码四、频带分配(BA)算法1.系统目标2.约束条件3.算法求解五、性能表征本文是对论文《Multi-Server Federated Edge Learning for Low Powe…

[附源码]JAVA毕业设计南京传媒学院门户网(系统+LW)

[附源码]JAVA毕业设计南京传媒学院门户网(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技…

【计算机网络】数据链路层:虚拟局域网

以太网包含的计算机太多时,带来问题: (1)广播风暴 一个以太网是一个广播域(广播域中任何一台设备发出的广播通信都能被该部分网络中的其他所有设备所接收) 在交换机的交换表的建立过程中要使用许多广播域…

如何使用css美化网页?

转自:微点阅读 https://www.weidianyuedu.com 相信大家通过上一篇文章的学习已经成功的创建了自己的第一个网页。虽然只有一句话,但这个仍然是一个网页。但是我相信你,一定觉得这个页面不好看,想自己美化一下,今天就可…

深度学习---确保每次训练结果一致的方法

每次训练结果不一致的原因: 神经网络特意用随机性来保证,能通过有效学习得到问题的近似函数。采用随机性的原因是:用它的机器学习算法,要比不用它的效果更好。 在神经网络中,最常见的随机性包含以下几个地方&#xf…

[黑马程序员C++笔记]P174-P184模板-类模板

视频地址:黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili 目录 P174模板-类模板基本语法 P175模板-类模板和函数模板区别 P176模板-类模板中成员函数创建时机 P177模板-类模板对象做函数参数 P178模板-类模板与继承 P179模板-类模板…

什么是MES制造执行系统?MES的优势,架构和核心功能

随着科技的飞速发展,企业要想增强自身的竞争力,在市场竞争中立于不败之地,只有这样才是唯一的出路。在过去30年中,对社会影响最大的技术进步是信息技术,它改变了我们的日常生活,改变了企业的管理方式。在信…

Kubernetes v1.25 源码编译

下载源码并切换到需要debug的分支 git clone gitgithub.com:kubernetes/kubernetes.git git checkout -b v1.25 remotes/origin/release-1.25 cd kubernetes编译源码 执行:make clean && KUBE_BUILD_PLATFORMSlinux/amd64 make all DBG1会编译所有的组件 网…

java 之泛型详解

1 什么是泛型 引入: 关于泛型,先来说几句集合。都知道集合是可以存储任意对象,当我们创建一个集合时如果没有声明它的存储类型,那该集合便自动提升为Object类型 提示:在我们创建对象的时候,如果没有明确指…

构建全真互联数字地图底座 腾讯地图产业版WeMap重磅升级

前言 :伴随着地理信息产业的不断演进,以及LBS、大数据、5G、云、AI等新技术的持续应用,数实融合发展呈现出加速态势,数字地图也从移动互联网时代向产业互联网时代进化。 WeMap腾讯地图产业版重磅升级!12月1日&#xff…

AD入门学习—元件库的创建2

目录 1.3 IC芯片类元件创建 1.4 晶体类元件创建 1.5 接插件座子元件创建 学习目录 1.3 IC芯片类元件创建 填写ID放置在原理图上才会有名字。 STM32F103VET6芯片: 主要用到的还是阵列式粘贴,先复制,然后向上粘贴是正的,向下粘贴…