[发明专利]一种基于SOTP技术对私钥乘加密的SM2同态签名方法有效
申请号: | 201911212116.0 | 申请日: | 2019-12-02 |
公开(公告)号: | CN110971411B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 王杰勋;唐天其;马圣东 | 申请(专利权)人: | 南京壹证通信息科技有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/00;H04L9/40 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210000 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sotp 技术 私钥乘 加密 sm2 同态 签名 方法 | ||
1.一种基于SOTP技术对私钥乘加密的SM2同态签名方法,其特征在于:
用户的私钥使用模乘加密后保存在客户端,客户端可周期性的对私钥做模乘加密更新私钥密文,签名时无需解密私钥密文,直接使用私钥密文进行签名;基于动态可重构的密码体制SOTP算法、签名私钥密文生成时的时间戳,融合用户口令特征值,计算出一个乱数u,使用u对原来存储的私钥密文做模乘加密,然后用SOTP算法根据上一次加密的签名私钥密文生成时的时间戳恢复出上次加密乱数u`,模乘u`的逆元得到新的私钥密文u.dA;
客户端做签名操作时使用最新的签名私钥密文做签名运算;验证签名的时候验签服务中心接收用户标识uid,签名私钥密文生成时的时间戳T、公钥证书、签名值、签名数据;使用SOTP算法恢复出对应用户的私钥模乘加密时用到的乱数u,用该乱数与原始公钥做倍点计算得到验签公钥,用验签公钥来验证签名是否合法。
2.根据权利要求1所述的基于SOTP技术对私钥乘加密的SM2同态签名方法,其特征在于:
客户端在每次签名操作前对私钥密文进行更新;客户端保存最近使用模乘加密生成的私钥密文和签名私钥密文生成时的时间戳,签名直接使用私钥密文计算,任何时候私钥明文不会出现;
客户端在签名时使用SOTP算法通过服务中心认证后,保存签名原文摘要和签名私钥密文生成时的时间戳T到服务中心;服务中心验证时查找待验证的签名原文摘要是否有记录,如没有记录则判断签名为非法签名。
3.根据权利要求1所述的基于SOTP技术对私钥乘加密的SM2同态签名方法,其特征在于:
客户端和服务中心的认证和协商乱数算法使用的SOTP算法,在用户端初次注册到系统中的时候,系统根据用户标识uid、客户端设备标识码、用户口令特征值生成对应的算法代码S;认证的时候用此加密算法代码S处理一个输入发送给对方,对方使用自己对应的代码段处理同样的输入,根据处理结果是否相同判断认证是否通过;用算法代码S处理一个约定输入的结果作为协商的共同的乱数数据使用。
4.根据权利要求1至3之一所述的基于SOTP技术对私钥乘加密的SM2同态签名方法,其特征在于,具体步骤为:
步骤一、用户在使用初期,必须在安全环境下向服务中心进行注册,以完成初始化操作;客户端U提供用户标识uid,用户口令特征值P,设备识别码M;服务中心为U产生一个随机密钥即用户密钥k,将用户密钥k注入SOTP算法发生器E,生成一个与用户密钥k相关的加密函数Sk;服务中心存储E、k、uid和M、P,客户端U下载Sk;服务中心每次生成的函数Sk都不相同,动态变化,保证每个用户下载Sk算法各不相同;
步骤二、客户端进行身份认证;
客户端和服务中心进行身份认证后,保存签名原文摘要和签名私钥密文生成时的时间戳T到服务中心,服务中心对通过认证的客户端数据进行记录,认证失败的不予记录;
步骤三、基于动态可重构的密码体制SOTP算法、签名私钥密文生成时的时间戳,融合用户口令特征值,计算出一个乱数u,使用u对原来存储的私钥密文做模乘加密,然后用SOTP算法根据上一次加密的签名私钥密文生成时的时间戳恢复出上次加密乱数u`,模乘u`的逆元得到新的私钥密文u.dA;
基于SM2算法,定义椭圆曲线C,基点G,阶为素数n,
用户私钥:dA∈[1,n-1]是一个大整数,客户端只保存和使用加密后的私钥d'A,其中d'A=u.dA,u由客户端使用可重构的密码体制SOTP算法、签名私钥密文生成时的时间戳,融合用户口令特征值得到;
原始公钥:PA=[dA]G;
使用d'A用SM2标准签名流程步骤生成签名值;
服务中心使用u和原始公钥的倍点计算结果[u]PA作为验签公钥来验证签名;
步骤四、客户端直接使用私钥密文进行签名运算,在客户端保存签名值和私钥密文生成时的时间戳T;
步骤五、服务中心接受签名验证请求,包括公钥证书、签名值、签名私钥密文生成时的时间戳T和签名数据;用户标识uid包含在证书主题项中,根据用户标识uid、签名私钥密文生成时的时间戳T和用户注册时记录的信息恢复出用户SOTP算法代码S,使用算法代码S;根据签名私钥密文生成时的时间戳T,融合用户口令特征值计算出签名时的私钥保护因子乱数u,使用u点倍乘证书中的公钥得到验签公钥[u]PA;用验签公钥按照SM2标准流程进行签名验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京壹证通信息科技有限公司,未经南京壹证通信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911212116.0/1.html,转载请声明来源钻瓜专利网。