CN113079003A - 一种分布式sm9密钥生成方法及系统 - Google Patents

一种分布式sm9密钥生成方法及系统 Download PDF

Info

Publication number
CN113079003A
CN113079003A CN202110324992.3A CN202110324992A CN113079003A CN 113079003 A CN113079003 A CN 113079003A CN 202110324992 A CN202110324992 A CN 202110324992A CN 113079003 A CN113079003 A CN 113079003A
Authority
CN
China
Prior art keywords
key
key generation
private key
center
fragment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110324992.3A
Other languages
English (en)
Inventor
张锐
邹欢
肖禹亭
陶杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202110324992.3A priority Critical patent/CN113079003A/zh
Publication of CN113079003A publication Critical patent/CN113079003A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Abstract

本发明公开了一种分布式SM9密钥生成方法及系统。本方法为:1)通过n个设定的密钥生成中心生成系统公共参数;2)n个所述密钥生成中心共同运行,每一所述密钥生成中心获得一个重复秘密分享分片和主私钥s的一个分片;其中第i个所述密钥生成中心KGCi获得一个重复秘密分享分片σi和主私钥s的分片si;3)每个所述密钥生成中心根据重复秘密分享分片和主私钥s的一个分片,为目标设备生成一个私钥分片并发送给密钥合成中心;其中密钥生成中心KGCi生成私钥分片
Figure DDA0002994259940000011
4)密钥合成中心收到大于或等于t+1个所述私钥分片后进行密钥合成,得到该目标设备的私钥。

Description

一种分布式SM9密钥生成方法及系统
技术领域
本发明属于信息安全技术领域,涉及一种基于多个密钥中心生成SM9用户密钥的方法及系统。
背景技术
在基于身份的密码学系统中不需要管理证书,与传统的基于证书颁发机构(CA)的公钥基础设施(PKI)相比,基于身份的密码系统(IBC)在传输效率和系统设计方面更占优势。例如,可使用密码算法对物联网设备私密数据进行加密。目前,国密SM9算法是我国唯一的基于身份的密码标准。实际中,物联网设备出厂前,由厂商为设备生成设备私钥。另一方面,一旦(厂商)主私钥泄露,所有由该厂商制造的设备将受到影响。因此如何保护主私钥对于SM9算法的安全具有重要意义。
本发明提出一种分布式(t,n)-门限SM9用户密钥生成方法,解决SM9主私钥泄漏造成的用户密钥安全问题。
目前已知一篇期刊论文(许盛伟,任雄鹏,袁峰等.一种关于SM9的安全密钥分发方案.计算机应用与软件,2020,37(01):314-319.)采用让密钥生成中心分享主私钥倒数的方式来分布式生成用户密钥。但他们的方案存在以下三个不足:(1)方案正确性存在问题:虽然该方案能正确提取出用户密钥,但很难从主私钥倒数的分片中提取出主公钥从而提取出用户公钥。而本发明在多个密钥生成中心间分享的是主私钥,可以高效地从主私钥分片中提取出用户的私钥和公钥;(2)方案不完整:该方案并未描述在系统建立阶段,主私钥的倒数是如何在多个密钥生成中心进行分享的。而本发明提出了一个密钥协商协议,主私钥由多个密钥生成中心协商得出无须可信第三方预先分配;(3)方案不高效:该方案的分布式用户密钥提取阶段需要密钥生成中心进行三轮交互,而本发明只需要一轮。
目前已知一项中国专利CN108418686A(一种多分布式的SM9解密方法与介质及密钥生成方法)采用了“分布式门限解密”的方式来保护加密密钥。该发明保护的密钥属于用户层次。而本发明则采用分布式多密钥生成中心形式,保护的是主私钥的安全。一旦主私钥泄露,用户的密钥也会随之泄露。
发明内容
本发明致力于解决中心化密钥生成导致的系统单点失败问题。对于SM9算法而言,单点失败问题的危害性体现在两个方面:(1)主密钥泄露的风险高:一旦唯一的密钥生成中心被攻破,主私钥也会随之泄露;(2)系统鲁棒性差:一旦唯一的密钥生成中心崩溃,整个系统的密钥生成服务也将被迫停止。
本发明采用以下的技术方案:(1)针对潜在的主私钥泄露风险,本发明提出的分布式密钥生成方案将主私钥分成了n个分片,分别由n个子密钥生成中心独立管理。主私钥的泄露需要攻破至少t+1个子密钥生成中心,而在中心化密钥生成的场景下,只需要攻破1个密钥生成中心。相较而言,在分布式密钥生成的场景下,主私钥泄露所需的攻击成本大,泄露风险小;(2)针对单点失败导致的服务不可用问题,本发明提出的分布式密钥生成方案采用(t,n)-门限密钥生成的方式,当宕机的密钥生成中心的个数小于n-2t个时,系统仍能正常提供密钥生成服务。并且系统管理员可以在保证n>2t的前提下自由设置t,n的取值。本发明不但适用于SM9的加密也适用于SM9签名、或密钥协商,能够较好地兼容现有系统。
下面以物联网设备制造为应用场景,结合该场景中涉及的角色及功能,简要介绍本发明提出的SM9分布式密钥生成方案。如图1所示,本发明主要涉及3个实体:密钥生成中心(KGC),密钥合成中心(CC),物联网设备。
1、密钥生成中心(KGC):持有主私钥的分片si。与其它密钥生成中心交互,为物联网设备生成私钥分片
Figure BDA0002994259920000021
密钥生成中心的个数由系统参数n确定,且只有在获得了大于等于t+1个主私钥分片si的情况下,才能重构恢复出主私钥s。
2、密钥合成中心(CC):是一个无状态的实体。与密钥生成中心交互,获取物联网设备私钥的分片
Figure BDA0002994259920000022
并将分片
Figure BDA0002994259920000023
合成完整的设备私钥SID,然后将SID安装到物联网设备上。合成完整的设备私钥SID需要至少t+1个设备私钥分片
Figure BDA0002994259920000024
且密钥合成中心不存储设备私钥SID,安装完成后立即销毁SID
3、物联网设备:是一个存储计算能力都较弱的实体,在出厂之前需要将设备私钥安装好。
本发明提出的分布式SM9密钥生成方法,实现步骤如下:
1、系统初始化:由n个密钥生成中心共同运行,确定系统公共参数。如公开的SM9算法所使用的双线性对参数组
Figure BDA0002994259920000025
,密钥生成中心的个数n(n>0),以及系统门限值t(t≥0)。如果n个密钥生成中心使用的系统参数不一致或条件n>2t不满足,则n个密钥生成中心立刻停止运行。
2、系统建立:由n个密钥生成中心共同运行,确定系统主私钥s。每个密钥生成中心KGCi在运行完此步后将会获得一个私密的重复秘密分享分片σi和一个沙米尔(Shamir)秘密分享分片si,si即主私钥s的分片。KGCi获得σi和si的主要步骤如下:
(1)每个密钥生成中心KGCi先各自在本地选取一个随机值μi,然后以重复秘密分享的形式分享给其它n-1个密钥生成中心。
(2)每个密钥生成中心KGCi分享完自己选的随机值给其它n-1个密钥生成中心后,加上自己选的随机值μi的重复秘密分享分片,每个密钥中心将会获得n个重复秘密分享的分片。然后密钥生成中心KGCi在本地将这n个分片相加,相加的结果就是其获得的全局重复秘密分享的分片σi,该分片分享的秘密是σ=μ12+…+μn,由n个密钥生成中心共同决定。
(3)每个密钥生成中心KGCi再将σi作为输入,在本地运行秘密分享分片转换算法,该算法的输出即是该密钥生成中心KGCi私下持有的主私钥分片si
3、生成设备私钥分片:由n个密钥生成中心共同运行,每个密钥生成中心KGCi将在此步为物联网设备生成一个私钥分片
Figure BDA0002994259920000031
由于SM9算法的用户密钥形式不具有任何同态性质,在为物联网设备生成私钥分片的时候,密钥生成中心之间需要交互需要运行安全多方计算协议,以保证在交互过程中密钥生成中心KGCi的主私钥分片si不会泄露给其它密钥生成中心。涉及的主要步骤如下:
(1)每个密钥生成中心KGCi收到物联网设备的ID后,将自己持有的主私钥分片si与F(ID)相加得到一个Shamir share分片xi=si+F(ID),此xi是秘密s+F(ID)的一个分片,其中F(ID)是一个由SM9算法指定的密码杂凑函数,作用是将物联网设备的ID(一个字符串)映射成一个域元素。
(2)每个密钥生成中心KGCi在本地运行一次秘密分享分片转换算法,输入是重复秘密分享的分片σi,输出是一个伪随机的Shamir share分片ri,此ri是秘密r的一个分片(r是一个伪随机数,由秘密分享分片转换算法和σ生成)。
(3)n个密钥生成中心共同运行一次半诚实的分布式多方乘法协议并在协议中分享Shamir share分片xi和ri的乘积xi·ri,运行完该乘法协议后,每个密钥生成中心KGCi根据自己持有的xi·ri分片和收到的分片进行拉格朗日插值计算得到秘密x和秘密r的乘积z=x·r。
(4)每个密钥生成中心KGCi计算ωi=1-F(ID)·ri/z,该Shamir share分片分享的秘密是s/(s+F(ID))。
(5)每个密钥生成中心KGCi将ωi与SM9算法指定的椭圆曲线的生成点进行一次数乘,得到一个新的椭圆曲线上的点
Figure BDA0002994259920000032
然后再将
Figure BDA0002994259920000033
发送给密钥合成中心进行设备私钥合成。将设备私钥分片以椭圆曲线上的点
Figure BDA0002994259920000041
的形式发送给密钥合成中心,而不直接发送ωi,是为了防止密钥合成中心从设备私钥分片中计算出密钥生成中心的主私钥分片si
4、合成完整的设备密钥:由密钥合成中心运行。当密钥合成中心从密钥生成中心处收到了大于等于t+1个设备私钥分片后,才能开始进行密钥合成。因设备私钥分片的形式是椭圆曲线上的点,密钥合成中心需对t+1个私钥分片进行椭圆曲线上的拉格朗日插值。
5、安装设备密钥:由密钥合成中心运行。合成完整设备私钥后,密钥合成中心直接将该私钥安装到物联网设备上。然后重置跟计算该设备私钥相关的内存。
本发明与现有技术相比的优点在于:
1、本发明提出了第一个完整的分布式SM9用户密钥生成方案。该方案中的主私钥由多个密钥中心共同协商生成,不需要可信第三方预先分配。与传统的单密钥生成中心生成SM9密钥的方式相比,本发明可避免中心化密钥生成带来的单点失败问题。分布式SM9密钥生成的优势体现在两方面:(1)可以有效减小SM9算法中主私钥泄露的风险;(2)系统鲁棒性更强:系统可以容忍一定数目的密钥生成中心宕机,而不影响密钥生成服务的正常运行。
2、本发明提出的分布式SM9密钥生成方案,采用分布式多密钥生成中心的形式,在加强主私钥保护的同时,保证了良好的系统兼容性:分布式生成的用户公钥和私钥保持着和原SM9算法一样的形式,因此本发明的技术方案不会影响原SM9算法继用户密钥生成之后的步骤,如SM9的签名与验签算法、加密解密算法、密钥交换协议。
3、与现有的专利相比,本发明提出的技术方案属于主私钥层次的私钥保护。相比于用户层次的私钥保护,本发明解决的主私钥泄露问题更根源,在实际应用中影响更为广泛。因所有的用户私钥都可以通过主私钥计算出来,如果主私钥保护不当造成泄露,所有的用户私钥也将随之受到影响。而如果只是用户私钥保护不当造成泄露,只有私钥被泄露的用户才会受到影响。
附图说明
图1为本发明的系统组成框图;
图2为(1,3)门限-分布式SM9密钥生成示意图。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
如图1所示,本系统将所有参与实体根据功能进行划分如下:
1、密钥生成中心(KGC),持有主私钥分片,为物联网设备生成私钥分片。
2、密钥合成中心(CC),从密钥生成中心处收集设备私钥分片,合成完整的设备私钥,并安装到物联网设备上。
在开始描述本发明的实施例的技术方案之前,先将本发明用到的符号及其定义描述如下:
G1,G2:阶为素数p的加法循环群;
P1,P2:分别是群G1,G2的生成元;
GT:阶为素数p的乘法循环群;
e:G1×G2→GT:一个双线性映射对;
F(ID):密码杂凑函数,将物联网设备的ID映射成
Figure BDA0002994259920000051
上的一个元素;
Figure BDA0002994259920000052
SM9算法所需的参数组;
n:密钥生成中心的个数;
t:秘密分享的门限;
Figure BDA0002994259920000053
(t,n)-Replicated share方案,分享的秘密μi由第i个密钥生成中心选取,发送给第j个密钥生成中心;
σi:第i个密钥生成中心KGCi所持有的秘密σ的Replicated share分片;
si:第i个密钥生成中心KGCi持有的主私钥s的Shamir share分片;
mpki:第i个密钥生成中心KGCi生成的主公钥mpk的Shamir share分片;
ID:物联网设备的ID,如设备序列号等;
sti:i时刻系统的状态;
Figure BDA0002994259920000054
秘密分享分片转换算法。输入是t门限的Replicated share分片,输出是伪随机的t门限的Shamir share分片;
Figure BDA0002994259920000055
秘密分享分片转换算法。输入是t门限的Replicated share分片,输出是伪随机的2t门限的Shamir share分片,且分享的Shamir秘密为0;
ri:第i个密钥生成中心KGCi运行
Figure BDA0002994259920000056
秘密分片转换算法后获得的一个伪随机t门限的Shamir share分片;
yi:第i个密钥生成中心KGCi运行
Figure BDA0002994259920000057
秘密分片转换算法后获得的一个伪随机2t门限的Shamir share分片,分享的秘密是0;
zi:是一个2t门限的Shamir share分片;
Figure BDA0002994259920000061
第i个密钥生成中心为物联网设备生成的私钥分片。
图2是当n=3,t=1时分布式SM9密钥生成的示意图。下面结合图2,叙述本发明具体实施的步骤。
1、系统初始化
步骤1-1:n个密钥生成中心读取配置文件,开放监听端口1,监听来自于其它密钥生成中心的连接;
步骤1-2:开放监听端口2,监听来自于密钥合成中心的连接;
步骤1-3:获取其它密钥生成中心的IP地址和监听端口信息,尝试与其它密钥生成中心建立网络连接;
步骤1-4:密钥生成中心查看监听端口1上接收的连接数是否达到n-1个,如果达到,进入下一步;如果没达到,继续等待;
步骤1-5:当n个密钥生成中心两两之间建立好了网络连接后,每个密钥生成中心从配置文件中提取系统参数
Figure BDA0002994259920000062
并检查是否满足n>2t,如果满足,进行下一步;如果不满足,停止运行,关闭和其它n-1个密钥生成中心的网络连接;
步骤1-6:向其它n-1个密钥生成中心发送配置文件里的系统参数
Figure BDA0002994259920000063
步骤1-7:每个密钥生成中心检查自己配置文件里的参数
Figure BDA0002994259920000064
是否与其它n-1个密钥生成中心发送来的参数相同。如果相同,继续进行下一步;如果不同,停止运行。
2、系统建立
步骤2-1:每个密钥生成中心KGCi随机从
Figure BDA0002994259920000065
上选取一个元素μi作为重复秘密分享的秘密,并向KGCj发送
Figure BDA0002994259920000066
Replicated share分片,自己保留
Figure BDA0002994259920000067
步骤2-2:每个密钥生成中心KGCi从配置文件里读取系统初始状态st0(一个字符串),同
Figure BDA0002994259920000068
一起发送给KGCj
步骤2-3:每个密钥生成中心KGCi检查从其它n-1个密钥生成中心发来的系统初始状态st0是否与自己配置文件里的初始状态相同。如果相同,进入下一步。如果不同,停止运行;
步骤2-4:每个密钥生成中心KGCi从其它n-1个密钥生成中心处获得了n-1个Replicated share分片,加上自己保留的分片一共n个,然后将这n个分片相加,即
Figure BDA0002994259920000069
得到一个新的Replicated share分片σi,该分片分享的秘密是
Figure BDA00029942599200000610
步骤2-5:每个密钥生成中心KGCi将σi和st0作为输入,运行秘密分享分片转换算法
Figure BDA0002994259920000071
得到一个伪随机t门限的Shamir share分片si,分享的秘密是s。将s作为主私钥,则si就是密钥生成中心KGCi私密持有的主私钥分片;
步骤2-6:每个密钥生成中心KGCi计算mpki=[si]P1,并将mpki发送给密钥合成中心;
步骤2-7:密钥合成中心接收从密钥生成中心传来的主公钥mpk分片,检查分片个数是否大于t。如果大于,对其中t+1个分片进行拉格朗日插值:
Figure BDA0002994259920000072
其中
Figure BDA0002994259920000073
如果不大于,继续等待;
步骤2-8:为后续计算方便,每个密钥生成中心KGCi可将Replicated share分片σi和主私钥分片si写入文件,保存起来。此步骤可选。
3、生成设备私钥分片
步骤3-1:密钥合成中心与n个密钥生成中心建立连接后,将物联网设备的ID发送给n个密钥生成中心;
步骤3-2:密钥生成中心KGCi收到密钥合成中心发送来的设备ID后,计算F(ID);
步骤3-3:每个密钥生成中心KGCi在本地计算xi=si+F(ID)mod p;
步骤3-4:每个密钥生成中心KGCi将系统状态st0新增1更新为st1
步骤3-5:每个密钥生成中心KGCi将σi和st1作为输入,运行秘密分享分片转换算法
Figure BDA0002994259920000074
得到一个伪随机t门限的Shamir share分片ri,分享的秘密是r;
步骤3-6:每个密钥生成中心KGCi将σi和st1作为输入,运行秘密分享分片转换算法
Figure BDA0002994259920000075
得到一个伪随机2t门限的Shamir share分片yi,分享的秘密是0;
步骤3-7:每个密钥生成中心KGCi计算zi=xi·ri+yi,zi是一个伪随机的2t门限的Shamir share分片,分享的秘密是x·r;
步骤3-8:每个密钥生成中心KGCi向其它n-1个密钥生成中心广播zi
步骤3-9:每个密钥生成中心KGCi将st1一同向其它n-1个密钥生成中心广播;
步骤3-10:每个密钥生成中心KGCi检查自己本地的系统状态是否和其它n-1个密钥生成中心发来的系统状态st1相同,如果不相同,更新自己的系统状态为收到的最新st,然后回退到步骤3-4;
步骤3-11:每个密钥生成中心KGCi接收从其它密钥生成中心发来的秘密z=x·r的Shamir share分片zi,并且检查分片个数是否大于2t。如果不大于,继续等待;
步骤3-12:每个密钥生成中心KGCi对收到的2t+1个分享秘密z=x·r的Shamirshare分片进行拉格朗日插值
Figure BDA0002994259920000081
其中
Figure BDA0002994259920000082
步骤3-13:每个密钥生成中心KGCi计算
Figure BDA0002994259920000083
该Shamirshare分片分享的秘密是s/(s+F(ID));
步骤3-14:每个密钥生成中心KGCi计算物联网设备私钥的第i个分片
Figure BDA0002994259920000084
步骤3-15:每个密钥生成中心KGCi向密钥合成中心发送私钥分片
Figure BDA0002994259920000085
4、合成设备私钥分片并安装
步骤4-1:密钥合成中心等待从密钥生成中心发来的物联网设备私钥的分片。当分片个数大于t时,进入下一步。如果不大于,则继续等待;
步骤4-2:密钥合成中心从收到的私钥分片中选取t+1个出来进行拉格朗日插值,合成完整的设备私钥。即
Figure BDA0002994259920000086
其中
Figure BDA0002994259920000087
步骤4-3:密钥合成中心将主公钥mpk和完整的私钥SID安装到物联网设备上;
步骤4-4:密钥合成中心重置跟计算设备私钥SID相关的内存;
步骤4-5:密钥合成中心为下一个物联网设备安装私钥,跳回步骤3-1。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (9)

1.一种分布式SM9密钥生成方法,其步骤包括:
1)通过n个设定的密钥生成中心生成系统公共参数
Figure FDA0002994259910000011
且满足n>2t;t为系统门限值,
Figure FDA0002994259910000012
为SM9算法所需的双线性对参数组;
2)n个所述密钥生成中心共同运行,每一所述密钥生成中心获得一个重复秘密分享分片和主私钥s的一个分片;其中第i个所述密钥生成中心KGCi获得一个重复秘密分享分片σi和主私钥s的分片si
3)每个所述密钥生成中心根据重复秘密分享分片和主私钥s的一个分片,为目标设备生成一个私钥分片并发送给密钥合成中心;其中密钥生成中心KGCi生成私钥分片
Figure FDA0002994259910000014
4)密钥合成中心收到大于或等于t+1个所述私钥分片后进行密钥合成,得到该目标设备的私钥。
2.如权利要求1所述的方法,其特征在于,所述密钥生成中心KGCi获得重复秘密分享分片σi和分片si的方法为:
2-1)密钥生成中心KGCi先选取或生成一个随机值μi,然后以重复秘密分享的形式分享给其它n-1个密钥生成中心;
2-2)密钥生成中心KGCi根据收到的其它n-1个密钥生成中心的随机值与随机值μi,得到重复秘密分享分片σi
2-3)密钥生成中心KGCi将σi作为秘密分享分片转换算法的输入,计算得到主私钥分片si
3.如权利要求2所述的方法,其特征在于,所述密钥生成中心KGCi生成私钥分片
Figure FDA0002994259910000013
的方法为:
3-1)密钥生成中心KGCi收到一目标设备的ID后,将自己持有的主私钥分片si与F(ID)相加得到一个Shamir share分片xi,其中F(ID)是一个由SM9算法指定的密码杂凑函数,用于将ID信息映射成一个域元素;
3-2)密钥生成中心KGCi将σi作为秘密分享分片转换算法的输入,输出是一个伪随机的Shamir share分片ri
3-3)n个密钥生成中心共同运行一次半诚实的分布式多方乘法协议并在协议中分享Shamir share分片xi和ri的乘积xi·ri,运行完该乘法协议后,每个密钥生成中心KGCi根据自己持有的xi·ri分片和收到的分片进行拉格朗日插值计算得到秘密x和秘密r的乘积z=x·r;
3-4)密钥生成中心KGCi计算ωi=1-F(ID)·ri/z;
3-5)密钥生成中心KGCi将ωi与SM9算法指定的椭圆曲线的生成点进行一次数乘,得到一个新的椭圆曲线上的点
Figure FDA0002994259910000021
即私钥分片
Figure FDA0002994259910000022
4.如权利要求1所述的方法,其特征在于,所述私钥分片是椭圆曲线上的点,所述密钥合成中心对t+1个所述私钥分片进行椭圆曲线上的拉格朗日插值,得到该目标设备的私钥。
5.如权利要求1所述的方法,其特征在于,生成系统公共参数
Figure FDA0002994259910000023
的方法为:
1-1)每一所述密钥生成中心读取配置文件,并通过端口1监听来自于其它密钥生成中心的连接;
1-2)每一所述密钥生成中心通过端口2监听来自于密钥合成中心的连接;
1-3)每一所述密钥生成中心获取其它密钥生成中心的IP地址和监听端口信息,尝试与其它所述密钥生成中心建立网络连接;
1-4)每一所述密钥生成中心查看监听端口1上接收的连接数是否达到n-1个,如果达到,则进入步骤1-5);如果没达到,继续等待;
1-5)当n个所述密钥生成中心两两之间建立好了网络连接后,每个密钥生成中心从配置文件中提取系统参数
Figure FDA0002994259910000024
并检查是否满足n>2t,如果满足,则进行1-6);如果不满足,停止运行,关闭和其它n-1个密钥生成中心的网络连接;
1-6)每一所述密钥生成中心向其它n-1个密钥生成中心发送配置文件里的系统参数
Figure FDA0002994259910000025
1-7)每一所述密钥生成中心检查自己配置文件里的参数
Figure FDA0002994259910000026
是否与其它n-1个密钥生成中心发送来的参数相同;如果相同,则进行步骤2);否则停止运行。
6.如权利要求1所述的方法,其特征在于,所述密钥合成中心合成得到该目标设备的私钥后,将该私钥安装到该目标设备上;然后删除本地的该私钥。
7.一种分布式SM9密钥生成系统,其特征在于,包括n个密钥生成中心和一密钥合成中心;其中,n个所述密钥生成中心生成系统公共参数
Figure FDA0002994259910000027
且满足n>2t,则n个所述密钥生成中心共同运行,每一所述密钥生成中心获得一个重复秘密分享分片和主私钥s的一个分片;t为系统门限值,
Figure FDA0002994259910000028
为SM9算法所需的参数组;
所述密钥生成中心持有主私钥的分片,并与其它密钥生成中心交互,为目标设备生成私钥分片并发送给所述密钥合成中心;
密钥合成中心,用于当收到大于或等于t+1个所述私钥分片后进行密钥合成,得到该目标设备的私钥。
8.如权利要求7所述的系统,其特征在于,第i个密钥生成中心KGCi获得重复秘密分享分片σi和分片si的方法为:2-1)密钥生成中心KGCi先选取或生成一个随机值μi,然后以重复秘密分享的形式分享给其它n-1个密钥生成中心;2-2)密钥生成中心KGCi根据收到的其它n-1个密钥生成中心的随机值与随机值μi,得到重复秘密分享分片σi;2-3)密钥生成中心KGCi将σi作为秘密分享分片转换算法的输入,计算得到主私钥分片si
9.如权利要求8所述的系统,其特征在于,密钥生成中心KGCi生成私钥分片
Figure FDA0002994259910000031
的方法为:3-1)密钥生成中心KGCi收到一目标设备的ID后,将自己持有的主私钥分片si与F(ID)相加得到一个Shamir share分片xi,其中F(ID)是一个由SM9算法指定的密码杂凑函数,用于将ID信息映射成一个域元素;3-2)密钥生成中心KGCi将σi作为秘密分享分片转换算法的输入,输出是一个伪随机的Shamir share分片ri;3-3)n个密钥生成中心共同运行一次半诚实的分布式多方乘法协议并在协议中分享Shamir share分片xi和ri的乘积xi·ri,运行完该乘法协议后,每个密钥生成中心KGCi根据自己持有的xi·ri分片和收到的分片进行拉格朗日插值计算得到秘密x和秘密r的乘积z=x·r;3-4)密钥生成中心KGCi计算ωi=1-F(ID)·ri/z;3-5)密钥生成中心KGCi将ωi与SM9算法指定的椭圆曲线的生成点进行一次数乘,得到一个新的椭圆曲线上的点
Figure FDA0002994259910000032
即私钥分片
Figure FDA0002994259910000033
CN202110324992.3A 2021-03-26 2021-03-26 一种分布式sm9密钥生成方法及系统 Pending CN113079003A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110324992.3A CN113079003A (zh) 2021-03-26 2021-03-26 一种分布式sm9密钥生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110324992.3A CN113079003A (zh) 2021-03-26 2021-03-26 一种分布式sm9密钥生成方法及系统

Publications (1)

Publication Number Publication Date
CN113079003A true CN113079003A (zh) 2021-07-06

Family

ID=76610713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110324992.3A Pending CN113079003A (zh) 2021-03-26 2021-03-26 一种分布式sm9密钥生成方法及系统

Country Status (1)

Country Link
CN (1) CN113079003A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978503A (zh) * 2022-05-23 2022-08-30 国汽智控(北京)科技有限公司 车载数据存储方法、车载数据获取方法、设备及存储介质
WO2024004116A1 (ja) * 2022-06-30 2024-01-04 日本電気株式会社 鍵発行装置、情報処理システム、方法及びコンピュータ可読媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135080A (zh) * 2017-07-06 2017-09-05 深圳奥联信息安全技术有限公司 Sm9解密方法和装置
CN111953479A (zh) * 2019-05-16 2020-11-17 华为技术有限公司 数据处理的方法及装置
CN112398648A (zh) * 2020-11-05 2021-02-23 华控清交信息科技(北京)有限公司 一种密钥管理方法、装置和用于密钥管理的装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135080A (zh) * 2017-07-06 2017-09-05 深圳奥联信息安全技术有限公司 Sm9解密方法和装置
CN111953479A (zh) * 2019-05-16 2020-11-17 华为技术有限公司 数据处理的方法及装置
CN112398648A (zh) * 2020-11-05 2021-02-23 华控清交信息科技(北京)有限公司 一种密钥管理方法、装置和用于密钥管理的装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978503A (zh) * 2022-05-23 2022-08-30 国汽智控(北京)科技有限公司 车载数据存储方法、车载数据获取方法、设备及存储介质
CN114978503B (zh) * 2022-05-23 2024-02-23 国汽智控(北京)科技有限公司 车载数据存储方法、车载数据获取方法、设备及存储介质
WO2024004116A1 (ja) * 2022-06-30 2024-01-04 日本電気株式会社 鍵発行装置、情報処理システム、方法及びコンピュータ可読媒体

Similar Documents

Publication Publication Date Title
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
US9515825B2 (en) Method for password based authentication and apparatus executing the method
US9917692B2 (en) Key exchange system, key exchange method, key exchange device, control method thereof, and recording medium for storing control program
WO2019216950A1 (en) Password based threshold token generation
KR101493214B1 (ko) 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치
CN107733654B (zh) 一种基于组合密钥的智能设备固件更新和正式用户证书分发方法
CN105610773A (zh) 一种电能表远程抄表的通讯加密方法
CN113746632B (zh) 一种物联网系统多级身份认证方法
CN110535626B (zh) 基于身份的量子通信服务站保密通信方法和系统
CN105721153A (zh) 基于认证信息的密钥交换系统及方法
CN111277412A (zh) 基于区块链密钥分发的数据安全共享系统及方法
CN113079003A (zh) 一种分布式sm9密钥生成方法及系统
CN110999202A (zh) 用于对数据进行高度安全、高速加密和传输的计算机实现的系统和方法
CN111817850A (zh) 一种基于工业物联网的匿名群组认证方法
CN116599659B (zh) 无证书身份认证与密钥协商方法以及系统
CN116527259B (zh) 基于量子密钥分发网络的跨域身份认证方法及系统
CN110048852B (zh) 基于非对称密钥池的量子通信服务站数字签密方法和系统
KR100456624B1 (ko) 이동 통신망에서의 인증 및 키 합의 방법
CN111541668A (zh) 一种基于区块链的能源物联网信息安全传输与存储方法
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
CN116192437A (zh) 一种基于区块链及Signal协议的配网作业安全接入方法及系统
CN112787819B (zh) 一种工业控制安全通信系统及通信方法
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
CN114070570A (zh) 一种电力物联网的安全通信方法
CN105187213A (zh) 一种计算机信息安全的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210706

RJ01 Rejection of invention patent application after publication