SKF密码设备研究

密码设备

mToken GM3000 国密身份认证锁是龙脉科技自主研发设计支持国密算法、完全遵照国家密码管理局颁布的《智能IC卡及智能密码钥匙密码应用接口规范》要求设计的USB Key,采用国产高性能智能卡芯片,内置SSF33、SM1、SM2、SM3、SM4等国产算法,支持高速数据国密算法加解密,提供CSP以及PKCS11和国密接口,完全符合国家密码管理局关于“密钥不落地”的技术规范要求,是电子政务、电子军务、CA厂商首选的USB Key产品。

适用范围:主要是用作基于公钥体系PKI的数字证书和私钥的安全载体。

使用目的:学习使用key导入数字证书等功能

SKF密码设备

SKF密码设备使用的是SKF接口,SKF接口是国密标准中智能密码钥匙的C语言应用开发接口标准,目前很多国内密码密码设备厂商都为其产品提供了SKF接口的开发包。开发者可以通过统一的SKF接口开发密码应用,访问来自不同设备供应商的USB-Key、TF卡、智能卡等不同形态的密码设备,而无需和某一个设备供应商的专属设备或专属接口绑定。

GmSSL项目从2.0版本开始,以Engine的方式增加了对SKF设备的完善支持。GmSSL通过在libcrypto密码库中引入SKF框架,实现了对不同厂商SKF设备的支持。通过将SKF接口封装为SKF Engine,使得上层应用和SSL库可以直接通过EVP接口动态调用不同SKF设备。

GmSSL通过ENGINE机制支持密码硬件。鉴于《智能IC卡及智能密码钥匙密码应用接口规范》标准中公布了访问国密硬件的C语言API (下面简称SKF API),GmSSL通过ENGINE机制访问支持国密SKF API的国产密码硬件。一个SKF API设备中可以包含一个或多个应用(Application),每个应用可以包含一个获多个容器(Container),每个容器中可以存放两对分别用于加密和签名的密钥对,以及两个相应的证书或证书链。每一个容器只能为ECC或RSA一种类型,一个容器中不能混用ECC密钥和RSA密钥。

SKF密码设备管理

通过gmssl命令行工具的skf命令可以访问和管理SKF设备,通过gmssl的pkey、pkeyutl和req等命令及SKF引擎可以密码计算、公钥导出、证书生成等功能。我按照文章http://gmssl.org/docs/skf.html所介绍的方法,对mToken GM3000在Linux下进行管理,需要在Linux下先安装mToken GM3000的驱动程序。

dpkg -i LM-mPluginV4-V4.0.0.0.amd64.deb 命令用来安装插件

插件安装成功后,要想进行设备管理,需要获得由厂商提供的针对该类型设备的动态库,这个动态库通常随厂商的开发SDK提供,在Linux操作系统中以so为扩展名,在skf命令中,通过参数-lib指定厂商的SKF动态库。刚开始我并没有找到厂商提供的动态库,在网页中的命令如下:

$ ln -s /path/to/vendors/skf/libSKF.so ./libskf.so
$ gmssl skf -lib ./libskf.so -vendor wisec -listdevs
Device 0 : /media/guanzhi/99E1-9854
其中,-lib参数用来指定厂商的SKF动态库,在提供的中间件文件夹中mToken-GM3000中的skf\api\linux\x86,最后找到了该动态库名为libgm3000.1.0.so。所以对该动态库进行重命名,用./libskf.so命名。

查看skf的相关命令gmssl skf -help

后来发现可以使用skf命令查看设备信息等功能

gmssl skf -lib ./libskf.so -vendor wisec -listdevs

gmssl skf -lib ./libskf.so -dev $设备名称 -devinfo


进行应用管理的时候包含创建应用、枚举应用、删除应用。首先,我们可以通过-listapps指令枚举指定设备中的应用,普通用户在拿到设备时,可能已经有预先设备好的应用。

gmssl skf -lib ./libskf.so -dev $DEV -authkey $AUTHKEY -listapps
在文档中看到设备认证的流程:

gmssl skf -lib ./libskf.so -dev $DEV -authkey $AUTHKEY -listapps
使用命令查看设备的应用时,出现错误

秘钥容器管理
SKF设备中以密钥容器的方式管理私钥,一个应用中可以建立多个密钥容器,每个密钥容器中可以装载同类型的2对公私钥对,其中一个为签名密钥对,一个为加解密或密钥交换密钥对。签名密钥对只能在SKF设备内部生成而无法由外部导入,而加解密或密钥交换密钥只能从外部导入而无法在设备内部生成。在完成密钥生成或导入后,密钥对中只有公钥可以导出,私钥是无法导出的。密钥容器还支持证书的存储,一个密钥容器中可以存储两个证书或两条证书链,分别对应两个密钥对。

证书生成
用户秘钥及证书生成过程如下:

mkdir demoCA
cd demoCA
mkdir certs crl newcerts private
touch index.txt
od -vAn -N4 -tx1 < /dev/urandom |tr -d ’ ’ > serial
echo “good” >> testPage.txt
gmssl sm2 -genkey -out private/cakeyGM.pem

生成SM2自签证书作为根CA

gmssl req -new -x509 -key private/cakeyGM.pem -out cacertGM.crt

生成用户SM2密钥对

cd …
gmssl sm2 -genkey -out wzz.com.key

生成证书请求

gmssl req -new -key wzz.com.key -out wzz.com.csr

利用CA进行签名

sudo gmssl ca -in wzz.com.csr -out wzz.com.crt -cert demoCA/cacertGM.crt -keyfile demoCA/private/cakeyGM.pem

验签

gmssl verify -verbose -x509_strict -CAfile demoCA/cacertGM.crt wzz.com.crt

生成PKCS12格式的证书文件

cd demoCA
sudo gmssl pkcs12 -export -in cacertGM.crt -inkey private/cakeyGM.pem -out wzzRootCA.p12

导入证书
登录管理工具

导入证书,选择刚刚在Linux下生成的证书

可以导入PCKS12格式的证书

最后可以实现安装证书

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

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

相关文章

AMBA总线介绍

AMBA总线介绍 系统总线简介 系统芯片中各个模块之间需要要有接口来连接 总线作为子系统之间共享的通信链路 优点&#xff1a;低成本&#xff0c;方便易用 缺点&#xff1a;会造成性能颈瓶 AMBA&#xff1a;Advanced Microcontroller Bus Architecture。片总线的标准 定义了三…

去杠杆高歌猛进,借呗会倒闭吗?

最近马云烦心事貌似挺多的&#xff0c;从收购美国大型汇款公司MoneyGram&#xff08;速汇金&#xff09;被否&#xff0c;到支付宝年度账单默认勾选协议“惹祸”被监管约谈&#xff0c;再到消费金融业务因高杠杆或触及监管红线引发关注&#xff0c;蚂蚁金服的2018年开年看起来不…

贷款杠杆为什么非去不可?危险比你想象的要恐怖

最近金融监管势头很猛&#xff0c;一浪高过一浪&#xff0c;去杠杆&#xff0c;降风险已经成为了当前监管的主调。近日&#xff0c;银监会主席郭树清向媒体透露2018年的监管风向&#xff1a;监管部门要着力抑制居民杠杆率&#xff0c;并提出要坚决打好防范化解重大风险。那为什…

AMBA AHB介绍

AMBA AHB介绍 AHB是为提出高性能可综合设计的要求而产生的新一代AMBA总线。它是一种支持多总线主机和提供高带宽操作的高性能总线。 AMBA AHB实现了高性能&#xff0c;高时钟频率系统的以下特征要求&#xff1a; 突发传输分块处理单周期总线主机移交非三态执行更宽的数据总线…

春节期间,哪些信用卡取现不用手续费?

马上要过年了&#xff0c;用钱的地方多了去&#xff0c;一不小心口袋就变得空空了&#xff0c;如果过年没钱了怎么办呢&#xff1f;借亲戚&#xff1f;能拉下那个脸吗&#xff1f;借贷款&#xff1f;过年期间贷款机构关门歇业&#xff01;打牌赢钱&#xff1f;你想多了&#xf…

涉案金额600万!微粒贷诈骗团伙被警方一锅端

微粒贷诱人&#xff0c;可惜很多人没有&#xff0c;但是为了开通微粒贷&#xff0c;很多朋友使了浑身解数&#xff0c;到最后却发现微粒贷没有开通&#xff0c;却被坑了不少钱。1微粒贷强开团伙很嚣张&#xff0c;骗去600万不吐骨头“你好&#xff0c;我们是‘未来之行’网络公…

一年中什么时候申请房贷最容易下款?

小编有一个朋友&#xff0c;去年9月份在深圳买了一套二手房&#xff0c;去某行申请的贷款&#xff0c;当时银行就说贷款可能没有那么快审批下来&#xff0c;这个朋友也知道当时政策紧&#xff0c;平时20几天就能办理的贷款&#xff0c;可能需要两个月才能办下来&#xff0c;但心…

三极管原理

三极管原理 三极管有三种工作状态&#xff1a;截止区、放大区、饱和区。 截止状态&#xff1a;三极管处于关断状态放大状态&#xff1a;三极管处于电流放大状态。总结&#xff1a;三极管放大状态下IC会随着IB的增大而增大&#xff0c;减小而减小&#xff0c;即IC受控于IB。饱和…

复数幅值近似估计

作者&#xff1a;桂。 时间&#xff1a;2018-01-27 19:52:57 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/8367063.html 前言 本文摘自&#xff1a;《复数信号模值近似计算及硬件实现》 正文 硬件具体实现流程不再赘述。

为什么现在很多人放弃借呗、微粒贷,转向信用卡?

借呗和微粒贷作为网贷界的两大网红&#xff0c;深得大家追棒&#xff0c;甚至有很多朋友不惜冒着被坑的风险要去开通借呗、微粒贷。但是我们会发现&#xff0c;尽管很努力&#xff0c;借呗&#xff0c;微粒贷就是不给有些人开通&#xff0c;时间久了没有借呗或微粒贷的人估计也…

复数相位近似估计

作者&#xff1a;桂。 时间&#xff1a;2018-01-27 19:58:10 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/8367519.html 前言 主要记录几种复数相位计算的方法&#xff0c;暂未做进一步的比较分析。 一、逼近简述 复数相位估计的问题可表述为&#xff1a; 已知z x…

银行不断爆雷,金融业苦日子刚刚开始

都说2017年监管严&#xff0c;贷款界小伙伴们的日子并不好过&#xff0c;原以为2018年来了&#xff0c;借着一个“18”&#xff08;要发&#xff09;这个吉祥数字&#xff0c;监管可能会放松一点&#xff0c;让小伙伴们的业务好做些&#xff0c;能发点小财。可谁也没想到&#…

标志信号(flag)

标志信号(flag) 脉冲标志信号( flag),它可以减少代码中 if 括号内的条件让代码更加清晰简洁,而且当需要在多处使用脉冲标志信号的地方要比全部写出的方式更节约逻辑资源,脉冲标志信号在指示某些状态时是非常有用的,当大家以后在实现相对复杂的逻辑功能时注意想到使用脉…

贷款要排队?今年可能额度都没有!

2017年贷款难一浪高过一浪&#xff0c;很多在2017年没有贷到款的朋友都希望在2018年到来之后能够顺利贷款&#xff0c;因为按照往年的额度指标&#xff0c;年初银行房贷重新“开闸”&#xff0c;额度总是较为宽松的。但是今年貌似有点奇葩&#xff0c;虽然2018年已经开始了&…

FPGA出错的积累

FPGA出错的积累 错误1 出错的原因 语法出错&#xff01;&#xff08;多写或者少写&#xff09; 需要检查的地方 看端口是否正确。端口的位数&#xff0c;以及例化是否对应。看是否满足&#xff0c;assign中的变量是wire类型&#xff0c;always中的变量是reg类型。 笔记1

腾讯信用向全国开放了,据说700分都算低的!

之前腾讯信用只向部分用户开放了公测入口&#xff0c;很多人都不能查&#xff0c;正当大家都希望能早点查询腾讯信用的时候&#xff0c;30号腾讯征信正式向全国开放了&#xff0c;赶紧来看看你是多少分&#xff0c;听说700分都算少的&#xff01;各位查了之后&#xff0c;你的腾…

线性反馈移位寄存器(LSFR)

线性反馈移位寄存器(LSFR) 流密码的流密钥产生器可以通过线性驱动和非线性组合两部分来实现。而线性驱动部分可以由线性反馈移位寄存器(LFSR)来实现。 线性反馈移位寄存器(LFSR):通常由移位寄存器和异或门逻辑组成。其主要应用在:伪随机数,伪噪声序列,计数器,BIST,数…

大批工厂提前20天放假,而大家却都在玩金融

春节快到了&#xff0c;按国家的法定假日&#xff0c;2月15日才正式放假&#xff0c;但是在珠三角打工的很多人都已经提前差不多20天回家&#xff0c;前几天有朋友晒出了广东省佛山市大批工厂提前关门的照片&#xff0c;看完之后我们不禁一身冷汗。平时热闹的工厂&#xff0c;空…

广东网络借贷中介整改验收,留给平台的时间只有8天!

P2P整改最后期限来了&#xff01;2月1日&#xff0c;广东省人民政府金融工作办公室&#xff08;下称“广东金融办”&#xff09;下发《关于进一步做好全省网络借贷信息中介机构整改验收有关事项的通知》&#xff08;下称“通知”&#xff09;。本次通知将按照国家P2P网络借贷风…

借钱合同有哪些陷阱?

&#xff08;1&#xff09;出借人容易遇到的陷阱&#xff1a;(一)借条故意写错名字案例&#xff1a;深圳的李某向朋友王某借款5万元&#xff0c;并写了借条&#xff0c;约定一年后归还欠款及利息总共6万元。但是李某在借条签名上玩了个花招&#xff0c;故意将“李相嬴”写成“李…