一种基于多点评估机制的身份基门限密钥管理方法及系统

文档序号:37940630发布日期:2024-05-11 00:19阅读:16来源:国知局
一种基于多点评估机制的身份基门限密钥管理方法及系统

本领域属于信息安全,涉及密钥管理,具体涉及一种应用于分布式系统中安全管理和使用密钥的方案。本发明是一种使用多点评估技术优化的身份基分布式密钥管理方案,旨在提高无可信中心的分布式密钥管理系统的效率。本发明创新的分布式密钥管理技术方案实现了高度安全的密钥生成和管理,同时降低了系统的复杂性和开销。


背景技术:

1、传统公钥体制的密钥管理通常需要依赖公钥基础设施(public keyinfrastructure,pki)来验证和签名公钥,以将其与特定的节点信息关联起来,这一过程增加了通信的复杂性。pki的证书管理和维护需要中心化设施证书授权中心(certificateauthority,ca)来实现。交换公共密钥证书(public key certificate,pkc)会降低通信效率,并且证书必须存储在本地,这占用了存储资源。

2、为了避免出现pki中存在的问题,基于身份的密码学(identity-basedcryptography,ibc)是一个很好的替代方案,其中,非对称密钥是从终端用户的身份信息派生的,而不再需要ca和pkc。因此,终端不需要申请和存储证书,从而降低了维护难度。当在设备之间或设备与物联网平台之间进行认证、数据加密和数据签名时,不需要复杂的证书管理、交换、验证等环节,只需要交换双方的身份,减少了通信开销。由于降低了存储、计算和通信成本,ibc适用于带宽和资源有限的边缘设备。然而,ibc仍需要私钥生成器(privatekey generator,pkg)作为一个可信的权威机构来替代ca。pkg用于为给定身份生成相对应的私钥,这不可避免地会导致密钥托管问题。


技术实现思路

1、为解决现有技术存在的上述问题,本发明提供了一种低开销的无在线可信中心身份基门限密钥管理方法及系统,本发明多点评估技术优化的秘密共享阶段,降低系统初始化阶段的开销。

2、在本发明中,仅存在一个离线可信第三方用来生成公共参数,公开参数信息后随即下线,不再参与密钥管理系统的运行。任何加入系统的节点需要载入公共参数,节点之间没有预先建立的信任关系。本发明方案假设每个节点都携带一个唯一且不变的身份标识,记为id。假设所有参与者共享一个广播信道,以便可靠地相互通信。本发明方案为同步协议,在协议运行过程中,各方轮流进行通信。每个通信回合中,每一方都会进行计算,并向其他参与发送隐私消息或者广播消息。在每个通信回合结束时,每一方都会收到其他参与者在该回合中向其发送的所有消息。本发明采取如下技术方案:

3、一种基于多点评估机制的身份基门限密钥管理方法,具体步骤如下:

4、(1)离线可信第三方生成公共参数;

5、(2)对系统进行可信初始化设置;

6、(3)生成用户密钥;

7、(4)进行加密和解密。

8、优选的,步骤(1)系统离线公共参数生成,具体如下:

9、可信第三方选取安全参数λ∈z+(z+为正整数域),指定阈值为t,运行init(1λ,t),设置如下参数:

10、1.1g为双线性映射相关参数的生成函数。输入λ,运行(g,gt,q,p,e)←g(1λ):选择大素数q,选择q阶的循环加法群g和循环乘法群gt,选取g的生成元p∈g*(g*为g\{0}),存在双线性映射e:g×g→gt;

11、1.2设置消息长度为m,消息空间为m=={0,1}m,密文空间为c=g*×{0,1}m×{0,1}m;

12、1.3杂凑函数:h1:{0,1}*→g*,h2:gt→{0,1}m,(zq是一个模为q的整数环,为zq\{0}),h4:{0,1}m→{0,1}m;

13、1.4设置陷门值(下标r表示随机选择一个元素),计算一个大小为t-1的元组:(τp,...,τt-1p)←sc(p;τ,t)。本发明将基于椭圆曲线上的离散对数问题进行描述,下文中使用[a]表示ap。

14、公共参数为pub=(g,m,=c,h1~h4,sc)。可信第三方销毁陷门并公开参数信息,随后从系统中下线,不再参与密钥管理系统的运行。

15、系统参数建立完成后,可由n(n≤2t-1)个任意节点构成密钥管理集群kpas。节点编号设置为i∈[0,n),在节点计算过程中使用有限域fq上的n(n=2k,其中)次单位根代替节点索引进行计算,表示第i个n次单位根。随后集群内进行n个回合的同步通信完成系统的初始化(此处的初始化是可信第三方进行的,用于生成公开的参数信息,步骤(2)的初始化是系统的初始化,生成系统运行所需的密钥信息与相关参数)。

16、优选的,步骤(2)系统可信初始化设置,具体如下:

17、配置授权密钥管理节点kpas(key privacy authorities)集群,由n个kpa节点构成。kpa节点执行如下步骤完成系统初始化:

18、2.1kpa秘密共享分发轮

19、在第i通信回合中kpa节点ki执行一轮秘密共享的分发轮,步骤如下:

20、ki载入公共参数pub,随后生成一个度为t-1次的随机多项式,fi(x)modq(下文中的多项式运算均在有限域fq上进行)。表示为多项式f的d次项系数。该回合中ki需要进行秘密共享的主秘密即为

21、ki通过公共参数中的sc计算fi(x)的多项式承诺并广播。

22、2.1.1.ki计算fi(x)的多点认证树

23、ki首先计算n的值,并会在计算中会增加n-n个虚节点参与计算。首先根据多项式求余定理,计算多点评估树,其形式为一颗满二叉树。随后对多点评估树的节点进行认证获得多点认证树。在多点评估树中每个节点由商多项式quo,余多项式rm和累积项acc构成。令叶节点所在的层数表示为第0层,则fi(x)的多点评估树的第l层的第u个节点可以表示为:其中累积项是与fi(x)无关的一个通项,形式为:

24、

25、上式中br(z)表示对z进行位逆序置换操作,由上式可以得到累积项的递推计算表示为:

26、accl,u(x)=accl-1,2u(x)·accl-1,2u+1(x) (1)

27、每个节点的quo,rm项由父节点的余多项式和自身对应的累积项计算获得,根节点计算所需的余多项式则为fi(x)本身,则节点各项的计算可以表示为:

28、

29、

30、由公式(2)和(3),自顶向下拆解每个节点中的rm项,以根节点至所在叶节点的计算路径为例:

31、由fi(x)的上述形式,同理可以获得根节点到每个叶节点的一条包含k+1个节点的计算路径。叶节点的余多项式仅包含一个常数项,即为在fi(x)上的函数值,令pathj表示关于对应叶节点的计算路径上的节点序列,则有下式成立:因为acc项为通项,显然同一叶节点在不同多项式对应的多点评估树中的计算路径是相同的。

32、1)预处理累积认证树

33、ki首先计算通项累积认证树,计算步骤为计算累积树,再通过sc对累积树的每个节点进行认证。由公式(1)计算第一对叶节点的父节点累积项为例:

34、

35、同理可以计算剩余的所有节点,并继续自底向上计算直至根节点。位逆序置换后由单位根的特性保证了计算过程中每个节点的累积项的形式都保持为的形式。

36、得到累积树后,通过sc对每个节点进行认证得到累积认证树。au表示对节点进行认证计算,则认证计算为:

37、当计算节点数n>t时,在累积树的顶端的部分累积项的次数会大于f的最高次,此时f对该累积项求余多项式仍然为f,求商获得商多项式0。最终对为0的商多项式进行认证是没有意义的,所以相应的不需要对次数≥t的累积值进行认证,可以得到有效树高为log2t,实际证明路径大小为log2 t。

38、2)计算多点认证树

39、ki通过预处理获得的累积树,由公式(2)和(3)从根节点出发自顶向下计算每个节点的商多项式和余多项式得到多点评估树。由sc对多点评估树的每个节点的商多项式进行认证计算得到多点认证树,认证计算为:

40、

41、2.1.2.秘密共享分发

42、ki在完成预处理后,若当前通信回合为第i+1个通信回合,则为所有的邻居节点kj计算秘密份额kj,即为其对应的路径证明即为pathj上商多项式的认证集:ki通过可信信道将(ssi,j,pfi,j)发送给邻居节点kj。

43、2.2秘密共享验证轮

44、ki在第j+1通信回合中,收到邻居节点kj分发的(ssj,i,pfj,i),并获得其公开承诺pcj后进入验证轮。ki通过pcj,pfj,i与预处理生成累积认证树,如公式(4)进行双线性映射计算验证ssj,i的正确性。

45、

46、若验证失败则ki广播对于kj的投诉信息,否则ki保存kj发布的数据信息。

47、2.3秘密共享投诉轮

48、在第j通信回合中,若分发者kj收到邻居节点广播投诉的信息,则立即广播该投诉节点对(ssj,·,pfj,·)。在该通信回合中,非分发者任意节点ki收到的共享份额验证失败,或收到其他节点广播的对于kj指控信息,则ki进入投诉轮。setj为投诉kj的节点集合,q为失信节点集合。若|setj|≥t则kj会被直接加入失信集合。若|setj|<t,ki会在本通信回合内等待接收kj广播投诉节点对应的(ssj,.,pfj,.),并进行验证,若有任意一个验证失败,kj会被加入失信集合q。

49、2.4系统参数聚合

50、在完成n回合的通信后。kpa节点仅会使用可信节点的信息来聚合系统参数。ki首先聚合系统承诺聚合主密钥分片为并计算相应的主公钥分片pki=skip,ski的对应路径聚合证明计算为(路径相加表示路径中的对应节点值相加)。此时系统主密钥通过多项式的形式进行隐藏,该多项式是所有可信节点生成的多项式的总和,则该聚合多项式的计算表示为令quo表示f(x)对应的多点评估树中节点的商多项式,则pfi可以表示为此时系统的公开参数pp为{pc,{(pki,pfi)...}i∈kpas}。

51、优选的,步骤(3)用户密钥生成,具体如下:

52、用户在启动时需要载入由离线第三方生成的公共参数pub,并预处理累计认证树。用户在加入当前网络后,获取系统公开参数pp,并对{pki...}i∈kpas进行验证。用户首先进行第一级验证,由累计认证树获取每个管理节点ki的累积值认证路径pfi包含的路径证明和pp中所包含的系统承诺pc,通过公式(5)验证pki正确性。

53、

54、tst为系统公钥分片验证通过的管理节点集合,若|tst|≥t,则用户成功加入该网络,并保存验证通过的公钥分片,由公式(6)计算系统公钥。

55、

56、3.1用户离线注册

57、用户y的身份标识记为idy,则其公钥计算为idy=h1(idy)。用户选择随机数作为盲因子,计算ry=ryp并将(idy,ry)发送给tst中的任何一个管理节点。若ki收到了消息,设置用户的密钥申请有效期为timey,计算dy=h1(idy||timey)+ry随后使用其持有的主密钥分片对其进行签名sigi,y=skidy,并将(sigi,y,timey)发送给用户。用户收到后使用对应的系统公钥分片由下式对sigi,y进行验证:

58、

59、若公式(7)验证通过该用户则完成在系统中的离线注册,否则选择tst中不同的kpa重复3.1中所述过程。

60、3.2请求生成用户密钥服务

61、用户计算盲公钥随后发起密钥申请请求,广播发送注册信息至密钥管理集群。接受到服务请求的kpa节点ki,首先由公式(7)验证用户的注册信息有效性,验证通过则由下式验证用户盲因子有效性:

62、

63、若公式(8)验证通过后,ki为用户计算盲私钥分片并将该用户发送的注册信息保存到数据库中,并将发送给用户。

64、3.3用户密钥分片验证

65、用户收到ki∈tst回送的消息后,则用户使用pki进行第二级验证,确认ki为其生成的盲私钥分片的正确性,验证计算如下:

66、若验证通过用户则接受ki为其生成的盲私钥分片

67、3.4用户重建用户私钥

68、t为派生用户私钥分片验证通过的管理节点集合,若|t|≥t,如公式(9)所示用户可以通过拉格朗日插值法重建自己的盲私钥,并使用盲因子恢复私钥。

69、

70、步骤(4)加解密,具体如下:

71、本发明中加解密算法采用bf-ibe方案中的算法实现。

72、encrypt:用户a使用用户b的身份信息id,和系统公钥pk,加密明文消息pt∈m。用户a选择随机字符串σ∈r{0,1}m,计算gid=e(h1(id),pk),r=h3(σ,pt),并设置密文为:

73、decrypt:用户b收到密文ct=(u,v,w)后,使用自己的私钥sk计算随后使用σ'计算获取明文后,验证h3(σ',pt')p是否与u相等,若验证为相等,则解密成功输出明文pt',否则用户b输出⊥(⊥表示失败终止符)。

74、本发明还公开了一种基于多点评估机制的身份基门限密钥管理系统,基于上述的方法,其包括如下模块:

75、公共参数生成模块:离线可信第三方生成公共参数;

76、初始化模块:对系统进行可信初始化设置;

77、密钥生成模块:生成用户密钥;

78、加解密模块:进行加密和解密。

79、在本发明中,管理节点在系统初始化的共享分发阶段使用多点评估技术进行预处理计算,生成所有邻居的共享份额和相应的路径证明,从而减少了可验证秘密共享的贡献值与证明值计算的开销。本发明方案利用多点认证树的同态性质进行路径聚合,生成系统主密钥分片的证明路径,使用户可以通过两级验证确认获得密钥分片正确性。管理节点与用户之间通过短签名进行离线注册实现双向认证,消除了用户申请私钥时对可信信道的依赖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1