买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于标识的ECC密钥对生成方法_南京讯石数据科技有限公司_202110852479.1 

申请/专利权人:南京讯石数据科技有限公司

申请日:2021-07-27

公开(公告)日:2024-03-08

公开(公告)号:CN113595723B

主分类号:H04L9/08

分类号:H04L9/08;H04L9/30

优先权:

专利状态码:有效-授权

法律状态:2024.03.08#授权;2021.11.19#实质审查的生效;2021.11.02#公开

摘要:本发明涉及一种基于标识的ECC密钥对生成方法,属于信息安全技术领域。该方法包括以下步骤:S1:主密钥集的生成;S2:终端私钥的生成;S3:终端公钥的生成。本发明将标识密钥的优势应于ECC密钥对的生成,解决了ECC密钥的管理难题,其体系简单,实现了标识即密钥,是轻量化的密钥管理方法,建设与运维成本仅为CA体系的14,是物联网领域非常理想的密钥管理体系和方法。

主权项:1.一种基于标识的椭圆曲线密码ECC密钥对生成方法,其特征在于:该方法包括以下步骤:S1:主密钥集的生成;S2:终端私钥的生成;S3:终端公钥的生成;所述S1中,密钥管理中心根据业务需求设定椭圆曲线参数,椭圆曲线参数包括:有限域Fp中元素的个数p;有限域Fp的元素a和b,用于定义Fp上的一条椭圆曲线E;椭圆曲线的一个基点G,G的阶为素数;基点G的阶n,n是#EFp的素因子;其中#无实际含义;椭圆曲线参数设定后,在密钥中心的硬件密码设备生成m个随机数,其中m是2的次方数,m=2q,q为整数,m≥4,记为mski,满足0≤i<m,i表示主私钥集中的第i个元素;将这m个随机数按照线性加密存储于密码设备的密钥安全区,为主私钥集,记为msks,主私钥集的存储与使用仅限于密码设备内,主私钥集的任何元素禁止外部访问;所述主私钥集计算得到主公钥集,计算方法为:在密码设备内依次取出主私钥集中的第i个元素密文并解密得到mski,然后根据椭圆曲线密码多倍点算法计算其对应的公钥,即MPKi=mski·G,MPKi是椭圆曲线基点G的mski倍点,mski和MPKi构成椭圆曲线的密钥对;将所计算得到的主公钥元素依次输出按线性存储于文件中,由m个主公钥元素所组成的文件为主公钥集,记为MPKS,主公钥集是能够公开的;所述S2中,终端私钥的生成是由终端、密钥中心和存储主私钥集的硬件密码设备三方协同完成,终端私钥只有终端所有,密钥中心无法知道终端的私钥,具体包括以下步骤:S21:设备标识为IDA的终端设备生成随机数r1,并通过终端私钥因子生成函数得到IDA所对应的私钥因子skA,skA=fAr1,IDAmodn,将私钥因子skA其加密保存于终端设备安全区;fA表示杂凑函数一,包括SM3和SHA256,将随机数r1和标识IDA连接的字符串计算杂凑得到skA;r1是随机数,n是#EFp的素因子;S22:终端设备根据椭圆曲线密码多倍点算法计算终端私钥因子skA所对应的公钥因子PKA,其中PKA=skA·G;S23:终端设备将标识IDA和PKA发给密钥管理中心;S24:密钥管理中心作为协同参与方,也生成密钥中心针对IDA的私钥因子和对应的公钥因子,即密钥中心生成随机数r2,再根据中心私钥因子生成函数得到IDA所对应的私钥因子skS,即skS=fSr2,IDA,Tsmodn,fs是杂凑函数二,其中TS为密钥中心的当前时间;S25:密钥中心根据椭圆曲线密码多倍点算法计算中心私钥因子所对应的公钥因子PKS,其中PKS=skS·G;S26:密钥中心计算自定义公钥SPKA,SPKA=PKS+PKA;再根据标识IDA和自定义公钥计算基于标识的映射序列,计算公式为α=fKIDA,SPKA,其中fk是基于杂凑算法的消息认证码HMAC函数,SPKA为密钥,IDA为消息;再将α分组,分组记为δx,0≤x<g,其中x为整数,g为分组数;初始化密钥中心时设置g;通过映射变换函数确定偏移量Ox,其中Ox=foδxmodm,fo是偏移量求解函数,即计算每个分组Ox所对应的值;S27:在硬件密码设备中将所得到的g个偏移量分别从主私钥集中选择g个元素,记为msk0,msk1,...,mskg-1,并将其模加得到设备标识IDA所对应的标识私钥,即S28:硬件密码设备输出标识私钥给密钥中心,密钥中心与定义的私钥因子skS复合得到中心复合私钥,即cskA=iskA+skSmodn;S29:密钥中心将中心复合私钥cskA和自定义公钥SPKA通过安全通道返回给终端设备,并在终端设备与设备私钥因子复合得到最终的终端私钥,即tskA=skA+cskAmodn,并将终端私钥tskA加密存储于设备安全密钥区,同时将自定义公钥SPKA保存在设备数据区;所述S3中,终端公钥是与存储在终端设备中终端私钥相对应的,由终端标识与主公钥集计算得到标识公钥,再与自定义公钥复合所得到;终端间的安全认证是终端A对终端B所给的挑战数据签名,并将签名数据发终端B进行签名验证,签名数据中包括终端A的标识IDA、签名值sig和终端A的自定义公钥SPKA;终端B验证签名前需先生成终端A的公钥,终端A的公钥的生成方法具体包括以下步骤:S31:根据标识IDA和自定义公钥SPKA计算基于标识的映射序列,即α=fKIDA,SPKA,再将α分组,分组记为δx,0≤x<g,其中x为整数,g为分组数,初始化密钥中心时设置g,通过映射变换函数确定偏移量Ox,其中Ox=foδxmodm;通过映射变换函数确定偏移量Ox,其中Ox=foδxmodm,fo是偏移量求解函数,即计算每个分组Ox所对应的值;S32:将所得到的g个偏移量Ox分别从主公钥集中选择g个元素,记为MPK0,MPK1,...,MPKg-1,并将所得g个元素相加得到终端A标识IDA所对应的标识公钥,即S33:将标识公钥IPKA和自定义公钥SPKA进行复合,得到终端A所对应的公钥,即TPKA=IPKA+SPKA。

全文数据:

权利要求:

百度查询: 南京讯石数据科技有限公司 一种基于标识的ECC密钥对生成方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术