CN110149633A - 一种支持批验证的安全多方认证方法及系统 - Google Patents
一种支持批验证的安全多方认证方法及系统 Download PDFInfo
- Publication number
- CN110149633A CN110149633A CN201910408662.5A CN201910408662A CN110149633A CN 110149633 A CN110149633 A CN 110149633A CN 201910408662 A CN201910408662 A CN 201910408662A CN 110149633 A CN110149633 A CN 110149633A
- Authority
- CN
- China
- Prior art keywords
- user
- predicate
- metadata
- authentication
- block chain
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000013598 vector Substances 0.000 claims abstract description 50
- 238000012795 verification Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 23
- 125000004122 cyclic group Chemical group 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出一种支持批验证的安全多方认证方法,包括:系统管理员选取安全参数,生成系统公开参数和主私钥,并将所述系统公开参数写入区块链;系统管理员利用所述系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链;针对认证需求,系统管理员利用所述系统公开参数和主私钥生成一个密文谓词标签,并写入区块链;每个用户利用所述系统公开参数和所述密文谓词标签生成自己的元数据并写入区块链;每个用户利用所述系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续挑选出满足谓词条件的合法用户,以完成认证过程。
Description
技术领域
本发明涉及信息安全密码领域,具体涉及一种支持批验证的安全多方认证方法及系统。
背景技术
随着信息技术和物联网技术的快速发展,各类无线物联网设备已取得广泛应用。无线物联网设备之间可以采用自组织网络模式进行通信,相互协作共同完成用户指定的任务。比如,在野外工作环境下,用户可能难以连接外部通信信号,此时可以利用无线物联网设备搭建临时的自组织通信平台,借助于该平台完成预期任务。
然而,无线物联网设备在构建自组织通信网络时,需能够对其他设备的身份进行验证,只有通过验证的设备才可共同构建通信网络。否则,若有恶意设备加入通信网络,必将造成通信内容的泄露,给用户造成难以估量的损失。显然,在野外工作环境下,难以存在一个可靠的中心节点对所有的物联网设备进行认证,因此设备之间需要采用分布式模式完成相互认证。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种支持批验证的安全多方认证方法及系统,旨在解决多用户构建自组织通信网络时的高效认证问题。
为实现上述目的及其他相关目的,本发明提供一种支持批验证的安全多方认证方法,该方法包括以下步骤:
系统管理员选取安全参数,生成系统公开参数和主私钥,并将所述系统公开参数写入区块链;
系统管理员利用所述系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链;
针对认证需求,系统管理员利用所述系统公开参数和主私钥生成一个密文谓词标签,并写入区块链;
每个用户利用所述系统公开参数和所述密文谓词标签生成自己的元数据并写入区块链;
每个用户利用所述系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续挑选出满足谓词条件的合法用户,以完成认证过程。
可选地,所述系统公开参数表示为:
其中,G和GT表示素数p阶的循环群,G×G→GT表示双线性映射运算,表示m维向量,d0,d1,d2,...,d2m表示参数,g表示生成元,c表示域Zp上的非0元素,表示域Zp的非零元素子集{1,2,..,p-1}。
可选地,所述主私钥表示为其中,m×m的可逆矩阵S1=[si,j]m×m和S2=[ti,j]m×m,si,j∈Zp以及ti,j∈Zp,Zp表示域,表示m维的向量。
可选地,所述系统管理员利用所述系统公开参数和主私钥,为每个用户分配属性向量和用户标签,具体包括:
针对每个用户Uj,系统管理员为其指定一个二进制属性向量其中,表示该用户拥有属性表示该用户不拥有属性1≤j≤n,1≤l≤m;
针对每个用户Uj,系统管理员根据中元素的取值对二进制属性向量进行分割,得到两个分割属性向量和
针对每个用户Uj,系统管理员计算用户标签为其中矩阵乘法为域Zp上的运算,Lj,1=(θj,1,1,θj,1,2,…,θj,1,m)以及
针对每个用户Uj,系统管理员随机选取参数并计算到公开参数和其中和表示循环群G上的幂运算;
系统管理员将属性向量和用户标签Lj发送给用户Uj。
可选地,所述系统管理员利用所述系统公开参数和主私钥生成一个密文谓词标签,具体包括:
针对本次认证需求,系统管理员指定一个二进制标签向量其中,表示子集B包含属性表示子集B不包含属性
针对本次认证需求,系统管理员根据中元素的取值对二进制标签向量进行分割,得到两个分割标签向量和
针对本次认证需求,系统管理员计算密文谓词标签为其中矩阵乘法为域Zp上的运算;
针对本次认证需求,系统管理员选取门限值τ,该门限值满足
针对本次认证需求,系统管理员随机选取一个认证参数
系统管理员将密文谓词标签门限值τ和认证参数δ写入区块链。
可选地,所述每个用户利用所述系统公开参数和所述密文谓词标签生成自己的元数据,具体包括:
每个用户Uj验证下式是否成立:
其中,·表示Zp上的向量内积运算。如果上式成立,说明用户Uj是满足谓词条件的用户,则用户Uj继续执行后续步骤,否则终止执行后续步骤;
每个用户Uj构造如下一元函数:
根据认证参数计算得到函数值ψj(δ),并使用多项式长除法计算得到一元函数记χj(x)的系数向量为(χj,0,χj,1,…,χj,2m);
每个用户Uj计算得到元数据
每个用户Uj将自己的用户标签Lj=(Lj,1,Lj,2)和元数据Γj写入区块链。
可选地,所述每个用户利用所述系统公开参数批量验证其他用户的元数据是否正确,具体包括:
每个用户Uj根据其他用户Uz的标签Lz=(Lz,1,Lz,2)、元数据Γz以及公开参数Dz,计算得到中间参数以及其中,1≤z≤n且z≠j;
每个用户Uj验证下式是否成立:
Cz表示用户Uz的公开参数;
若成立,则断定其他所有用户的元数据均合法,否则,说明某些用户的元数据不合法,用户Uj可进一步单独对每个用户的元数据进行验证。
可选地,所述挑选出满足谓词条件的合法用户,具体包括:
使用以下方法单独对每个其他用户Uz的元数据进行验证,对不能通过验证的用户进行剔除:
用户Uj针对合法的用户的集合U'中的每个用户Uz∈U'验证下式是否成立:
如果成立,则说明该用户Uz∈U'的属性集满足预定的谓词条件,从而成功完成对用户Uz∈U'的认证;否则,认定用户Uz∈U'不合法。
为实现上述目的及其他相关目的,本发明还提供一种支持批验证的安全多方认证系统,该系统包括:
系统初始化模块,用于生成系统公开参数和主私钥,并将所述系统公开参数写入区块链;
用户属性分配模块,用于利用系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链;
认证初始化模块,用于利用所述系统公开参数和主私钥生成一个密文谓词标签,并写入区块链;
认证响应模块,用于利用所述系统公开参数和所述密文谓词标签生成自己的元数据并写入区块链;
验证模块,用于利用所述系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续挑选出满足谓词条件的合法用户,以完成认证过程。
为实现上述目的及其他相关目的,本发明还提供一种计算机可读存储介质,存储计算机程序,所述计算机程序被处理器运行时执行如下步骤:
选取安全参数,生成系统公开参数和主私钥,并将所述系统公开参数写入区块链;
利用所述系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链;
利用所述系统公开参数和主私钥生成一个密文谓词标签,并写入区块链;
利用所述系统公开参数和所述密文谓词标签生成自己的元数据并写入区块链;
利用所述系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续挑选出满足谓词条件的合法用户,以完成认证过程。
如上所述,本发明的一种支持批验证的安全多方认证方法及系统,具有以下有益效果:
本发明认证过程无需借助可信中心节点,且可保障用户属性信息的隐私。本方法给每个用户分配一组属性,该组属性由系统管理员进行加密,使得在认证过程中任何用户均无法获取真实的属性内容。针对每次认证需求,系统将设定一个谓词条件和门限值,该谓词条件规定了符合认证条件的用户需拥有的属性子集,且满足条件的属性数量必须达到该门限值,即当用户拥有的属性数量不低于该门限值时,才能被认证为合法用户。本方法允许每个用户对其他用户生成的元数据进行批量验证,从而提升本地的计算效率。
附图说明
为了进一步阐述本发明所描述的内容,下面结合附图对本发明的具体实施方式作进一步详细的说明。应当理解,这些附图仅作为典型示例,而不应看作是对本发明的范围的限定。
图1为本发明一实施例的一种支持批验证的安全多方认证方法的架构图;
图2为本发明一实施例的一种支持批验证的安全多方认证方法的流程图;
图3为本发明一实施例的一种支持批验证的安全多方认证系统的框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了使本领域技术人员对本发明的技术方案更加清晰的理解,先对本发明中的一些技术术语进行说明。
(1)系统管理员(System manager):计算系统的公开参数和主私钥,将系统公开参数写入区块链;根据系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链;根据系统公开参数和主私钥为每次认证任务生成一个密文谓词标签,并写入区块链。
(2)用户(Users):针对每次认证任务,每个用户利用系统公开参数和密文谓词标签,生成自己的元数据并写入区块链;每个用户利用系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续挑选出满足谓词条件的合法用户,以完成认证过程。
系统架构图如图1所示。
本发明使用了双线性映射相关的数学知识,特在此作相关定义说明。
定义一个函数映射G×G→GT将循环群G中的元素映射到循环群GT中,其中G和GT均是两个阶为素数p的循环群。双线性映射需满足如下特性:
(1)双线性特性:对于任意μ,ν∈G,任意x,y∈Zp,均有成立,其中Zp={0,1,2,..,p-1};
(2)非退化特性:群G中至少存在一个元素g,使得为群GT的生成元;
(3)高效性:存在有效的算法,使得对于任意μ,ν∈G,可以有效计算出的值。
如图2所示,本发明提供一种支持批验证的安全多方认证方法,该方法包括以下步骤:
步骤1.系统管理员选取安全参数,生成系统公开参数和主私钥,并将系统公开参数写入区块链。
具体地,该步骤1具体包括以下子步骤:
步骤11:系统管理员输入系统安全参数κ,运行初始化算法Θ(1κ),选取两个阶为素数p的循环群G和GT以及一个双线性映射运算G×G→GT;
其中,所述的初始化算法Θ(1κ),其运行方法如下:系统管理员输入系统安全参数κ,系统根据κ的大小,选择相应的椭圆曲线:Y2=X3+uX+v(u和v为系数),用椭圆曲线上的点构成两个素数p阶的循环群G和GT,选择一种映射函数将循环群G中的元素映射到循环群GT中;一般,安全参数κ数值越大,所选取的椭圆曲线上的点也越多,循环群也越大。
步骤12:系统管理员运行随机数生成算法,从循环群G中随机选择一个生成元g,即G=<g>;
其中,所述的随机数生成算法,其方法如下:根据步骤11所选取的椭圆曲线Y2=X3+uX+v,随机选择自变量X的一个值计算对应因变量Y的值若点在所要映射的循环群G中,则成功生成了随机元素;若点不在循环群G中,则继续重新选择X的值,直到找到出现在循环群G中的点。
步骤13:系统管理员设定一个用户属性集合A={a1,a2,…,am},属性值构成一个m维属性向量;
步骤14:系统管理员选取两个m×m的可逆矩阵S1=[si,j]m×m和S2=[ti,j]m×m,其中si,j∈Zp以及ti,j∈Zp;
步骤15:系统管理员随机选取一个m维的二进制向量
步骤16:系统管理员随机选取一个域Zp上的非0元素进一步计算参数其中0≤i≤2m,表示域Zp的非零元素子集{1,2,..,p-1};
最后,系统管理员将系统公开参数写入区块链,自己保存主私钥
步骤2.系统管理员利用系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链。
具体地,该步骤2具体包括以下子步骤:为便于表述,本发明假设系统共有n个用户,即用户集合为U={U1,U2,…,Un}。
步骤21:针对每个用户Uj(1≤j≤n),系统管理员为其指定一个二进制属性向量其中,表示该用户拥有属性表示该用户不拥有属性
步骤22:针对每个用户Uj(1≤j≤n),系统管理员根据中元素的取值对二进制属性向量进行分割,得到两个分割属性向量和分割方法如下:如果则令否则,随机选取参数令计算其中
步骤23:针对每个用户Uj(1≤j≤n),系统管理员计算用户标签为其中矩阵乘法为域Zp上的运算;为便于后文使用,记Lj,1=(θj,1,1,θj,1,2,…,θj,1,m)以及
步骤24:针对每个用户Uj(1≤j≤n),系统管理员随机选取参数并计算到公开参数和其中和表示循环群G上的幂运算;
最后,系统管理员将属性向量和用户标签Lj发送给用户Uj,将(Uj,Cj,Dj)写入区块链。
步骤3.针对认证需求,系统管理员利用系统公开参数和主私钥生成一个密文谓词标签,并写入区块链。
本步骤允许系统管理员根据不同的认证场景需求,为一组用户指定一个共同的谓词条件φ,该谓词条件从用户属性集合A中提取出了一个子集B,使得拥有B中属性的数量达到某预设门限值τ的用户Uj可以被成功认证,即用户Uj需满足
具体地,该步骤3具体包括以下子步骤:
步骤31:针对本次认证需求,系统管理员指定一个二进制标签向量其中,表示子集B包含属性表示子集B不包含属性
步骤32:针对本次认证需求,系统管理员根据中元素的取值对二进制标签向量进行分割,得到两个分割标签向量和分割方法如下:如果则令否则,随机选取参数令计算其中
步骤33:针对本次认证需求,系统管理员计算密文谓词标签为其中矩阵乘法为域Zp上的运算;
步骤34:针对本次认证需求,系统管理员选取门限值τ,该门限值满足
步骤35:针对本次认证需求,系统管理员随机选取一个认证参数
最后,系统管理员将密文谓词标签门限值τ和认证参数δ写入区块链,所有用户U={U1,U2,…,Un}均可读取。
步骤4.每个用户利用系统公开参数和密文谓词标签,生成自己的元数据并写入区块链。
具体地,该步骤4具体包括以下子步骤:
步骤41:每个用户Uj(1≤j≤n)验证下式是否成立:
其中,·表示Zp上的向量内积运算。如果上式成立,说明用户Uj是满足谓词条件的用户,则用户Uj继续执行后续步骤,否则终止执行后续步骤;
步骤42:每个用户Uj(1≤j≤n)构造如下一元函数:
根据认证参数δ计算得到函数值ψj(δ),并使用多项式长除法计算得到一元函数记χj(x)的系数向量为(χj,0,χj,1,…,χj,2m);
步骤43:每个用户Uj(1≤j≤n)计算得到元数据
最后,每个用户Uj(1≤j≤n)将自己的用户标签Lj=(Lj,1,Lj,2)和元数据Γj写入区块链,使得其他用户U\{Uj}均可读取。
步骤5.每个用户利用系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续筛选出满足谓词条件的合法用户,以完成认证过程。
具体地,该步骤5具体包括以下子步骤:
步骤51:每个用户Uj(1≤j≤n)根据其他用户Uz(1≤z≤n且z≠j)的标签Lz=(Lz,1,Lz,2)、元数据Γz以及公开参数Dz,计算得到中间参数以及
步骤52:每个用户Uj(1≤j≤n)验证下式是否成立:
若成立,则断定其他所有用户的元数据均合法,否则,说明某些用户的元数据不合法,用户Uj可以进一步使用以下方法单独对每个其他用户Uz(1≤z≤n且z≠j)的元数据进行验证,对不能通过验证的用户进行剔除:
步骤53:令步骤52中判断合法的用户集合表示为U',用户Uj(1≤j≤n)针对U'中的每个用户Uz∈U'验证下式是否成立:
如果成立,则说明该用户Uz∈U'的属性集满足预定的谓词条件,从而成功完成对用户Uz∈U'的认证;否则,认定用户Uz∈U'不合法。
本发明提出的方法给每台设备预先分配一组属性,采用属性向量进行表示。当需要构建自组织通信网络时,系统根据本次任务指定一个全局的谓词条件,规定了每台合法的设备需要具备的属性内容和数量。每台设备均可检验自己是否满足该谓词条件,当满足时进一步生成自己的一组元数据,使得其他设备能够验证该设备的合法性。
由于每台设备均需要验证其他所有设备的合法性,当设备数量规模较大时,将消耗较多的计算资源,甚至难以满足实时性要求。因此,本发明提出的方法允许每台设备采用批验证的方式对其他设备的元数据进行验证,且在验证过程中无需和其他设备进行交互。每台设备还可以进一步验证其他设备的属性向量是否满足本次认证的谓词条件,以完成对其他设备的认证过程,并将该验证结果通知系统其他设备。
如图3所示,一种支持批验证的安全多方认证系统,该系统包括:
系统初始化模块,用于生成系统公开参数和主私钥,并将所述系统公开参数写入区块链;
用户属性分配模块,用于利用系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链;
认证初始化模块,用于利用所述系统公开参数和主私钥生成一个密文谓词标签,并写入区块链;
认证响应模块,用于利用所述系统公开参数和所述密文谓词标签生成自己的元数据并写入区块链;
验证模块,用于利用所述系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续挑选出满足谓词条件的合法用户,以完成认证过程。
需要说明的是,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例的内容请参见方法部分的实施例的描述,这里暂不赘述。
本发明所述的一种支持批验证的安全多方认证装置不但可以保护认证过程中用户属性信息的隐私,而且支持系统根据不同认证需求设定不同的谓词条件,该谓词条件指定合法用户所需拥有的属性集合以及拥有的属性向量门限值。
综上所述,本发明在多用户环境下采用谓词条件验证用户的合法性,只有当用户拥有的属性值满足谓词条件且属性数量达到门限值才可被认证合法,且在此过程中不泄露用户的具体属性值,解决了多用户构建通信网络时的匿名身份认证问题。该方法的优点和功效是:
1)本发明方法对用户的属性向量进行加密,该密文处理结果被用于认证过程,因此可确保用户属性向量在传输过程以及认证过程中的隐私。
2)本发明方法支持对不同的认证需求设置不同的谓词条件,且该谓词条件以密文形式向用户公开,使得用户在使用该密文谓词条件认证其他用户时无需对其进行解密,确保了该谓词条件内容的隐私。
3)本发明方法支持用户对其他用户的元数据进行批量验证,从而降低了用户执行认证时的计算开销。
4)本发明方法将系统和用户产生的所有公开数据写入区块链,使得所有用户均可对其验证,确保了数据不可被篡改。
本发明还提供一种存储介质,存储计算机程序,所述计算机程序被处理器运行时执行前述的设计方法。
本发明还提供一种电子终端,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器存储的计算机程序,以使所述设备执行前述的设计方法。
所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器((RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可以是内部存储单元或外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字卡(Secure Digital,SD),闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括内部存储单元,也包括外部存储设备。所述存储器用于存储所述计算机程序以及其他程序和数据。所述存储器还可以用于暂时地存储己经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种支持批验证的安全多方认证方法,其特征在于,该方法包括以下步骤:
系统管理员选取安全参数,生成系统公开参数和主私钥,并将所述系统公开参数写入区块链;
系统管理员利用所述系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链;
针对认证需求,系统管理员利用所述系统公开参数和主私钥生成一个密文谓词标签,并写入区块链;
每个用户利用所述系统公开参数和所述密文谓词标签生成自己的元数据并写入区块链;
每个用户利用所述系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续挑选出满足谓词条件的合法用户,以完成认证过程。
2.根据权利要求1所述一种支持批验证的安全多方认证方法,其特征在于,所述系统公开参数表示为:
其中,G和GT表示素数p阶的循环群,G×G→GT表示双线性映射运算,表示m维向量,d0,d1,d2,...,d2m表示参数,g表示生成元,c表示域Zp上的非0元素, 表示域Zp的非零元素子集{1,2,..,p-1}。
3.根据权利要求1所述一种支持批验证的安全多方认证方法,其特征在于,所述主私钥表示为其中,m×m的可逆矩阵S1=[si,j]m×m和S2=[ti,j]m×m,si,j∈Zp以及ti,j∈Zp,Zp表示域,表示m维的向量。
4.根据权利要求3所述一种支持批验证的安全多方认证方法,其特征在于,所述系统管理员利用所述系统公开参数和主私钥,为每个用户分配属性向量和用户标签,具体包括:
针对每个用户Uj,系统管理员为其指定一个二进制属性向量其中,表示该用户拥有属性 表示该用户不拥有属性
针对每个用户Uj,系统管理员根据中元素的取值对二进制属性向量进行分割,得到两个分割属性向量和
针对每个用户Uj,系统管理员计算用户标签为其中矩阵乘法为域Zp上的运算,Lj,1=(θj,1,1,θj,1,2,…,θj,1,m)以及
针对每个用户Uj,系统管理员随机选取参数并计算到公开参数和其中和表示循环群G上的幂运算;
系统管理员将属性向量和用户标签Lj发送给用户Uj。
5.根据权利要求4所述一种支持批验证的安全多方认证方法,其特征在于,所述系统管理员利用所述系统公开参数和主私钥生成一个密文谓词标签,具体包括:
针对本次认证需求,系统管理员指定一个二进制标签向量其中,表示子集B包含属性 表示子集B不包含属性
针对本次认证需求,系统管理员根据中元素的取值对二进制标签向量进行分割,得到两个分割标签向量和
针对本次认证需求,系统管理员计算密文谓词标签为其中矩阵乘法为域Zp上的运算;
针对本次认证需求,系统管理员选取门限值τ,该门限值满足
针对本次认证需求,系统管理员随机选取一个认证参数
系统管理员将密文谓词标签门限值τ和认证参数δ写入区块链。
6.根据权利要求5所述的一种支持批验证的安全多方认证方法,其特征在于,所述每个用户利用所述系统公开参数和所述密文谓词标签生成自己的元数据,具体包括:
每个用户Uj验证下式是否成立:
其中,·表示Zp上的向量内积运算。如果上式成立,说明用户Uj是满足谓词条件的用户,则用户Uj继续执行后续步骤,否则终止执行后续步骤;
每个用户Uj构造如下一元函数:
根据认证参数计算得到函数值ψj(δ),并使用多项式长除法计算得到一元函数记χj(x)的系数向量为(χj,0,χj,1,…,χj,2m);
每个用户Uj计算得到元数据
每个用户Uj将自己的用户标签Lj=(Lj,1,Lj,2)和元数据Γj写入区块链。
7.根据权利要求6所述的一种支持批验证的安全多方认证方法,其特征在于,所述每个用户利用所述系统公开参数批量验证其他用户的元数据是否正确,具体包括:
每个用户Uj根据其他用户Uz的标签Lz=(Lz,1,Lz,2)、元数据Γz以及公开参数Dz,计算得到中间参数以及其中,1≤z≤n且z≠j;
每个用户Uj验证下式是否成立:
Cz表示用户Uz的公开参数;
若成立,则断定其他所有用户的元数据均合法,否则,说明某些用户的元数据不合法,用户Uj进一步单独对每个用户的元数据进行验证。
8.根据权利要求7所述的一种支持批验证的安全多方认证方法,其特征在于,所述挑选出满足谓词条件的合法用户,具体包括:
使用以下方法单独对每个其他用户Uz的元数据进行验证,对不能通过验证的用户进行剔除:
用户Uj针对合法的用户的集合U'中的每个用户Uz∈U'验证下式是否成立:
如果成立,则说明该用户Uz∈U'的属性集满足预定的谓词条件,从而成功完成对用户Uz∈U'的认证;否则,认定用户Uz∈U'不合法。
9.一种支持批验证的安全多方认证系统,其特征在于,该系统包括:
系统初始化模块,用于生成系统公开参数和主私钥,并将所述系统公开参数写入区块链;
用户属性分配模块,用于利用系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链;
认证初始化模块,用于利用所述系统公开参数和主私钥生成一个密文谓词标签,并写入区块链;
认证响应模块,用于利用所述系统公开参数和所述密文谓词标签生成自己的元数据并写入区块链;
验证模块,用于利用所述系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续挑选出满足谓词条件的合法用户,以完成认证过程。
10.一种计算机可读存储介质,存储计算机程序,其特征在于,所述计算机程序被处理器运行时执行如下步骤:
选取安全参数,生成系统公开参数和主私钥,并将所述系统公开参数写入区块链;
利用所述系统公开参数和主私钥,为每个用户分配属性向量和用户标签,并将生成的用户公开参数写入区块链;
利用所述系统公开参数和主私钥生成一个密文谓词标签,并写入区块链;
利用所述系统公开参数和所述密文谓词标签生成自己的元数据并写入区块链;
利用所述系统公开参数批量验证其他用户的元数据是否正确,如果正确则继续挑选出满足谓词条件的合法用户,以完成认证过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408662.5A CN110149633B (zh) | 2019-05-16 | 2019-05-16 | 一种支持批验证的安全多方认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408662.5A CN110149633B (zh) | 2019-05-16 | 2019-05-16 | 一种支持批验证的安全多方认证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110149633A true CN110149633A (zh) | 2019-08-20 |
CN110149633B CN110149633B (zh) | 2022-03-08 |
Family
ID=67595478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910408662.5A Active CN110149633B (zh) | 2019-05-16 | 2019-05-16 | 一种支持批验证的安全多方认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110149633B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131336A (zh) * | 2020-03-30 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 多方授权场景下的资源访问方法、装置、设备及存储介质 |
CN112394683A (zh) * | 2020-11-24 | 2021-02-23 | 桂林电子科技大学 | 一种利用工控系统的文件传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180309581A1 (en) * | 2017-04-19 | 2018-10-25 | International Business Machines Corporation | Decentralized biometric signing of digital contracts |
CN108901020A (zh) * | 2018-05-29 | 2018-11-27 | 维沃移动通信有限公司 | 网络接入的方法、移动终端及服务器 |
CN109409884A (zh) * | 2018-10-25 | 2019-03-01 | 北京安如山文化科技有限公司 | 一种基于sm9算法的区块链隐私保护方案和系统 |
CN109687976A (zh) * | 2019-01-07 | 2019-04-26 | 西安邮电大学 | 基于区块链与pki认证机制的车队组建及管理方法及系统 |
-
2019
- 2019-05-16 CN CN201910408662.5A patent/CN110149633B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180309581A1 (en) * | 2017-04-19 | 2018-10-25 | International Business Machines Corporation | Decentralized biometric signing of digital contracts |
CN108901020A (zh) * | 2018-05-29 | 2018-11-27 | 维沃移动通信有限公司 | 网络接入的方法、移动终端及服务器 |
CN109409884A (zh) * | 2018-10-25 | 2019-03-01 | 北京安如山文化科技有限公司 | 一种基于sm9算法的区块链隐私保护方案和系统 |
CN109687976A (zh) * | 2019-01-07 | 2019-04-26 | 西安邮电大学 | 基于区块链与pki认证机制的车队组建及管理方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131336A (zh) * | 2020-03-30 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 多方授权场景下的资源访问方法、装置、设备及存储介质 |
CN111131336B (zh) * | 2020-03-30 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 多方授权场景下的资源访问方法、装置、设备及存储介质 |
CN112394683A (zh) * | 2020-11-24 | 2021-02-23 | 桂林电子科技大学 | 一种利用工控系统的文件传输方法 |
CN112394683B (zh) * | 2020-11-24 | 2022-03-11 | 桂林电子科技大学 | 一种利用工控系统的文件传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110149633B (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110892672B (zh) | 提供设备匿名性的密钥认证声明生成 | |
US9787647B2 (en) | Secure computer evaluation of decision trees | |
CN108269062B (zh) | 基于h5的电子合同制作方法、装置、设备及介质 | |
CN109921905B (zh) | 基于私钥池的抗量子计算密钥协商方法和系统 | |
CN109361508A (zh) | 数据传输方法、电子设备及计算机可读存储介质 | |
CN111600711A (zh) | 一种细粒度移动访问的加密、解密系统及加密、解密方法 | |
CN109936455A (zh) | 一种数字签名的方法、装置和系统 | |
CN110149633B (zh) | 一种支持批验证的安全多方认证方法及系统 | |
CN109728905B (zh) | 基于非对称密钥池的抗量子计算mqv密钥协商方法和系统 | |
CN109787754A (zh) | 一种数据加解密方法、计算机可读存储介质及服务器 | |
CN112865973A (zh) | 基于格的加密密钥和数字签名的生成方法 | |
CN106888213B (zh) | 云密文访问控制方法及系统 | |
CN109274504B (zh) | 一种基于云平台的多用户大数据存储分享方法及系统 | |
CN112395636B (zh) | 电网数据加密模型训练方法、系统、存储介质及设备 | |
Meshram et al. | An efficient remote user authentication with key agreement procedure based on convolution-Chebyshev chaotic maps using biometric | |
CN110443069A (zh) | 一种移动社交网络隐私保护的方法、系统及设备 | |
CN114139197A (zh) | 一种代理安全多方计算方法、系统、处理设备及存储介质 | |
CN116701831B (zh) | 处理数据的方法、装置及存储介质 | |
CN110781503B (zh) | 数据调用方法、装置及计算机可读存储介质 | |
CN117349685A (zh) | 一种通信数据的聚类方法、系统、终端及介质 | |
CN111130791B (zh) | 数据签名方法、电子设备及计算机可读存储介质 | |
US8904508B2 (en) | System and method for real time secure image based key generation using partial polygons assembled into a master composite image | |
CN113868690B (zh) | 一种基于可信存证的隐私计算方法及系统 | |
TWI701931B (zh) | 具分級機制的數位簽章方法及適用該方法的硬體錢包裝置 | |
CN110915162A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190820 Assignee: Guilin Weisichuang Technology Co.,Ltd. Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY Contract record no.: X2023980046257 Denomination of invention: A Secure Multi party Authentication Method and System Supporting Batch Verification Granted publication date: 20220308 License type: Common License Record date: 20231108 |