抗选择打开攻击的层次身份基加密方案的制作方法

文档序号:11878682阅读:280来源:国知局
抗选择打开攻击的层次身份基加密方案的制作方法与工艺
本发明涉及信息安全
技术领域
,特别涉及一种抗选择打开攻击的层次身份基加密方案。
背景技术
:网络化环境使得信息系统日趋复杂,不同的环境对安全性能的要求也不尽相同,采取的安全策略也具有多样性。比如,在多方安全计算环境中,多个发送方会使用公钥加密向同一个接收方发送密文信息,而这些密文多对应的明文很可能是相互关联的。敌人可能会进行渗透攻击,得到某些发送方所有的信息,包括明文以及加密所用的随机数。传统的只涉及两方通信的不可区分模型(亦可成为语义安全模型)很难保证其安全性,需要新的安全模型,以保障那些没有受到敌手渗透的通信实体所加密信息的保密性。为了应对这些复杂环境下的攻击,研究者们提出了选择打开攻击的安全模型。选择打开安全模型中敌手具有更强的攻击能力,表现为渗透攻击,即:敌手可以自由选择打开哪些密文,并得到相关的明文和随机数。相关技术中,基于传统公钥加密系统的选择打开安全模型的研究较为成熟,例如2009年Bellare等提出了有损加密的方法以实现选择明文安全的抗选择打开攻击模型,2010年Fehr等基于可否认加密算法和非承诺性加密机制、利用密文的二义性实现了选择密文安全的抗选择打开攻击模型。应用于身份基加密系统的抗选择打开攻击方案也日渐成熟。2010年Waters、Bellare等通过构建1比特单边公共打开系统进而实现了选择明文安全的抗选择打开攻击模型,2014年刘胜利等以可提取单边公共打开的身份基模型为基础、实现了了选择密文安全的抗选择打开攻击模型。然而,对于层级身份基加密系统,相关技术中并没有应用于其中的抗选择打开攻击的安全模型,而层次身份基系统在日常工作与生活中更是有很多的应用场景,比如典型的医疗系统、校园系统、大型企业等具有层级组织结构的系统。这些系统里,高级人员可以授权低级人员并为他们分配密钥,从而形成树状结构。树状结构上的每个节点对应一位工作人员。在这样的网络环境中,当某几个节点(作为发送方)向另一个节点发送彼此关联的加密信息时,同样会面临敌手的渗透攻击,所以同样需要抗选择打开攻击的安全模型抵御敌手攻击。技术实现要素:本发明旨在至少在一定程度上解决相关技术中的技术问题。为此,本发明的目的在于提出一种抗选择打开攻击的层次身份基加密方案,该方案可以克服现有语义安全模型的不足,简单易实现。为达到上述目的,本发明实施例提出了一种抗选择打开攻击的层次身份基加密方案,包括以下步骤:通过定义敌手和挑战者之间的游戏建立抗选择打开攻击的层次身份基系统的安全模型,所述对敌手和挑战者之间的游戏进行定义包括:初始化阶段:所述敌手声明挑战身份向量;系统建立阶段:所述挑战者调用参数生成算法生成公共参数,并将所述公共参数发送至所述敌手;私钥提问问询:所述敌手向所述挑战者问询身份向量对应的私钥,其中,所述身份向量不能是所述初始化阶段中声明的身份向量;挑战阶段:所述敌手输出要挑战的身份向量、有效采样的消息向量、公钥参数与随机数至所述挑战者,所述挑战者调用加密算法生成密文向量并返回给所述敌手;打开阶段:所述敌手选择一个集合发送至所述挑战者,以便所述挑战者打开相应的密文分量得到明文和随机数,并且所述挑战者随机选择一个比特,其中,如果比特为1,则所述挑战者将打开的信息发送至所述敌手,如果比特为0,则所述挑战者重新抽样以将新的明文分量发送至所述敌手;猜测阶段:所述敌手输出一个猜测结果,如果所述猜测结果正确,则所述敌手在游戏中获胜;通过证明具有1比特单边打开功能、层次身份基的不可区分模型具有不可区分选择明文攻击的安全性来证明所述抗选择打开攻击的层次身份基系统的安全模型的安全性。本发明实施例的抗选择打开攻击的层次身份基加密方案,选用的抗选择打开攻击模型能够有效应对复杂网络环境中多对一的通信模式,防止因攻击者窃取了一跳链路的信息进而攻击了所有链路、致使网络瘫痪,其次,将抗选择打开攻击模型有效地运用到层次身份基加密系统中,与现实生活中的情景十分匹配,可应用于大型的具有复杂等级结构的系统中,简单易实现。另外,根据本发明上述实施例的抗选择打开攻击的层次身份基加密方案还可以具有以下附加的技术特征:进一步地,在本发明的一个实施例中,构造所述具有1比特单边打开功能、层次身份基的不可区分模型,进一步包括:系统建立:根据合数阶双线性群的阶数与选取的随机数通过系统建立算法生成主私钥与公钥;私钥生成:根据选取的随机数通过私钥生成算法生成第一层级的私钥;私钥托管:根据上一层节点的私钥、当前层级节点的原子身份与选取的第三随机数通过私钥托管算法得到当前层级的私钥;加密:通过加密算法对明文进行加密,以得到密文,其中,通过预设的结构的密文对单比特为0比特的明文进行加密,而通过选取随机数作为单比特1的密文;解密:通过解密算法对所述密文进行解密,以恢复所述明文。进一步地,在本发明的一个实施例中,还包括:对解密结果进行正确性验证。进一步地,在本发明的一个实施例中,通过所述私钥托管算法生成的当前层级的私钥形式与用所述私钥生成算法生成的第一层级的私钥形式保持一致。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明实施例的抗选择打开攻击的层次身份基加密方案的流程图;图2为根据本发明一个实施例的对敌手和挑战者之间的游戏进行定义流程图;图3为根据本发明一个实施例的构造具有1比特单边打开功能、层次身份基的不可区分模型的构造流程图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。下面参照附图描述根据本发明实施例提出的抗选择打开攻击的层次身份基加密方案。图1是本发明实施例的抗选择打开攻击的层次身份基加密方案的流程图。如图1所示,该抗选择打开攻击的层次身份基加密方案包括以下步骤:在步骤S101中,通过定义敌手和挑战者之间的游戏建立抗选择打开攻击的层次身份基系统的安全模型。可以理解的是,本发明实施例利用了基于1比特单边打开属性的层次身份基系统与基于1比于双系统层次身份基系统的安全性。具体地,首先建立抗选择打开攻击的层次身份基系统的安全模型。安全模型通常由敌手和挑战者之间的游戏来定义,其中,如图2所示,对敌手和挑战者之间的游戏进行定义包括:步骤S201,初始化阶段:敌手声明挑战身份向量。即言,在初始化阶段中,敌手声明一个它要攻击的身份向量可以称之为挑战身份向量。步骤S202,系统建立阶段:挑战者调用参数生成算法生成公共参数,并将公共参数发送至敌手。也就是说,在系统建立阶段中,挑战者调用参数生成算法生成公共参数(包括公钥和主私钥),并将公共参数发送给敌手。步骤S203,私钥提问问询:敌手向挑战者问询身份向量对应的私钥,其中,身份向量不能是初始化阶段中声明的身份向量。具体地,敌手问询身份对应的私钥,挑战者可以运行私钥生成算法得到对应的私钥并将其发送给敌手。需要说明的是,这里的不能是挑战身份向量本身以及它的前缀(即不能是挑战身份向量的上级节点)。步骤S204,挑战阶段:敌手输出要挑战的身份向量、有效采样的消息向量、公钥参数与随机数至挑战者,挑战者调用加密算法生成密文向量并返回给敌手。具体地,敌手向挑战者输出它要挑战的身份向量以及可以有效采样的消息向量M=(M1,M2,...,Mn)、公钥参数与随机数r=(r1,r2,...,rn)。挑战者调用加密算法生成密文向量C=(C1,C2,...,Cn),并将其返回给敌手。步骤S205,打开阶段:敌手选择一个集合发送至挑战者,以便挑战者打开相应的密文分量得到明文和随机数,并且挑战者随机选择一个比特,其中,如果比特为1,则挑战者将打开的信息发送至敌手,如果比特为0,则挑战者重新抽样以将新的明文分量发送至敌手。例如,敌手选择一个集合发送给挑战者。挑战者打开相应的密文分量得到明文和随机数(Mk,rk)k∈K。挑战者再随机选择一个比特b。如果b=1,挑战者将打开的信息(Mk,rk)k∈K发送给敌手。如果b=0,挑战者则根据M的概率分布重新抽样,得到新的明文分量(M'k)k∈K发送给敌手。步骤S206,猜测阶段:敌手输出一个猜测结果,如果猜测结果正确,则敌手在游戏中获胜。相当于,敌手输出一个猜测b'。如果敌手猜对b'=b,宣布敌手在游戏中获胜。其次,证明上述模型的安全性。上述模型是一个多比特选择打开攻击模型,它的安全性最终可归约为1比特单边公共打开模型的安全性。所以核心点是将基于多比特、层次身份基的抗选择打开模型的安全性归约具有1比特单边打开功能、层次身份基的不可区分模型的安全性。最后,构造一个具有1比特单边打开功能、层次身份基的不可区分模型,并证明该模型具有抗不可区分选择明文攻击的安全性。本发明实施例利用了双系统加密方案构造了该模型。其中,所谓双系统,是指密文和密钥具有两种形式:普通形式与半功能形式。普通形式的密钥用于本发明的解密过程;半功能形式密钥则用于证明模型的安全性。同时,本发明实施例所利用的双系统加密方案符合1比特单边打开系统对于密文的要求,即对于明文0比特的加密密文具有一个特定的结构、该结构可被密钥与身份检测出但不能被攻击者检测出,而对于明文1比特的加密密文则是一个随机数、且可被逆抽样。具体过程在下面进行详细描述。在步骤S102中,通过证明具有1比特单边打开功能、层次身份基的不可区分模型具有不可区分选择明文攻击的安全性来证明抗选择打开攻击的层次身份基系统的安全模型的安全性。需要说明的是,本发明实施例的方案的安全性可分为两个层次进行阐述。一是将具有抗选择打开攻击模型的、多比特层次身份基方案的安全性归约为具有单边公共打开功能的、抗不可区分选择明文攻击模型的、1比特层次身份基方案的安全性;二是构造了一个具有单边公共打开属性的、1比特层次身份基方案,该构造的安全性归约于通用群假设的数学困难问题,并得以证明。进一步地,在本发明的一个实施例中,如图3所示,构造具有1比特单边打开功能、层次身份基的不可区分模型,进一步包括:步骤S301,系统建立:根据合数阶双线性群的阶数与选取的随机数通过系统建立算法生成主私钥与公钥。具体地,(PK,MSK)←Setup(λ):系统建立算法。合数阶双线性群的阶数为N(N=p1p2p3p4),选取随机数u11,u12,...,u1l,u4,x1,x4,ω4←ZN,并计算以及U1j,4←U1jU4、W1,4←g1W4、X14←X1X4。最终生成主私钥MSK={g1,U11,U12,...,U1l,X1,g3}与公钥PK={N,U11,4,U12,4,...,U1l,4,X14,W14,g4}。步骤S302,私钥生成:根据选取的随机数通过私钥生成算法生成第一层级的私钥。可选地,在本发明的一个实施例中,私钥生成算法可以为KeyGen算法。具体地,私钥生成算法。其中该算法选择随机数r,r3,r′3,rj+1,...,rl←ZN,计算私钥K1=g1rg3r3,K2=(U11id1...U1jidjX1)rg3r3′,Ej+1=U1,j+1rg3rj+1,...,El=U1lrg3rl.]]>步骤S303,私钥托管:根据上一层节点的私钥、当前层级节点的原子身份与选取的第三随机数通过私钥托管算法得到当前层级的私钥。进一步地,在本发明的一个实施例中,通过私钥托管算法生成的当前层级的私钥形式与用私钥生成算法生成的第一层级的私钥形式保持一致。具体地,私钥托管算法。其中为上一层节点的私钥,ID为当前层级节点的原子身份。选取随机数私钥托管算法如下:K1=K1′g1r′g3r~3=g1r+r′g3r3+r~3,]]>K2=K2′(U11id1...U1jidjX1)r′(Ej+1′)idj+1U1,j+1r′idj+1g3r~3′==(U11id1...U1,j+1idj+1X1)r+r′g3r3′+r~3′+rj+1idj+1,]]>Ej+2=Ej+2′U1,j+2r′g3rj+2′=U1,j+2r+r′g3rj+2+rj+2′,]]>El=El′U1,lr′g3rl′=U1,lr+r′g3rl+rl′.]]>可见,由私钥托管算法生成私钥是一个重新随机化的过程,私钥的形式与用KeyGen算法生成的私钥在形式上保持一致。步骤S304,加密:通过加密算法对明文进行加密,以得到密文,其中,通过预设的结构的密文对单比特为0比特的明文进行加密,而通过选取随机数作为单比特1的密文。具体地,加密算法。对于单比特0的加密是具有一个特定的结构的密文,而对于单比特1比特的加密则是一个随机数。当M=0,选取随机数s,t4,t′4,计算密文:C1=(ΠjU1j,4idj·X14)sg4t4,C2=W14sg4t4′;]]>当M=1,密文则是在双线性群上随机选取的两个元素,即:(C1,C2)←SampG。步骤S305,解密:通过解密算法对密文进行解密,以恢复明文。具体地,解密算法。由于对明文0比特的加密密文具有一个特定的结构、且该结构可被密钥与身份检测出,而对明文1比特的加密密文是随机的。所以解密结果也分为两种情况:当e(C1,K1)=e(C2,K2)时,解密结果为0比特;当e(C1,K1)≠e(C2,K2)时,解密结果为1比特。进一步地,在本发明的一个实施例中,还包括:对解密结果进行正确性验证。举例而言,正确性验证:需要验证当解密结果为0比特时,当输入正确的密文和私钥,e(C1,K1)=e(C2,K2)本身是成立的。验证过程如下:e(C1,K1)=e((U11id1...U1jidj·U41idj...U4jidj·X1X2)s·g4t4,g1rg3r3)=e(g1s[Σi=1j(u1iidi)+x1],g1r)·e(g1s[Σi=1j(u1iidi)+x1],g3r)·e(g4s[Σi=1j(u4iidi)+x4]+t4,g1r)·e(g4s[Σi=1j(u4iidi)+x4]+t4,g3r)=e(g1s[Σi=1j(u1iidi)+x1],g1r)=e(g1,g1)sr[Σi=1j(u1iidi)+x1];]]>e(C2,K2)=(g1sg4ω4s+t4′,(g1u11id1...g1u1jidj·g1x1)r·g3r3′)=e(g1s,g1r[Σi=1j(u1iidi)+x1])·e(g1s,g3r)·e(g4ω4s+t4′,g1r[Σi=1j(u1iidi)+x1])·e(g4ω4s+t4′,g3r3/)=e(g1s,g1r[Σi=1j(u1iidi)+x1])=e(g1,g1)sr[Σi=1j(u1iidi)+x1].]]>可见,当密文形式正确时,解密算法用正确的私钥可以恢复出明文。根据本发明实施例的抗选择打开攻击的层次身份基加密方案,选用的抗选择打开攻击模型能够有效应对复杂网络环境中多对一的通信模式,防止因攻击者窃取了一跳链路的信息进而攻击了所有链路、致使网络瘫痪,其次,将抗选择打开攻击模型有效地运用到层次身份基加密系统中,与现实生活中的情景十分匹配,可应用于大型的具有复杂等级结构的系统中,简单易实现。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1