往USBKey里面导入双证书专题:概念介绍、执行逻辑
创始人
2024-02-12 03:26:16
0

相关概念

国密证书

  • 国密的双证书体系,将证书按照使用目的的不同划分为加密证书和签名证书两种,也就是两对公私钥,二者本质一致,均为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

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...