CN114461998B - 一种全动态可追踪环境下基于格的秘密握手方法 - Google Patents

一种全动态可追踪环境下基于格的秘密握手方法 Download PDF

Info

Publication number
CN114461998B
CN114461998B CN202111595606.0A CN202111595606A CN114461998B CN 114461998 B CN114461998 B CN 114461998B CN 202111595606 A CN202111595606 A CN 202111595606A CN 114461998 B CN114461998 B CN 114461998B
Authority
CN
China
Prior art keywords
user
group
handshake
key
identity
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.)
Active
Application number
CN202111595606.0A
Other languages
English (en)
Other versions
CN114461998A (zh
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.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202111595606.0A priority Critical patent/CN114461998B/zh
Publication of CN114461998A publication Critical patent/CN114461998A/zh
Application granted granted Critical
Publication of CN114461998B publication Critical patent/CN114461998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于密码学隐私保护技术领域,更具体地,涉及一种全动态可追踪环境下基于格的秘密握手方法。用户可以自由的加入或离开任意群组织,同时使用了具有较小通信开销的格上加密方案作为追踪方法,以上使得本方案更具灵活性和兼容性,适应现实移动可控认证场景需求。在实际使用过程中,本方法可以保证在恶意敌手环境下系统的安全性需求:完整性,完全防伪造性,完全防侦测性,完全不可链接性和完全可追踪性。

Description

一种全动态可追踪环境下基于格的秘密握手方法
技术领域
本发明属于密码学隐私保护技术领域,更具体地,涉及一种全动态可追踪环境下基于格的秘密握手方法。
背景技术
秘密握手协议是一种隐私保护的密码学应用,它的主要功能是允许属于同一组织的个体在保护隐私的前提下进行匿名的双向认证并协商出后续的会话密钥。目前已有许多基于不同密码学原语的秘密握手方案被提出。汪维家等人提出了一种短密钥环境下多方秘密握手方法,温雅敏等人提出了基于身份基消息恢复签名的秘密握手方案,王闻博等人提出了基于混沌映射的秘密握手方案,这些现有方案都基于传统的数论困难问题,因此在未来可能的量子计算攻击下将不再安全。现有的后量子秘密握手方案是张卓然等人提出的基于编码的方案,赵兴文等人提出的基于格的方案以及安致远等人提出的基于格的可重用证书方案,但这些方案不支持用户动态的加入和撤销,即全动态模式,且追踪用户行为需要大量的计算和存储开销,在实际应用场景中缺乏灵活性和可兼容性。目前还没有支持全动态可追踪的后量子秘密握手方案。
在后量子密码技术的需求推动下,基于格理论的密码技术或原语逐渐成为研究热点,几乎所有密码原语都已有了基于格密码的构造,在实现方面,格密码相关的采样算法和基本运算都只涉及到矩阵或向量的模乘运算,利用其本身的代数结构很容易构造分布式系统下的快速并行算法。
全动态模式,是指将秘密握手系统运行时间分割成多个时间间隔,在任意时间间隔内,用户可以加入某一群组织,与群管理中心执行交互协议产生群证书和群私钥,群管理中心则维护一个动态的公开群消息集合,在加入或撤销用户时都会更新该集合。可追踪则是指在得到某一秘密握手协议的执行副本后,群管理中心可以运行追踪程序得到该次协议的参与用户。
发明内容
本发明为克服上述现有技术中的缺陷,提供一种全动态可追踪环境下基于格的秘密握手方法,可以更灵活的管理群组织和用户行为,且保证了秘密握手方案中的用户隐私和系统安全要求。
为解决上述技术问题,本发明采用的技术方案是:一种全动态可追踪环境下基于格的秘密握手方法,包括以下步骤:
S1.秘密握手系统初始化,生成群共享参数;
S2.调用格上加密方案的密钥生成算法得到所有群管理中心共用的追踪公私钥对(tpk,tsk);
S3.创建群组织,包括随机生成该群的公私钥对(gpk,gsk),公布一个群用户信息集合
S4.用户和群管理中心执行交互协议加入群组织:在时刻t,新用户加入群组织;该用户首先随机产生自己的公私钥对(upk,usk),将upk连同必要的真实身份信息发送给群管理中心进行身份检测,检测成功则由群管理中心调用格上聚合器更新程序将该公钥upk填入用户列表Merkle树的叶子节点并更新受到影响的其他节点,然后将Merkle树空叶子节点位置比特串作为用户身份ID,连同Merkle树空叶子节点到根节点的路径数据{wi}i,共同作为群证书cred返回给该用户;此外,群管理中心还将集合info更新为新根节点及所有当前非空叶子节点到根路径数据(ID,{wi}i),作为该时刻的群用户公开信息;
S5.用户执行交互式三轮握手协议进行匿名认证:在时刻t*,属于群G1的用户A和属于群G2的用户B执行一个秘密握手程序来进行匿名的双向认证,具体包括以下三个步骤:
S51.第一阶段,用户A调用格上的交互式密钥协商方案产生一个临时的公私钥对(Ca,Sa),使用tpk加密用户身份ID产生密文ca,调用格上非交互零知识论证协议产生对用户私钥,群证书,身份密文及相之间NP关系的零知识证明,包含三个元素,承诺cmta,挑战cha和应答rspa,其中挑战值被修改为原始值和临时公钥的混合最后,用户A将匿名认证信息/>发送给用户B;
S52.第二阶段,在收到用户A的认证信息后,用户B同样产生自己的临时公私钥对(Cb,Sb),群身份密文cb及修改了挑战值的零知识证明接着,用户B输入(cmtb,rspb)来执行格上非交互零知识论证协议的验证程序,得到原始挑战值cha,计算恢复出嵌入的用户A临时公钥/>结合自己的临时私钥Sb调用格上密钥协商方案产生会话密钥Kb,并计算关于该会话密钥的消息验证码Vb;最后,用户B将该验证码连同自己的认证消息(Vb,Proofb)发送给用户A;
S53.第三阶段,在收到用户B的认证信息后,用户A同样先运行零知识论证的验证程序得到原始挑战值chb,计算恢复出嵌入的用户B的临时公钥结合自己的临时私钥Sa调用格上密钥协商方案产生会话密钥Ka,并计算关于该会话密钥的消息验证码Va;最后,用户A将该验证码发送给用户 B;若两用户属于同一群组织G1=G2且都拥有合法的群证书和用户私钥,则双方都能够验证通过彼此的消息验证码,且得到相同的会话密钥Ka=Kb,握手程序输出1表示认证成功;否则,消息验证码验证失败,握手程序输出0表示认证失败;
S6.通过握手记录追踪参与握手用户群身份:基于已完成的握手协议的副本,群管理中心追踪到该握手协议的参与用户,输入tsk及副本中用户身份的密文c,调用格上加密方案的解密程序解密该密文c,得到用户的群身份,输出用户的群身份作为追踪结果;若概率解密失败,输出⊥表示追踪失败;
S7.群管理中心撤销用户:在任意系统时刻tr,群管理中心完成对某合法用户的撤销:将待撤销用户对应Merkle树叶子节点的记录值修改为全0比特,调用格上聚合器更新程序对所有受到影响的节点进行更新,最后,将集合info更新为新根节点及所有叶到根路径数据(ID,{wi}i),作为该时刻tr的群用户公开信息。
在本发明中,将秘密握手系统划分为时间段,使用基于Merkle树的格上聚合器实现秘密握手系统中用户在任意时间段的加入和离开群组织,产生的群证书为二叉树的某一叶子节点坐标及其到根节点的路径;为实现匿名双向认证,使用了格上非交互式的零知识论证算法来产生对用户群证书的零知识证明,保护了用户的隐私和系统安全性;为实现会话密钥的协商,将格上密钥协商协议嵌入到了零知识证明的挑战值中;最后,为了实现用户行为可追踪性,将用户群身份使用格上加密方案加密并在握手过程中发送,为了保证该加密程序被诚实执行,额外发送对密文和群身份NP关系的零知识证明。在实际使用过程中,本方法可以保证在恶意敌手环境下系统的安全性需求:完整性,完全防伪造性,完全防侦测性,完全不可链接性和完全可追踪性。
在其中一个实施例中,所述的步骤S1具体包括:秘密握手系统初始化,选定系统安全参数λ,一个群成员最大数目N=2l,整数 n1,n2,l1,l2,p,s,Q=poly(n),素数模对数值/>矩阵维数 m=2nk,n3=poly(λ),m1=poly(n3),另一模数约化整数θ≥2λ/(n3m1),采样偏差/>整数环/>上的离散高斯分布χ,特殊矩阵/>随机矩阵 单射函数/>安全哈希函数
在其中一个实施例中,所述的步骤S2具体包括:生成所有群管理中心共用的追踪公私钥对,即基于LWE加密算法的公私钥对:随机采样对整数/>随机采样/>计算/> 追踪私钥tsk=S1,追踪公钥tpk=(B,P1,P2)。
在其中一个实施例中,所述的步骤S3具体包括:随机采样群私钥msk←{0,1}m,计算群公钥mpk=A·msk mod q;储存一颗有N个叶子节点,节点值都为全0比特的Merkle二叉树作为用户列表,公开在群创建时刻的群用户信息
在其中一个实施例中,所述的步骤S4具体包括:
S41.新用户加入群组织,该用户随机选取自己的私钥usk←{0,1}m,计算对应的公钥upk=binnk(A·usk mod q)并将该公钥发送给对应群管理中;
S42.在时刻ti,群管理中心收到用户请求加入信息,验证用户公钥为非零向量比特串后,选取当前用户列表Merkle树中空叶子节点,将当前时刻空叶子节点坐标作为用户群身份比特串IDi,运行聚合器更新程序来更新树中受到影响的其他节点,具体为:令((i1,...,il),(wl,...,w1))为当前时刻空叶子节点到根节点的路径信息,包括位置比特串及对应l层的中间节点值,首先令vl=upk,然后对于j∈[0,l-1]递归计算其他更新节点vj如下:若ij+1=0:vj=hA(vj+1,wj+1);若ij+1=1:vj=hA(wj+1,vj+1);令新根节点u=v0,其余受影响节点群管理中心将注册群证书Cred=(upk,IDi,(wl,...,w1))返回给该用户;
S43.群管理中心将当前群用户信息更新为根节点,所有当前非空叶子节点位置坐标及到根节点的路径信息并公布更新后的群用户信息集合/>
在其中一个实施例中,所述的步骤S51具体包括:
S511.发起方用户A采样一个随机临时私钥一个噪声矩阵计算临时公钥/>使用一种基于 LWE的格上加密方案对用户身份进行双加密,具体如下:对i∈{1,2},采样计算密文/>
S512.调用格上非交互式零知识论证协议的证明程序产生用户A隐私数据集合的零知识证明,集合ξa满足以下关系:i)用户A群证书中的元素作为群用户列表二叉树中某非空叶子节点向上聚合到根节点;ii)用户个人公私钥满足K·uska=G·upka mod q;iii)/>是使用随机数/>对用户身份的正确加密;iv)upka≠0nk;具体步骤如下:将以上关系涉及到的矩阵及向量之间关于模q的加法和乘法等式统一为一个NP关系集合,表示为/> 其中/> 是有I个三元组的集合,以上为公开信息,/>为私有信息,然后选取四个随机矩阵
S513.重复执行如下随机程序直到有数据输出:随机选取对i∈[s]:选取/> 计算ti=Ma·ri,c2,i=F1·s2,i+ (0T||ri T)T,对h∈[I]:令(d,e,f)为/>中的第h个三元组,定义ai[h]=ri[h]- ri[e]·xa[f]-ri[f]·xa[e],bi[h]=ri[e]·ri[f],计算c3,i=F2·s3,i+ (0T||ai T)T,c4,i=F2·s4,i+(0T||bi T)T,随机选取ρi←{0,1}Q,计算/>接着计算挑战值 将随机公钥嵌入到以上挑战值中,计算/>计算相应的响应值,对i∈[s]:计算/> 在0到1之间的实数区间随机选取一个实数τ,若:/> 终止以上程序并输出最终的零知识证明
S514.用户A将以上修改了挑战值的零知识证明,使用的随机矩阵连同身份密文作为认证消息发送给用户B。
在其中一个实施例中,所述的步骤S52具体包括:
S521.用户B首先采样一个随机临时私钥一个噪声矩阵计算临时公钥/>然后,根据步骤 S511、S512、S513中描述,B同样产生自己群身份的密文,使用接收到的随机矩阵产生群证书及自身私钥的零知识证明,将随机公钥嵌入到挑战值中,计算/>
S522.用户B执行如下操作从接收到的认证消息中恢复出A的临时公钥:对i∈[s]:计算其中对h∈[I]:令(d,e,f)为/>中的第 h个三元组,计算恢复其余两个承诺值:计算哈希值/>此时验证若/> 则输出0,并终止此次握手;否则继续执行以上循环;循环结束后计算原始挑战值/>最后恢复来自用户B的临时公钥/>
S523.用户B按如下步骤计算协商的会话密钥:采样另一噪声矩阵令Vb=Sb·Ca+E′b,由此计算辅助矩阵/>得到的会话密钥为/>
S524.用户B产生关于协商密钥的消息验证码将以上验证消息(Proofa,M,Vb)返回给A。
在其中一个实施例中,所述的步骤S53具体包括:
S531.如上步骤S522中描述,用户A恢复出B的临时公钥
S532.按如下计算协商的会话密钥:计算
S533.用户A产生关于协商密钥的消息验证码并发送给用户B;
S534.用户A和B验证收到的消息验证码,验证通过输出1表示握手成功;验证失败输出0表示握手失败。
在其中一个实施例中,所述的步骤S6具体包括:基于已完成的握手协议记录副本,群管理中心按如下步骤得到参与该握手的群用户身份ID=(i1,...,il)∈ {0,1}l:解密该用户的任一身份密文对(ci,1,ci,2),计算m=ci,2-S1·ci,1∈{0,1}l,若令ij=0,否则令ij=1,最后输出该身份比特串作为追踪结果;若解密失败,输出⊥表示追踪失败。
在其中一个实施例中,所述的步骤S7具体包括:在时刻tr,群管理中心撤销用户,按如下步骤执行:运行聚合器更新程序更新该用户所在群的用户列表二叉树,具体为:令((i1,...,il),(wl,...,w1))为该用户所在叶子节点到根节点的路径信息,包括位置比特串及对应l层的中间节点值,首先令vl=0nk,然后对于j∈[0,l-1]递归计算其他节点vj如下:若ij+1=0:vj=hA(vj+1,wj+1);若 ij+1=1:vj=hA(wj+1,vj+1);令新根节点u=v0,其余中间受影响节点将当前群用户信息更新为根节点,所有当前非空叶子节点位置坐标及到根节点的路径信息/>并公布更新后的当前时刻/>
与现有技术相比,有益效果是:本发明提供的一种全动态可追踪环境下基于格的秘密握手方法,在后量子的秘密握手系统中实现了全动态功能,即用户可以自由的加入或离开任意群组织,同时使用了具有较小通信开销的格上加密方案作为追踪方法,以上使得本方案更具灵活性和兼容性,适应现实移动可控认证场景需求。在实际使用过程中,本方法可以保证在恶意敌手环境下系统的安全性需求:完整性,完全防伪造性,完全防侦测性,完全不可链接性和完全可追踪性。
附图说明
图1是本发明方法流程示意图。
图2是本发明用户和管理中心交互完成群组织加入的步骤示意图。
图3为握手第一轮发起方A执行步骤示意图。
图4为握手第二轮应答方B执行步骤示意图。
图5为握手第三轮A,B双方进行身份验证并产生会话密钥步骤示意图。
图6为群管理中心追踪用户行为的步骤示意图。
图7为群管理中心撤销用户的步骤示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。下面结合具体实施方式对本发明作在其中一个实施例中说明。其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
符号说明:
向量,粗斜黑体小写字母,如v。
矩阵,粗斜黑体大写字母,如M。
||v||表示向量v的欧几里得范数。
||s||表示比特字符串s的长度。
函数bink(n)将任意正整数转换为k长的二进制表示。
函数deck(s)是函数bink(n)的逆函数。
函数其中M=epoly(λ)
实施例1
如图1所示,一种全动态可追踪环境下基于格的秘密握手方法,具体包括以下步骤:
步骤1:秘密握手系统初始化,生成群共享参数。
步骤2.调用格上加密方案的密钥生成算法得到所有群管理中心共用的追踪公私钥对(tpk,tsk)。
步骤3.创建群组织,包括随机生成该群的公私钥对(gpk,gsk),公布一个群用户信息集合
步骤4.在时刻t,新用户加入群组织;该用户首先随机产生自己的公私钥对(upk,usk),将upk连同必要的真实身份信息发送给群管理中心进行身份检测,检测成功则由群管理中心调用格上聚合器更新程序将该公钥upk填入用户列表 Merkle树的叶子节点并更新受到影响的其他节点,然后将Merkle树空叶子节点位置比特串作为用户身份ID,连同Merkle树空叶子节点到根节点的路径数据 {wi}i,共同作为群证书cred返回给该用户;此外,群管理中心还将集合info更新为新根节点及所有当前非空叶子节点到根路径数据(ID,{wi}i),作为该时刻的群用户公开信息。
步骤5.在时刻t*,属于群G1的用户A和属于群G2的用户B执行一个秘密握手程序来进行匿名的双向认证,具体包括以下三个步骤:
S51.第一阶段,用户A调用格上的交互式密钥协商方案产生一个临时的公私钥对(Ca,Sa),使用tpk加密用户身份ID产生密文ca,调用格上非交互零知识论证协议产生对用户私钥,群证书,身份密文及相之间NP关系的零知识证明,包含三个元素,承诺cmta,挑战cha和应答rspa,其中挑战值被修改为原始值和临时公钥的混合最后,用户A将匿名认证信息/>发送给用户B。
S52.第二阶段,在收到用户A的认证信息后,用户B同样产生自己的临时公私钥对(Cb,Sb),群身份密文cb及修改了挑战值的零知识证明接着,用户B输入(cmtb,rspb)来执行格上非交互零知识论证协议的验证程序,得到原始挑战值cha,计算恢复出嵌入的用户A临时公钥/>结合自己的临时私钥Sb调用格上密钥协商方案产生会话密钥Kb,并计算关于该会话密钥的消息验证码Vb;最后,用户B将该验证码连同自己的认证消息(Vb,Proofb)发送给用户A。
S53.第三阶段,在收到用户B的认证信息后,用户A同样先运行零知识论证的验证程序得到原始挑战值chb,计算恢复出嵌入的用户B的临时公钥结合自己的临时私钥Sa调用格上密钥协商方案产生会话密钥Ka,并计算关于该会话密钥的消息验证码Va;最后,用户A将该验证码发送给用户 B;若两用户属于同一群组织G1=G2且都拥有合法的群证书和用户私钥,则双方都能够验证通过彼此的消息验证码,且得到相同的会话密钥Ka=Kb,握手程序输出1表示认证成功;否则,消息验证码验证失败,握手程序输出0表示认证失败。
步骤6.基于已完成的握手协议的副本,群管理中心追踪到该握手协议的参与用户,输入tsk及副本中用户身份的密文c,调用格上加密方案的解密程序解密该密文c,得到用户的群身份,输出户的群身份作为追踪结果;若概率解密失败,输出⊥表示追踪失败。
步骤7.在任意系统时刻tr,群管理中心完成对某合法用户的撤销:将待撤销用户对应Merkle树叶子节点的记录值修改为全0比特,调用格上聚合器更新程序对所有受到影响的节点进行更新,最后,将集合info更新为新根节点及所有叶到根路径数据(ID,{wi}i),作为该时刻tr的群用户公开信息。
实施例2
本实施例提供一种全动态可追踪环境下基于格的秘密握手方法,具体包括以下步骤:
步骤1:秘密握手系统初始化,选定系统安全参数λ,一个群成员最大数目 N=2l,整数n1,n2,l1,l2,p,s,Q=poly(n),素数模/>对数值/>矩阵维数m=2nk,n3=poly(λ),m1=poly(n3),另一模数/>约化整数/>采样偏差/> 整数环/>上的离散高斯分布χ,特殊矩阵/> 随机矩阵/>单射函数/>安全哈希函数
步骤2.生成所有群管理中心共用的追踪公私钥对,即基于LWE加密算法的公私钥对:随机采样对整数i∈{1,2},随机采样/>计算/>追踪私钥 tsk=S1,追踪公钥tpk=(B,P1,P2)。
步骤3.创建群组织,随机采样群私钥msk←{0,1}m,计算群公钥 mpk=A·msk modq;储存一颗有N个叶子节点,节点值都为全0比特的Merkle 二叉树作为用户列表,公开在群创建时刻的群用户信息
步骤4.用户和群管理中心执行交互协议加入群组织;
S41.新用户加入群组织,该用户随机选取自己的私钥usk←{0,1}m,计算对应的公钥upk=binnk(A·usk mod q)并将该公钥发送给对应群管理中;
S42.在时刻ti,群管理中心收到该请求加入信息,验证公钥upk为非零向量比特串后,选取当前用户列表Merkle树中空叶子节点,将该节点坐标作为用户群身份比特串IDi,运行聚合器更新程序来更新树中受到影响的其他节点,具体为:令((i1,..,il),(wl,..,w1))为该叶子节点到根节点的路径信息,包括位置比特串及对应l层的中间节点值,首先令vl=upk,然后对于j∈[0,l-1]递归计算其他更新节点vj如下:若ij+1=0:vj=hA(vj+1,wj+1);若ij+1=1: vj=hA(wj+1,vj+1);令新根节点u=v0,其余受影响节点群管理中心将注册群证书 Cred=(upk,IDi,(wl,..,w1))返回给该用户;
S43.群管理中心将当前群用户信息更新为根节点,所有当前非空叶子节点位置坐标及到根节点的路径信息并公布更新后的群用户信息集合/>
步骤5.用户执行交互式三轮握手协议进行匿名认证:在时刻t*,属于群G1的用户A和属于群G2的用户B执行一个秘密握手程序来进行匿名的双向认证,具体包括以下三个步骤:
第一阶段:
S511.发起方用户A采样一个随机临时私钥一个噪声矩阵计算临时公钥/>使用一种基于LWE的格上加密方案对用户身份进行双加密,具体如下:对i∈{1,2},采样计算密文/>
S512.调用格上非交互式零知识论证协议的证明程序产生用户A隐私数据集合的零知识证明,集合ξa满足以下关系:i)用户A群证书中的元素作为群用户列表二叉树中某非空叶子节点向上聚合到根节点;ii)用户个人公私钥满足K·uska=G· upka mod q;iii)/>是使用随机数/>对用户身份的正确加密;iv)upka≠0nk;具体步骤如下:将以上关系涉及到的矩阵及向量之间关于模q的加法和乘法等式统一为一个NP关系集合,表示为/> 其中/> 是有I个三元组的集合,以上为公开信息,/>为私有信息,然后选取四个随机矩阵
S513.重复执行如下随机程序直到有数据输出:随机选取对i∈[s]:选取/> 计算ti=Ma·ri,c2,i=F1·s2,i+ (0T||ri T)T,对h∈[I]:令(d,e,f)为/>中的第h个三元组,定义ai[h]=ri[h]- ri[e]·xa[f]-ri[f]·xa[e],bi[h]=ri[e]·ri[f],计算c3,i=F2·s3,i+ (0T||ai T)T,c4,i=F2·s4,i+(0T||bi T)T,随机选取ρi←{0,1}Q,计算/>接着计算挑战值 将随机公钥嵌入到以上挑战值中,计算/>计算相应的响应值,对i∈[s]:计算/> 在0到1之间的实数区间随机选取一个实数τ,若:/> 终止以上程序并输出最终的零知识证明
S514.用户A将以上修改了挑战值的零知识证明,使用的随机矩阵连同身份密文作为认证消息发送给用户B。
第二阶段:
S521.用户B首先采样一个随机临时私钥一个噪声矩阵计算临时公钥/>然后,根据步骤 S511、S512、S513中描述,B同样产生自己群身份的密文,使用接收到的随机矩阵产生群证书及自身私钥的零知识证明,将随机公钥嵌入到挑战值中,计算/>
S522.用户B执行如下操作从接收到的认证消息中恢复出A的临时公钥:对i∈[s]:计算其中对h∈[I]:令(d,e,f)为/>中的第 h个三元组,计算/>恢复其余两个承诺值:计算哈希值/>此时验证若/> 则输出0,并终止此次握手;否则继续执行以上循环;循环结束后计算原始挑战值/>最后恢复来自用户B的临时公钥/>
S523.用户B按如下步骤计算协商的会话密钥:采样另一噪声矩阵令Vb=Sb·Ca+E′b,由此计算辅助矩阵/>得到的会话密钥为/>
S524.用户B产生关于协商密钥的消息验证码将以上验证消息(Proofa,M,Vb)返回给A。
第三阶段:
S531.如上步骤S522中描述,用户A恢复出B的临时公钥
S532.按如下计算协商的会话密钥:计算Va=Cb·Sa
S533.用户A产生关于协商密钥的消息验证码并发送给用户B;
S534.用户A和B验证收到的消息验证码,验证通过输出1表示握手成功;验证失败输出0表示握手失败。
步骤6.通过握手记录追踪参与握手用户群身份:基于已完成的握手协议记录副本,群管理中心按如下步骤得到参与该握手的群用户身份ID=(i1,...,il)∈ {0,1}l:解密该用户的任一身份密文对(ci,1,ci,2),计算m=ci,2-S1·ci,1∈{0,1}l,若令ij=0,否则令ij=1,最后输出该身份比特串作为追踪结果;若解密失败,输出⊥表示追踪失败。
S7.在任意系统时刻tr,群管理中心完成对某合法用户的撤销:将待撤销用户对应Merkle树叶子节点的记录值修改为全0比特,调用格上聚合器更新程序对所有受到影响的节点进行更新,最后,将集合info更新为新根节点及所有叶到根路径数据(ID,{wi}i),作为该时刻tr的群用户公开信息。
实施例3
本实施例与实施例2其他步骤相同,不同的是,在所述的步骤S7中,在时刻tr,群管理中心撤销用户,按如下步骤执行:运行聚合器更新程序更新该用户所在群的用户列表二叉树,具体为:令((i1,...,il),(wl,...,w1))为该用户所在叶子节点到根节点的路径信息,包括位置比特串及对应l层的中间节点值,首先令vl=0nk,然后对于j∈[0,l-1]递归计算其他节点vj如下:若ij+1=0: vj=hA(vj+1,wj+1);若ij+1=1:vj=hA(wj+1,vj+1);令新根节点u=v0,其余中间受影响节点将当前群用户信息更新为根节点,所有当前非空叶子节点位置坐标及到根节点的路径信息/>并公布更新后的当前时刻/>
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种全动态可追踪环境下基于格的秘密握手方法,其特征在于,包括以下步骤:
S1.秘密握手系统初始化,生成群共享参数;
S2.调用格上加密方案的密钥生成算法得到所有群管理中心共用的追踪公私钥对(tpk,tsk);
S3.创建群组织:包括随机生成该群的公私钥对(gpk,gsk),公布一个群用户信息集合
S4.用户和群管理中心执行交互协议加入群组织:在时刻t,新用户加入群组织;该新用户首先随机产生自己的公私钥对(upk,usk),将upk连同必要的真实身份信息发送给群管理中心进行身份检测,检测成功则由群管理中心调用格上聚合器更新程序将公钥upk填入用户列表Merkle树的叶子节点并更新受到影响的其他节点,然后将Merkle树空叶子节点位置比特串作为用户身份ID,连同Merkle树空叶子节点到根节点的路径数据{wi}i,共同作为群证书cred返回给该用户;此外,群管理中心还将集合info更新为新根节点及所有当前非空叶子节点到根路径数据(ID,{wi}i),作为该时刻的群用户公开信息;
S5.用户执行交互式三轮握手协议进行匿名认证:在时刻t*,属于群G1的用户A和属于群G2的用户B执行一个秘密握手程序来进行匿名的双向认证,具体包括以下三个步骤:
S51.第一阶段,用户A调用格上的交互式密钥协商方案产生一个临时的公私钥对(Ca,Sa),使用tpk加密用户身份ID产生密文ca,调用格上非交互零知识论证协议产生对用户私钥,群证书,身份密文及相之间NP关系的零知识证明,包含三个元素,承诺cmta,挑战cha和应答rspa,其中挑战值被修改为原始值和临时公钥的混合最后,用户A将匿名认证信息/>发送给用户B;
S52.第二阶段,在收到用户A的认证信息后,用户B同样产生自己的临时公私钥对(Cb,Sb),群身份密文cb及修改了挑战值的零知识证明接着,用户B输入(cmtb,rspb)来执行格上非交互零知识论证协议的验证程序,得到原始挑战值cha,计算恢复出嵌入的用户A临时公钥/>结合自己的临时私钥Sb调用格上密钥协商方案产生会话密钥Kb,并计算关于该会话密钥的消息验证码Vb;最后,用户B将该验证码连同自己的认证消息(Vb,Proofb)发送给用户A;
S53.第三阶段,在收到用户B的认证信息后,用户A同样先运行零知识论证的验证程序得到原始挑战值chb,计算恢复出嵌入的用户B的临时公钥结合自己的临时私钥Sa调用格上密钥协商方案产生会话密钥Ka,并计算关于该会话密钥的消息验证码Va;最后,用户A将该验证码发送给用户B;若两用户属于同一群组织G1=G2且都拥有合法的群证书和用户私钥,则双方都能够验证通过彼此的消息验证码,且得到相同的会话密钥Ka=Kb,握手程序输出1表示认证成功;否则,消息验证码验证失败,握手程序输出0表示认证失败;
S6.通过握手记录追踪参与握手用户群身份:基于已完成的握手协议的副本,群管理中心追踪到该握手协议的参与用户,输入tsk及副本中用户身份的密文c,调用格上加密方案的解密程序解密该密文c,得到用户的群身份,输出用户群身份作为追踪结果;若概率解密失败,输出⊥表示追踪失败;
S7.群管理中心撤销用户:在任意系统时刻tr,群管理中心完成对某合法用户的撤销:将待撤销用户对应Merkle树叶子节点的记录值修改为全0比特,调用格上聚合器更新程序对所有受到影响的节点进行更新,最后,将集合info更新为新根节点及所有叶到根路径数据(ID,{wi}i),作为时刻tr的群用户公开信息。
2.根据权利要求1所述的全动态可追踪环境下基于格的秘密握手方法,其特征在于,所述的步骤S1具体包括:秘密握手系统初始化,选定系统安全参数λ,一个群成员最大数目整数/>n1,n2,l1,l2,p,s,Q=poly(n),素数模/>对数值/>矩阵维数m=2nk,n3=poly(λ),m1=poly(n3),另一模数/>约化整数θ≥2λ/(n3m1),采样偏差/> 整数环/>上的离散高斯分布χ,特殊矩阵/>随机矩阵/> 单射函数F:/>安全哈希函数/>hA(u1,u2)=binnk(A1·u1+A2·u2mod q)。
3.根据权利要求2所述的全动态可追踪环境下基于格的秘密握手方法,其特征在于,所述的步骤S2具体包括:生成所有群管理中心共用的追踪公私钥对,即基于LWE加密算法的公私钥对:随机采样对整数i∈{1,2},随机采样/>计算/>追踪私钥tsk=S1,追踪公钥tpk=(B,P1,P2)。
4.根据权利要求3所述的全动态可追踪环境下基于格的秘密握手方法,其特征在于,所述的步骤S3具体包括:随机采样群私钥msk←{0,1}m,计算群公钥mpk=A·msk mod q;储存一颗有N个叶子节点,节点值都为全0比特的Merkle二叉树作为用户列表,公开在群创建时刻的群用户信息
5.根据权利要求4所述的全动态可追踪环境下基于格的秘密握手方法,其特征在于,所述的步骤S4具体包括:
S41.新用户加入群组织,该用户随机选取自己的私钥usk←{0,1}m,计算对应的公钥upk=binnk(A·usk mod q)并将该公钥发送给对应群管理中;
S42.在时刻ti,群管理中心收到用户请求加入信息,验证用户公钥为非零向量比特串后,选取当前用户列表Merkle树中空叶子节点,将当前时刻空叶子节点坐标作为用户群身份比特串IDi,运行聚合器更新程序来更新树中受到影响的其他节点,具体为:令((i1,...,il),(wl,...,w1))为当前时刻空叶子节点到根节点的路径信息,包括位置比特串及对应θ层的中间节点值,首先令然后对于/>递归计算其他更新节点vj如下:若ij+1=0:vj=hA(vj+1,wj+1);若ij+1=1:vj=hA(wj+1,vj+1);令新根节点u=v0,其余受影响节点群管理中心将注册群证书/>返回给该用户;
S43.群管理中心将当前群用户信息更新为根节点,所有当前非空叶子节点位置坐标及到根节点的路径信息并公布更新后的群用户信息集合/>
6.根据权利要求5所述的全动态可追踪环境下基于格的秘密握手方法,其特征在于,所述的步骤S51具体包括:
S511.发起方用户A采样一个随机临时私钥一个噪声矩阵计算临时公钥/>使用一种基于LWE的格上加密方案对用户身份进行双加密,具体如下:对i∈{1,2},采样计算密文/>
S512.调用格上非交互式零知识论证协议的证明程序产生用户A隐私数据集合的零知识证明,集合ξa满足以下关系:i)用户A群证书中的元素作为群用户列表二叉树中某非空叶子节点向上聚合到根节点;ii)用户个人公私钥满足K·uska=G·upkamod q;iii)/>是使用随机数对用户身份的正确加密;iv)upka≠0nk;具体步骤如下:将以上关系涉及到的矩阵及向量之间关于模q的加法和乘法等式统一为一个NP关系集合,表示为xa:/>xa[i]=xa[j]·xa[k]},其中 是有I个三元组的集合,以上为公开信息,/>为私有信息,然后选取四个随机矩阵
S513.重复执行如下随机程序直到有数据输出:随机选取c1=F1·s1+(0T||xa T)T;对i∈[s]:选取/> 计算ti=Ma·ri,c2,i=F1·s2,i+(0T||ri T)T,对h∈[I]:令(d,e,f)为/>中的第h个三元组,定义ai[h]=ri[h]-ri[e]·xa[f]-ri[f]·xa[e],bi[h]=ri[e]·ri[f],计算c3,i=F2·s3,i+(0T||ai T)T,c4,i=F2·s4,i+(0T||bi T)T,随机选取ρi←{0,1}Q,计算Caux,i=g1(ti||c1||c2,i||c3,i||c4,i;ρi);接着计算挑战值/> 将随机公钥嵌入到以上挑战值中,计算/>计算相应的响应值,对i∈[s]:计算 在0到1之间的实数区间随机选取一个实数τ,若/> (z1,1 T||...||z1,s T||z2,1 T||...||z2,s T)T),终止以上程序并输出最终的零知识证明
S514.用户A将以上修改了挑战值的零知识证明,使用的随机矩阵连同身份密文作为认证消息发送给用户B。
7.根据权利要求6所述的全动态可追踪环境下基于格的秘密握手方法,其特征在于,所述的步骤S52具体包括:
S521.用户B首先采样一个随机临时私钥一个噪声矩阵计算临时公钥/>然后,根据步骤S511、S512、S513中描述,B同样产生自己群身份的密文,使用接收到的随机矩阵产生群证书及自身私钥的零知识证明,将随机公钥嵌入到挑战值中,计算/>
S522.用户B执行如下操作从接收到的认证消息中恢复出A的临时公钥:对i∈[s]:计算其中对h∈[I]:令(d,e,f)为/>中的第h个三元组,计算恢复其余两个承诺值:计算哈希值/>此时验证若/> 则输出0,并终止此次握手;否则继续执行以上循环;循环结束后计算原始挑战值/>最后恢复来自用户B的临时公钥/>
S523.用户B按如下步骤计算协商的会话密钥:采样另一噪声矩阵令Vb=Sb·Ca+E′b,由此计算辅助矩阵/>得到的会话密钥为/>
S524.用户B产生关于协商密钥的消息验证码将以上验证消息(Proofa,M,Vb)返回给A。
8.根据权利要求7所述的全动态可追踪环境下基于格的秘密握手方法,其特征在于,所述的步骤S53具体包括:
S531.如上步骤S522中描述,用户A恢复出B的临时公钥
S532.按如下计算协商的会话密钥:计算Va=Cb·Sa
S533.用户A产生关于协商密钥的消息验证码并发送给用户B;
S534.用户A和B验证收到的消息验证码,验证通过输出1表示握手成功;验证失败输出0表示握手失败。
9.根据权利要求8所述的全动态可追踪环境下基于格的秘密握手方法,其特征在于,所述的步骤S6具体包括:基于已完成的握手协议记录副本,群管理中心按如下步骤得到参与该握手的群用户身份解密该用户的任一身份密文对(ci,1,ci,2),计算/>若/>令ij=0,否则令ij=1,最后输出该身份比特串作为追踪结果;若解密失败,输出⊥表示追踪失败。
10.根据权利要求9所述的全动态可追踪环境下基于格的秘密握手方法,其特征在于,所述的步骤S7具体包括:在时刻tr,群管理中心撤销用户,按如下步骤执行:运行聚合器更新程序更新待撤销用户所在群的用户列表二叉树,具体为:令为待撤销用户所在叶子节点到根节点的路径信息,包括位置比特串及对应l层的中间节点值,首先令/>然后对于/>递归计算其他节点vj如下:若ij+1=0:vj=hA(vj+1,wj+1);若ij+1=1:vj=hA(wj+1,vj+1);令新根节点u=v0,其余中间受影响节点将当前群用户信息更新为根节点,所有当前非空叶子节点位置坐标及到根节点的路径信息/>并公布更新后的当前时刻
CN202111595606.0A 2021-12-23 2021-12-23 一种全动态可追踪环境下基于格的秘密握手方法 Active CN114461998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111595606.0A CN114461998B (zh) 2021-12-23 2021-12-23 一种全动态可追踪环境下基于格的秘密握手方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111595606.0A CN114461998B (zh) 2021-12-23 2021-12-23 一种全动态可追踪环境下基于格的秘密握手方法

Publications (2)

Publication Number Publication Date
CN114461998A CN114461998A (zh) 2022-05-10
CN114461998B true CN114461998B (zh) 2024-04-12

Family

ID=81407954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111595606.0A Active CN114461998B (zh) 2021-12-23 2021-12-23 一种全动态可追踪环境下基于格的秘密握手方法

Country Status (1)

Country Link
CN (1) CN114461998B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908961A (zh) * 2010-07-29 2010-12-08 北京交通大学 一种短密钥环境下多方秘密握手方法
CN105281914A (zh) * 2015-09-24 2016-01-27 西安电子科技大学 一种基于格密码的秘密握手方法
CN113609462A (zh) * 2021-08-06 2021-11-05 兰州理工大学 过期时间不可伪造的可撤销群签名方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1191696C (zh) * 2002-11-06 2005-03-02 西安西电捷通无线网络通信有限公司 一种无线局域网移动设备安全接入及数据保密通信的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908961A (zh) * 2010-07-29 2010-12-08 北京交通大学 一种短密钥环境下多方秘密握手方法
CN105281914A (zh) * 2015-09-24 2016-01-27 西安电子科技大学 一种基于格密码的秘密握手方法
CN113609462A (zh) * 2021-08-06 2021-11-05 兰州理工大学 过期时间不可伪造的可撤销群签名方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于混沌映射的秘密握手协议;王闻博;程庆丰;陆思奇;赵进华;;信息网络安全;20151110(第11期);全文 *
基于格的后量子秘密握手方案;安致远;温雅敏;张方国;;网络空间安全;20200916(第09期);全文 *

Also Published As

Publication number Publication date
CN114461998A (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
Shen et al. Block design-based key agreement for group data sharing in cloud computing
CN111639361B (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
Fu et al. NPP: A new privacy-aware public auditing scheme for cloud data sharing with group users
Zhou et al. ExpSOS: Secure and verifiable outsourcing of exponentiation operations for mobile cloud computing
JP7190481B2 (ja) 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法
JP2019507510A (ja) 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
JP2005500740A (ja) Idベース暗号化および関連する暗号手法のシステムおよび方法
Harkins Dragonfly key exchange
US11616641B2 (en) Computer implemented system and method for sharing a common secret
JP2022528925A (ja) データを暗号化するためのコンピュータにより実施される方法及びシステム
CN111130758B (zh) 一种适用于资源受限设备的轻量级匿名认证方法
Rabaninejad et al. Comments on a lightweight cloud auditing scheme: Security analysis and improvement
Yin et al. Two‐Round Password‐Based Authenticated Key Exchange from Lattices
CN117118617A (zh) 一种基于模分量同态的分布式门限加解密方法
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
Kumar et al. Anonymous ID-based Group Key Agreement Protocol without Pairing.
CN108809996B (zh) 不同流行度的删重存储数据的完整性审计方法
Farash Cryptanalysis and improvement of ‘an improved authentication with key agreement scheme on elliptic curve cryptosystem for global mobility networks’
CN114461998B (zh) 一种全动态可追踪环境下基于格的秘密握手方法
Tahir et al. A scheme for the generation of strong cryptographic key pairs based on ICMetrics
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
Jarecki et al. On the insecurity of proactive RSA in the URSA mobile ad hoc network access control protocol
CN116318636A (zh) 一种基于sm2的门限签名方法
CN113362065A (zh) 一种基于分散式私钥的在线签名交易实现方法
Chaudhari et al. Towards lightweight provable data possession for cloud storage using indistinguishability obfuscation

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
GR01 Patent grant
GR01 Patent grant