(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210805840.X
(22)申请日 2022.07.08
(71)申请人 杭州电子科技大 学
地址 310018 浙江省杭州市下沙高教园区2
号大街
(72)发明人 胡海忠 郑秋华 赵治栋 吴铤
周迪 俞荣栋
(74)专利代理 机构 杭州君度专利代理事务所
(特殊普通 合伙) 33240
专利代理师 邬赵丹
(51)Int.Cl.
H04L 9/08(2006.01)
H04L 9/30(2006.01)
(54)发明名称
一种拟态分布式SM9快速标识密钥生 成方法
及系统
(57)摘要
本发明涉及一种拟态分布式SM9快速标识密
钥生成方法及系统。 本发明执行体构建模块生成
异构执行体供执行体调度模块调用, 执行体调度
模块依据调度算法SA调度部分执行体组成服务
体供密钥生成模块使用, 任务分配模块接收标识
密钥生成任务并根据分配算法DA将任务分配给
密钥生成模块中的服务体, 密钥生成模块根据分
布式标识密钥生成算法生 成标识私钥。 本发明引
入拟态异构执行体, 使 得标识密码体制中主私钥
的安全得到保障。 依据门限值选择执行体进行私
钥合成, 提高密钥生成效率。 设定调度周 期对服
务体进行动态更新可提高攻击者的探测难度, 提
高系统的安全性。
权利要求书3页 说明书7页 附图1页
CN 115174069 A
2022.10.11
CN 115174069 A
1.一种拟态分布式SM9快速标识密钥生成方法, 其特 征在于:
具体包括如下步骤:
步骤1、 系统初始化:
首先, 确定执行体构建模块中异构执行体的数量m、 各执行体算力指标{γ1,γ2…rm}、
执行体总异构性 μ; 确定执行体调度模块中系统调 度周期T、 服务体S中执行体的数量n; 确定
密钥生成模块中SM9算法所使用的参数组G、 分布式密钥生成算法的门限阈值t, t<n;
其中, 异构执行体的数量m≥n+1, 执行体算力指标
cpu
核心数由执行体的cpu硬件决定, IO耗时为执行体进行通信需要的时间, CPU耗时为执行体
进行计算需要的时间; 系统调度周期T为更 换服务体S中执 行体的周期;
然后, 构建异构执行体集: 每层软件确定两个以上的产品版本组成该软件的构件集; 在
满足软件兼容性的前提下对构件集中的产品版本进 行组合, 共组建出m个异构执行体, 构成
系统的异构执行体集; 每个执行体包括一种操作系统、 一种数据库软件、 一种服务器软件和
一种后台脚本语言;
步骤2、 系统运行: 在确定各项系统参数后, 执行体调度模块执行调度算法SA, 任务分配
模块执行分配算法DA, 系统开始进行 标识密钥生成任务, 具体步骤如下:
步骤2.1、 执行体调度模块首先从执行体集中随机选择n个执行体{E1,E2…En}, 并使用
Jaccard距离计算n个执行体的异构性 μn; 若 μn< μ, 则重新选择执行体, 直至 μn≥μ; n个执行体
组成服务体S;
步骤2.2、 标识密钥生成模块首先确定SM9的主私钥msk, msk由服务体S中的n个执行体
共同确定; 具体为: 每个执行体各自选取一个随机值xi, 然后以重复秘密分享的形式分享给
其他n‑1个执行体; 每个执行体都将获得n个重复秘密分享的分片, 每个执行体将所有秘密
分片相加得到全局重复秘密分享的分片σi, 该分片组合成秘密σ =x1+x2…+xn; 每个执行体
再将xi作为输入, 在本地运行秘密分享分片转换算法, 最终每个执行体都持有主私钥分片
{msk1,msk2…mskn}; 秘密恢复门限值为t, 即只有得到t 个msk秘密分片才能算出真正的主私
钥msk;
步骤2.3、 任务分配模块分配私钥生成任务: 任务分配模块收到标识密钥生成任务后,
会将标识发送给所有执行体, 且会根据分配算法DA指定部分执行体进行私钥片段合成, 未
被指定的执 行体只会进行部分密钥运 算;
步骤2.4、 密钥生成模块处理私钥生成任务: 私钥生成共分为两个步骤, 第一步所有服
务体S中的执行体都会参与, 每个执行体根据收到的任务标识 ID, 最终会生成一个门限值为
2t的伪随机Shamir秘密分片zi, 并完成秘密共享得到秘密z; 第二步只有标记过的执行体参
与, 每个执行体最终会生成一个标识ID的私钥片段
并发给密钥组合中心; 密钥组合中心
根据收到的私钥片段合成完整的私钥;
步骤3、 系统重置: 当系统运行周期T后, 对系统服务体S中的执行体进行清洗更换; 具体
步骤如下:
步骤3.1、 停止私钥生成任务的接收, 转至步骤2.1重新选取n个执行体{E1′,E2′,,,
En′};
步骤3.2、 当前服务体S中的执行体{E1,E2,,,En}保存的{xi,mski}依次传递给新执行体权 利 要 求 书 1/3 页
2
CN 115174069 A
2{E1′,E2′,,,En′}, 新执行体重新组成服 务体S; 重 置执行体{E1,E2,,,En}并放回执 行体集中;
步骤3.3、 重新 开始私钥生成任务的接收, 并转至步骤2.3 。
2.如权利要求1所述的拟态分布式SM9快速标识密钥生成方法, 其特征在于: 所述的执
行体总异构性μ根据构建出的执行体集进行计算, 使用Jaccard距离衡量执行体间的异构
性, 执行体总异构性
其中m为系统异构执行体数, C为组合
数计算, Jac(Ei,Ej)表示计算执 行体Ei和Ej之间的Jac card距离 。
3.如权利要求1所述的拟态分布式SM9快速标识密钥生成方法, 其特征在于: 所述的步
骤2.3具体包括如下步骤:
步骤2.3.1、 任务分配模块保存有当前服务体S中所有执行体的空余算力数{a1,a2…am}
和已用算力数{b1,b2…bm}, 其中算力指标γi=ai+bi; 分配算法DA首先根据空余算力数对执
行体进行从大到小排列, 依次取前t个执行体; 若选择过程中出现空余算力数相等的情况,
则根据已用算力数从小到大排列, 依次进行选取; 若已用算力数仍相等, 则随机选取; 最终
分配算法选出t个执 行体并标记, 并将这t个执 行体已用算力数加一, 空余 算力数减一;
步骤2.3.2、 任务分配模块将任务 中的标识ID以及 执行体标记信息发送给服务体S中的
所有执行体。
4.如权利要求1所述的拟态分布式SM9快速标识密钥生成方法, 其特征在于: 所述的步
骤2.4具体包括如下步骤:
步骤2.4.1、 每个执行体收到任务标识ID后, 计算yi=mski+H(ID), 其中mski为执行体Ei
持有的主私钥分片, H(ID)是SM9算法中指定的杂凑函数, 计算结果yi也是一个门限值为t的
Shamir秘密分片;
步骤2.4.2、 每个执行体在本地运行一次秘密分享分片转换算法, 将持有的重复秘密分
享分片σi转换成伪随机Shamir秘密分片ri, ri是r的门限值 为t的Shamir秘密分片;
步骤2.4.3、 n个执行体共同运行一次半诚实的分布式多方乘法协议分享zi=yi*ri, 最
终每个执行体都能通过拉格朗日插值法得到秘密y和 秘密r的乘积z=y*r; 此时, 未标记的
执行体停止当前任务, 并开始处 理新任务; 标记过的执 行体继续以下步骤;
步骤2.4.4、 每个执行体计算ωi=1‑H(ID)*ri/z, ωi即为秘密msk/(msk+H(ID))的
Shamir秘密分片;
步骤2.4.4、 每个执行体将ωi与SM9算法指定的椭圆曲线的生成元进行一次数乘, 得到
一个新的椭圆曲线上的点, 即
即为关于标识ID私钥SID的Shamir秘密分片;
最后将
发送给密钥组合中心;
步骤2.4.5、 密钥组合中心共得到t份SID的Shamir秘密分片, 最终通过拉格朗日插值法
得到标识ID的私钥SID;
步骤2.4.6、 密钥组合中心将标识ID的私钥生成结果反馈给任务分配模块, 任务分配模
块收到反馈结果, 将该任务标记的执行体对应的已用算力数减一, 空余算力数加一; 同时,
若标识ID的私钥生成失败, 则重新分配该任务。
5.如权利要求1所述的拟态分布式SM9快速标识密钥生成方法, 其特征在于: 基于如下
系统实现, 该系统包括执 行体构建模块、 执 行体调度模块、 任务分配模块、 密钥生成模块;
执行体构建模块: 负责从不同构件集中选择相应构件组成不同的异构执行体, 每个执权 利 要 求 书 2/3 页
3
CN 115174069 A
3
专利 一种拟态分布式SM9快速标识密钥生成方法及系统
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 04:05:30上传分享