一种轻量级的SM2国密证书的生成方法和系统技术方案

技术编号:29526832 阅读:42 留言:0更新日期:2021-08-03 15:13
一种轻量级的SM2国密证书的生成方法和系统,其中的方法包括:对X.509数字证书进行压缩,仅保留合规SM2国密证书所要求的最少内容;然后基于简明二进制对象表示(CBOR,Concise Binary Object Representation)编码格式,对证书进行进一步压缩和重新编码,得到轻量级的SM2国密证书。通过本发明专利技术提供的生成方法得到的SM2国密证书,其大小得到了有效的缩减,从而使得物联网设备在使用SM2国密证书进行身份认证时的通信开销、功耗、延迟和所占用存储空间都能够有效减少,提升了性能。

【技术实现步骤摘要】
一种轻量级的SM2国密证书的生成方法和系统
本专利技术涉及信息安全
,具体涉及一种轻量级的SM2国密证书的生成方法和系统。
技术介绍
X.509是密码学里公钥证书的格式标准。公钥证书,又称数字证书,是用来证明公开密钥拥有者的身份的电子文件,此文件包含了公钥信息、拥有者身份信息(主体)、以及数字证书认证机构(发行者)对这份文件的数字签名,以保证这个文件的整体内容正确无误。目前互联网上使用的数字证书标准是X.509v3版本,于2008年发布在IETFRFC5280。X.509证书内容的编码方法是ASN.1标准的DER(DistinguishedEncodingRules,唯一编码规则)编码。我国在X.509证书格式标准的基础上,于2012年发布了基于SM2密码算法的数字证书格式(相关国家标准见于GM/T0015、GM/T0043、GB/T20518),称为SM2国密证书。SM2国密证书使用SM2公钥和签名算法,但SM2国密证书的编码方法仍是ASN.1标准的DER编码。ASN.1标准的DER编码可以将数字证书、密钥等数据进行二进制序列化本文档来自技高网...

【技术保护点】
1.一种轻量级的SM2国密证书的生成方法,所述SM2国密证书基于X.509数字证书设计,其特征在于,所述生成方法包括:/n对X.509数字证书进行压缩,仅保留合规SM2国密证书所要求的最少内容,得到SM2CertTiny证书,所述SM2CertTiny证书为一轻量级的X.509数字证书;/n基于简明二进制对象表示CBOR编码格式,对所述SM2CertTiny证书进行进一步压缩和重新编码,得到所述轻量级SM2国密证书。/n

【技术特征摘要】
1.一种轻量级的SM2国密证书的生成方法,所述SM2国密证书基于X.509数字证书设计,其特征在于,所述生成方法包括:
对X.509数字证书进行压缩,仅保留合规SM2国密证书所要求的最少内容,得到SM2CertTiny证书,所述SM2CertTiny证书为一轻量级的X.509数字证书;
基于简明二进制对象表示CBOR编码格式,对所述SM2CertTiny证书进行进一步压缩和重新编码,得到所述轻量级SM2国密证书。


2.如权利要求1所述的生成方法,其特征在于,所述基于简明二进制对象表示CBOR编码格式,对所述SM2CertTiny证书进行进一步压缩和重新编码,包括:
省略SM2CertTiny证书中有固定的值的字段;
省略SM2CertTiny证书中,值可以直接根据其他字段的值计算得到的字段;
对剩余的字段,省略字段值中的固定内容,并基于简明二进制对象表示CBOR编码格式进行重新编码。


3.如权利要求2所述的生成方法,其特征在于,所述SM2CertTiny证书包括以下字段:版本号version、证书序列号serialNumber、签名算法标识符signature、颁发者issuer、有效期validity、主体subject、主体公钥信息subjectPublicKeyInfo、颁发机构密钥标识符authorityKeyIdentifier、主体密钥标识符subjectKeyIdentifier、密钥用途keyUsage、证书撤销列表分发点CRLDistributionPoints、签名算法标识符signatureAlgorithm和签名值signatureValue。


4.如权利要求3所述的生成方法,其特征在于,所述省略SM2CertTiny证书中有固定的值的字段包括:省略版本号version、省略签名算法标识符signature、省略签名算法标识符signatureAlgorithm;
所述省略SM2CertTiny证书中,值可以直接根据其他字段的值计算得到的字段包括:省略颁发机构密钥标识符authorityKeyIdentifier和主体密钥标识符subjectKeyIdentifier。


5.如权利要求4所述的生成方法,其特征在于,所述对剩余的字段,省略字段值中的固定内容,并基于简明二进制对象表示CBOR编码格式进行重新编码,包括:
将证书序列号serialNumber由整型数字编码为字节数组;
对于颁发者issuer,仅保留CN=[issuer-name]/C=CN格式中的[issuer-name]内容,并编码为UTF8字符串;
对于有效期validity,将其中的notBefore字段和notAfter字段都转换为整数值,并编码为32bit无符号整数,转换公式为:
n=SS+60*(MM+60*(HH+24*(dd+32*(mm+13*yy)))),其中n为转换后的整数值,notBefore字段和notAfter字段均符合"yymmddHHMMSSZ"格式,SS、MM、HH、dd、mm、yy为"yymmddHHMMSSZ"格式中对应的值;
对于主体subject,仅保留CN=[subject-name]/C=CN格式中的[subject-name]内容,并编码为UTF8字符串;
对于主体公钥信息subjectPublicKeyInfo,仅保留SM2公钥对应的椭圆曲线上的点的x坐标值和y坐标奇偶性的标记值,并编码为33字节的字节数组,其中x坐标值占32字节,y坐标奇偶性的标记值占1字节;
对于密钥用途keyUsage,省略其中表示类型的字节,仅保留余下的2字节,并编码为2字节的字节数组;
对于证书撤销列表分发点CRLDistributionPoints,仅保留http://[example.com/xx.crl]格式中的[example.com/xx.crl]内容,并编码为UTF8字符串;
对于签名值signatureValue,省略其前面的长度信息和填充信息,仅保留SM2签名值,共64字节,并编码为64...

【专利技术属性】
技术研发人员:陈平谢东峰樊俊锋李志奇
申请(专利权)人:深圳市纽创信安科技开发有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1