往USBKey里面导入双证书专题:概念介绍、执行逻辑

news2024/11/16 17:54:15

相关概念

国密证书

  • 国密的双证书体系,将证书按照使用目的的不同划分为加密证书和签名证书两种,也就是两对公私钥,二者本质一致,均为SM2密钥对,区别仅体现在用法
  • 国密CA体系中,加密密钥对由CA产生,签名密钥对由用户自己产生,那么加密密钥涉及到的 私钥是如何通过安全的方式由CA传递到用户侧呢?使用数字信封的机理;
  • 从道理上来说两个密钥具有不同的属性,逻辑上应该分开处理。其实最主要的原因是国家要保证必要的时候有能力对某些通讯进行监控,如果采用单证书,除了自己谁也无法解密(理论上如此),不利于国家安全。因此某些国家法律规定使用双证书。如果拥有加密证书的私钥,可以进行实时监控。

加密证书和私钥的生成过程

  • 用户产生签名密钥对,生成签名证书的请求(p10数据),发送签名证书给CA
  • CA验证用户的签名密钥对,产生加密证书和private.data(加密私钥的密文)
  • private.data的生成过程
    • CA生成对称密钥,使用用户的签名公钥加密对称密钥,生成对称秘钥的密文
    • CA使用对称密钥对称加密 与加密证书所对应的私钥,输出加密私钥的密文
    • CA将加密证书、对称密钥密文和加密私钥的密文 返还给 用户,其中一般将对称密钥密文和加密私钥的密文混合在一起,形成单一文件,统称为P10数据
  • 用户使用签名私钥解密对称密钥的密文得到对称密钥
  • 用户使用对称密钥解密加密私钥密文,得到加密私钥的明文

 国标文档

  • GMSSL - 国密SSL实验室
    • 智能密码钥匙密码应用接口规范
    • 智能密码钥匙密码应用接口数据格式规范

相关函数接口

  • 省去了前提函数,比如连接设备、创建应用、创建容器等

  •  受保护的加密密钥对??研究

 两种思路(未确定可行性)

  • 核心问题:私钥的存储格式?key?
  • 当时使用吉大正元的PKI进行证书导入的时候,一键导入过程中USBKey和PKI二者的工作是什么呢?结合SKF接口来看,很有可能USBKey首先使用生成ECC签名密钥对(GenECCKeyPair),然后PKI侧生成签名证书,USBKey使用(ImportCertificate)先导入签名证书;然后PKI再次生成加密私钥和加密证书,USBKey使用导入ECC加密密钥对(ImportECCKeyPair),再使用(ImportCertificate)导入加密证书。
  • 但是PKI对外是不提供私钥的导出,私钥只能是以private.data的密文形式存在
  • 或者,加上生成private.data以及解密private.data推导加密私钥这一步,但是感觉这样比较繁琐

吉大正元(可行性大)

  • 本地使用openssl生成一个sm2的私钥,并生成req请求(p10数据),将其作为申请书内容,进行证书的下载_MY CUP OF TEA的博客-CSDN博客_openssl生成p10
  •  按照 加密证书和私钥的生成过程 的完整流程严格执行,得到所有的文件
    • 签名私钥 签名公钥 签名证书
    • 加密私钥 加密公钥 加密证书

 偷奸取巧(可行性低)

  • 本地生成CA,分别生成签名和加密两套提下的相关文件,即私钥、公钥、证书等
  • 在申请证书的阶段,将相关字段设置成一致的,是否从逻辑上将其划分为签名和加密?
  • 然后USBKey直接导入两对私钥和证书
  • **感觉不可行,毕竟从skf接口来看,签名私钥只能由USBKey内部产生,加密私钥和加密证书是通过和PKI进行协商生成的(欧待解决)

自我理解(存疑)

  • 签名证书是需要PKI里面的CA生成的,生成时需要填入的参数是基于客户端生成的P10申请
  • 意味着,签名 和 加密 两组密钥均对应同一个 P10申请
  • 生成ECC签名密钥对(GenECCKeyPair);导入ECC加密密钥对(ImportECCKeyPair);分别导入不同类型(签名/加密)的证书(ImportCertificate);但是不知道思路是否正确;需要进一步确认:1,证书导入,除了导入证书,还存储其余的数据是什么?也就是私钥的存储格式,以key 还是 private.data 的形式存储;感觉是key,毕竟签名阶段没有涉及到private.data,private.data只是对传输加密私钥的保护

参考链接

  • USBKEY全解析---证书导入(java)_liujoi的博客-CSDN博客_usbkey证书
  • 国密gmtls协议-双证书体系的服务端和客户端通信代码_MY CUP OF TEA的博客-CSDN博客_gmtls

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

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

相关文章

力扣刷题记录141.1-----34. 在排序数组中查找元素的第一个和最后一个位置

目录一、题目二、代码三、运行结果一、题目 二、代码 class Solution { public:vector<int> searchRange(vector<int>& nums, int target) {int i,j;int left,right,middle;vector<int> return_vector(2,-1);if(nums.size()<3){for(i0;i<nums.si…

mysql转sqlite3实战+部署sqlite3应用

文章目录场景mysql脚本转sqlite31.新建个sqlite3的文件并使用navicat连接准备好mysql并连接上使用navicat数据传输传输完后&#xff0c;设置主键自增修改应用程序1.添加sqlite3的驱动包2.修改sqlite3的jdbc连接配置文件3.全局替换Date类型字段为String类型4.全局替换 sql文件中…

达摩院WIDER FACE榜首近两年人脸检测MogFace CVPR论文深入解读

一、开源 1.&#xff09;论文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2022/papers/Liu_MogFace_Towards_a_Deeper_Appreciation_on_Face_Detection_CVPR_2022_paper.pdf 2.&#xff09;代码模型&#xff1a;ModelScope 魔搭社区 3.&#xff09;可玩应用…

新知实验室_初探腾讯云音视频

本文目标&#xff1a; 了解 TRTC 的基本概念 初步运行 demo 调用 API 完成进入视频房间 完成多人进入同一房间 一、腾讯 TRTC 可能有些同学并不知道 RTC 的相关概念&#xff0c; 这里先简单说一下。 WebRTC(web Real-Time Communication) 是指网站实时音视频通话技术。 这项技…

Shopro商城 高级版 Fastadmin和Uniapp进行开发的多平台商城(微信公众号、微信小程序、H5网页、Android-App、IOS-App)

Shopro商城无加密的开源源码(可用于自营外包项目(多主体)、可用于外包定制开发项目) shopro 商城&#xff0c;一款基于 uni-app 的前端模板商城。目前适配了&#xff08;小程序apph5公众号&#xff09;。 主要功能&#xff1a;登录、注册、签到、富文本、分类、购物车、筛选、…

CI/CD docker compose 部署 humpback - single mode

最近想搭一搭个人服务器&#xff0c;其中有很多东西都是通过 docker 来管理&#xff0c;每次都手动输入命令比较麻烦&#xff0c;需要一个轻量级的容器管理工具来直观轻松的管理容器和镜像。于是便相中了 humpback。 Humpback humpback 相关的详细介绍请自助传送 架构 主要组…

【无线传感器】WSN 查找两个节点之间的最短路径并发送数据(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

前后端分离项目,vue+uni-app+php+mysql教室预约系统设计与实现(H5移动项目)

功能模块 【后台管理功能模块】 系统设置&#xff1a;设置关于我们、联系我们、加入我们、法律声明 广告管理&#xff1a;设置小程序首页轮播图广告和链接 留言列表&#xff1a;所有用户留言信息列表&#xff0c;支持删除 会员列表&#xff1a;查看所有注册会员信息&#xff0c…

【力扣】787. K 站中转内最便宜的航班加权——有向图最短路径

前言 我感觉这题比较有代表性&#xff0c;所以记录一下&#xff0c;这题是加权有向图中求最短路径的问题。 题目 787. K 站中转内最便宜的航班 动态规划 假设有一条路径是[src, i, ..., j, dst]&#xff0c;解法一子问题的定义是[src, i, ..., j]&#xff0c;解法二子问题…

面经汇总--校招--北京顺丰同城

文章目录&#x1f525;1.一面&#x1f525;2.二面&#x1f525;3. 三面&#x1f525;4. 结果&#x1f525;1.一面 你对Spring aop的理解 面向切面编程&#xff0c;可以对某个方法前后加入自己想执行的方法函数。底层是动态代理&#xff0c;默认jdk动态代理&#xff0c;没有实现…

Redis 通用命令(keys,help,mset,exists,expire,ttl,tab补全)

目录 1.help【command】 2.tab自动补全 3. KEYS pattern&#xff08;模板&#xff09;&#xff08;不建议再生产环境上使用&#xff09; 4.del 删除指定的key&#xff0c;value也会删除&#xff08;也可以批量删除&#xff09; 5.MSET&#xff08;批量插入键值对&#xf…

【C语言】反序加密(非文件)

《算法集训传送门》 &#x1f449;引言 铭记于心&#x1f389;✨&#x1f389;我唯一知道的&#xff0c;便是我一无所知&#x1f389;✨&#x1f389;&#x1f496; ❄️我们的算法之路❄️&#x1f496;众所周知&#xff0c;作为一名合格的程序员&#xff0c;算法 能力 是不可…

Python OpenCV实现鼠标绘制矩形框和多边形

Python OpenCV实现鼠标绘制矩形框和多边形 目录 Python OpenCV实现鼠标绘制矩形框和多边形 1. OpenCV鼠标事件操作说明 &#xff08;1&#xff09;setMouseCallback函数说明 &#xff08;2&#xff09;回调函数onMouse说明 &#xff08;3&#xff09;event 具体说明&…

Flutter高仿微信-第24篇-隐私政策

Flutter高仿微信系列共59篇&#xff0c;从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图&#xff1a; 实现代码&#xff1a; /*** 显示服务条款、隐私政策对话框*/ static void show…

如何修复老照片?这三个方法建议收藏

当你在图书馆查阅一些资料时&#xff0c;会发现里面有许多的老照片&#xff0c;通过这些老照片我们能大概了解到那个时期的建筑特色、人们的穿衣特色等等。但由于那个时候的照片只有黑白&#xff0c;再加上时间悠久&#xff0c;老照片已经过于模糊了&#xff0c;影响到我们进行…

线性回归的梯度下降法——机器学习

一、实验内容 理解单变量线性回归问题&#xff1b;理解最小二乘法&#xff1b;理解并掌握梯度下降法的数学原理&#xff1b;利用python对梯度下降法进行代码实现&#xff1b; 二、实验过程 1、算法思想 梯度下降法是一阶最优化算法。 要使用梯度下降法找到一个函数的局部极小值…

Docker学习(3)—— 将容器转化为新的镜像,并将新镜像发布到阿里云公共仓库或私有仓库

一. 将容器转化为镜像 使用docker pull命令从远程仓库下载的镜像为base镜像&#xff0c;只具有最小的内核。我们可以在base镜像上安装其他工具&#xff0c;将其生成为一个新的镜像。相当于可以在原始的基础镜像上一层一层添加。 例如&#xff1a;下载一个centos的镜像&#x…

kibana 操作elasticsearch索引

前言 使用kibana可以很方便的对es进行各种操作&#xff0c;比如创建索引&#xff0c;删除索引&#xff0c;查询文档等&#xff0c;本篇先演示如何基于kibana 对es的索引进行常见的操作。 环境准备 请提前安装好es和kibana&#xff0c;可以参考 docker搭建es kibana操作es索引…

进销存商城前几名的运营方法|三招提高微信商城用户黏性

你有没有感到奇怪&#xff0c;明明是差不多装修&#xff0c;为什么有的微信商城只能和用户做成“单次消费行为”&#xff0c;但有的微信商城能让用户在他家复购一次两次三次&#xff1f; 这其实都跟用户忠诚度有关。进入存量时代后&#xff0c;维护好老用户就成为门店经营不可…

如何配置 ESXi 主机管理网络?

配置 ESXi 主机管理网络 VMware ESXi管理网络提供ESXi主机和客户端之间的通信。在服务器上安装 ESXi 虚拟机监控程序后,将通过动态主机配置协议(DHCP)获得ESXi管理IP。你可能需要配置ESXi主机的静态管理IP和主机名。按照以下指南配置ESXi管理网络,以便你可以通过域名而不是…