商用密码应用与安全性评估要点笔记(SM9数字签名算法)

1、SM9标识密码算法简介

        首先有几个概念需要弄清楚:

        (1)标识identity,可以唯一确定一个实体身份的信息,且实体无法否认。比如身份证号、手机号、邮箱等。

        (2)主密钥master key MK,密码分层结构中最顶层的密钥,这里是非对称密钥就包括主私钥(由KGC随机数生成,不公开)和主公钥(由主私钥结合系统参数生产,公开)。同时,根据签名和加密用途的不同,主密钥也要分为签名主密钥对和加密主密钥对。

        (3)密钥生成中心Key generation center KGC,负责选择系统参数,生成MK并产生用户私钥的可信机构。注意在IBC体系中,KGC必须是可信的。

        (4)基于标识的密码技术identity-based cryptography IBC,是公钥密码或者非对称密码技术的一种。理论上是利用椭圆曲线双线性对。用户的公钥由用户标识和一组公开的数学参数计算得到,用户私钥则是由用户标识、一组公开的数学参数和一个域范围内的秘密值计算得到。

        (5)用户签名密钥对,包括签名私钥和公钥,其中私钥由KGC产生并下发给用户,用于数字签名和验签。

        (6)用户加密密钥对,包括加密私钥和公钥,其中私钥由KGC产生并下发给用户,用于加密、解密和密钥协商。

        IBC主要解决在具体安全应用中PKI需要大量交换数字证书的问题,使安全应用更加易于部署和使用。基本功能包括:数字签名和验证、数据加密和解密、密钥协商、密钥封装与分发。

        我国密码行业标准与SM9算法相关包括:

        GMT 0044.1-2016 SM9标识密码算法

        GMT 0044.2-2016 SM9 标识密码算法 第2部分:数字签名算法

        GMT 0044.3-2016 SM9 标识密码算法 第3部分:密钥交换协议

        GMT 0044.4-2016 SM9 标识密码算法 第4部分:密钥封装机制和公钥加密算法

        GMT 0044.5-2016 SM9 标识密码算法第5部分:参数定义

        GMT 0080-2020 SM9密码算法使用规范

        GMT 0085-2020 基于SM9标识密码算法的技术体系框架

        GMT 0086-2020基于SM9标识密码算法的密钥管理系统技术规范

        SM9算法中主私钥长度256bit、主公钥长度(签名主公钥-1024bit,加密主公钥512bit);用户私钥长度(签名私钥-512bit,加密私钥-1024bit),用户公钥长度(签名公钥-1024bit,加密公钥-512bit)。

        具体SM参数定义如下:

        商用密码应用与安全性评估要点笔记(SM9数字签名算法)_第1张图片

         商用密码应用与安全性评估要点笔记(SM9数字签名算法)_第2张图片

 2、SM9数字签名算法

        签名方拥有的原始数据包括有系统参数、签名主公钥、明文消息和用户签名密钥,签名流程如下。

       商用密码应用与安全性评估要点笔记(SM9数字签名算法)_第3张图片

        验证方拥有的原始数据则包括系统参数、签名主公钥、识别符、标识、消息明文及相应的数字签名,验签流程如下。

        商用密码应用与安全性评估要点笔记(SM9数字签名算法)_第4张图片

3、SM算法安全性

        SM9采用256比特素域上的椭圆曲线时,离散对数的复杂性约为2的128次方基本运算,破解难度大大增加。同时,SM9的安全性也和嵌入次数有关,嵌入次数越大安全性越高,目前采用的次数适中。

你可能感兴趣的:(#,密码基础,#,密码应用安全性评估,安全,密码学,网络安全,系统安全,安全威胁分析)