一种基于代数方程的匿名身份归类识别方法与流程

文档序号:17977389发布日期:2019-06-21 23:53阅读:363来源:国知局
一种基于代数方程的匿名身份归类识别方法与流程

本发明涉及信息安全领域,尤其涉及一种基于代数方程的隐私保护的粗粒度身份识别方法,也即身份归类方法。



背景技术:

身份识别技术已被广泛地应用于各种系统中以确认用户身份的真实性。在典型的身份识别场景中,身份的识别方(称为验证者)需对用户的具体身份进行识别。然而,在很多实际应用场景(如门禁系统)中,验证者无需知道用户的具体身份,只需判断出用户所属的类别或群组即可。



技术实现要素:

本发明技术解决问题:克服现有技术的不足,提供一种基于代数方程的匿名身份归类识别方法,同时保证用户身份信息的匿名性和识别方案的简洁性。

本发明主要涉及验证者与用户两类实体,它们构成本发明所涉及的身份归类系统。其中,验证者为诚实但可能好奇的,即验证者严格遵守规定的协议流程工作,但同时有可能试图去获知用户的具体身份。向验证者发起匿名的身份归类请求的实体可能为用户或非用户,统一将发起该请求的实体称为请求者。本发明旨在实现验证者对匿名请求者的正确归类,并同时保证用户的具体身份不被验证者与可能存在的外部窃听者获知;所述“正确归类”是指将用户归类到所属类别,并识别出非用户。

本发明采用的技术方案如下:

所使用的符号统一约定如下。h(·)为抗碰撞的单向哈希函数(其特点是输入长度任意但输出长度固定,在实际计算中不能从输出值反推出输入,且在有限时间内找到哈希值相等的两个不同输入值不可行)。身份归类系统中验证者为V。身份归类系统中有n个用户U1,U2,...,Un,他们来自于m个互不重叠的类别G1,G2,...,Gm,且n≥m。

如图1所示,本发明一种基于代数方程的匿名身份归类识别方法,包括初始化和识别过程两部分。

实现步骤如下:

一、初始化过程

各用户Ui与验证者V分别共享一个随机数ki作为秘密信息,且Ui不应泄露ki。

二、识别过程

如图2所示,当请求者P向身份归类系统发起匿名的身份归类请求时,验证者V启动识别过程。

(1)验证者V为身份归类系统中的类别G1,G2,...,Gm分别分配不同的新鲜随机数r1,r2,...,rm,并选取此次识别过程的即时参数s。s可为序列号、时间戳、新鲜随机数等,由验证者V在每次识别过程开始时重新选取。

(2)验证者V根据每个用户Ui的秘密信息ki与该用户所在类别对应的随机数rj构造代数方程f(x),使得当输入为h(s,ki)时,f(x)的输出为rj;这里rj∈{r1,…,rm},h(·)表示单向哈希函数,h(s,ki)表示以s和ki为输入时的哈希函数值。

(3)验证者V将即时参数s与步骤(2)中得到的f(x)的各系数以适当的形式作为挑战C发送给请求者P。

(4)请求者P以即时参数s以及其持有的秘密信息k为函数输入计算h(s,k),并将f(h(s,k))作为对挑战C的响应R发送给验证者V。

(5)验证者V验证其在步骤(1)中选取的随机数r1,…,rm中是否存在某一个与响应R相等,若存在rj∈{r1,…,rm}满足R=rj,则将请求者P归类至rj对应的类别Gj,即将请求者归类至第j个组,输出j;否则输出0,表示无法归类,也即识别失败。

另外,针对上述各步骤还有进一步的限定如下:

为降低计算开销,所有数学过程(如随机数的选取、代数方程的构造过程等)可在整数域中(即在模p的意义下)进行,其中p建议选取结构合理且充分大的素数。

所述识别过程步骤(2)中,验证者V根据h(s,ki)和rj,利用代数方法(如拉格朗日插值法、牛顿插值法等)构造方程f(x)。特别地,当系统中只存在一个类别G1时,验证者V使用代数方法构造代数方程时,应引入虚拟的类别和归属于这些类别的虚拟用户,并基于所有的真实用户和虚拟用户构造f(x);或者验证者V不采用代数方法而直接构造代数方程

所述识别过程步骤(3)中,验证者将代数方程的各系数以适当的形式发送给请求者。其“以适当的形式”是为了保证代数方程的运算结果的准确性。例如,当代数方程f(x)某个系数为整数时,验证者直接发送该系数;当某个系数为分数时,验证者以分子和分母这两个整数相结合的形式进行发送。特别地,当所有数学过程在模p意义下进行且p为素数时,验证者可以将分数系数转换为分母模p的乘法逆元与分子之积来发送。

所述识别过程步骤(4)中,当请求者为身份归类系统中某一用户时,k为请求者与验证者V共享的ki。

进一步的,当身份归类系统中用户数与类别数相等,即n=m时,每个类别中仅存在一个用户,验证者对用户完成归类就可获知其确切身份。在上述情况下,本发明中的匿名归类过程将完全退化为身份认证过程。

进一步的,当身份归类系统中仅存在一个类别,即m=1时,验证者通过归类过程仅能分辨出请求者是用户或非用户,而无法获知任何更多的信息。

进一步的,本发明可扩展至不同类别之间存在重叠的身份归类系统中,此时,验证者只需将重叠部分单独视为一个新的类别即可。例如,当某个身份归类识系统包含两个类别G1和G2,且G1∩G2不为空集时,验证者只需将G1∩G2单独提升为一个新的类别即可。

与现有技术相比,本发明的有益效果为:

(1)本发明提出了一种粗粒度的身份识别方法,使得验证者无需获知用户的确切身份就可正确判断用户所属的类别,简单易行。

(2)本发明基于简单的挑战与响应,简化了识别过程,降低了用户与验证者之间的通信延时。

(3)本发明提出的方法基于代数方程实现,识别过程只涉及基本的数学运算,如域中的加减乘除,便于软硬件实现。特别地,当p为结构合理的素数时,识别过程仅涉及模p意义下的加法与乘法运算,并能加速对模p的计算,可进一步降低用户侧的实现难度。

(4)本发明提出的方法支持用户所属类别的变更,当身份归类系统中某一用户对应的类别发生变化时,验证者仅需在构建代数方程时使用新类别对应的随机数进行计算;特别地,当系统需排除某一用户时,验证者仅需在识别过程中,不使用该用户的秘密信息构建代数方程即可,保证用户身份信息的匿名性。

(5)本发明适用于现实中的多种应用场景。

附图说明

图1为本发明方法实现流程图;

图2为本发明基于代数方程的匿名身份归类识别方法示意图。

图3为本发明中基于拉格朗日插值法构造代数方程的身份归类方法示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清晰明白,以下将结合具体实施例,并参照附图对本发明做详细的说明。

本实施例以具有5个用户U1,…,U5以及2个互不重叠的类别G1和G2的身份归类系统为例对匿名身份归类识别的过程进行具体说明,其中,U1、U2、U3属于G1,U4、U5属于G2,验证者使用拉格朗日插值法构造代数方程f(x)。具体实现步骤为:

一、系统初始化过程

用户U1,…,U5分别与验证者共享秘密信息其中p为足够大的素数。

二、识别过程

如图3所示,当用户U2作为请求者P向系统提交身份归类请求时,验证者V启动识别过程。

(1)验证者V分别给G1和G2分配不同的新鲜随机数r1,并选取新鲜随机数s作为即时参数。

(2)验证者V构造代数方程f(x),使得f(h(s,k1))=f(h(s,k2))=f(h(s,k3))=r1,f(h(s,k4))=f(h(s,k5))=r2。根据拉格朗日插值法,f(x)=r1(l(1)+l(2)+l(3))+r2(l(4)+l(5)),其中随后,验证者V将f(x)mod p以a0+a1x+a2x2+a3x3+a4x4的形式表示,其中mod表示取模运算。

(3)验证者V以适当的形式发送s和系数a0,a1,a2,a3,a4作为给请求者P的挑战C。

(4)请求者P将h(s,k2)代入a0+a1x+a2x2+a3x3+a4x4,并将计算结果对p取模后作为对挑战C的响应R发送给验证者V。

(5)验证者V收到来自请求者P的响应R后,将R与r1、r2比较。在本例中R=r1,则请求者V将请求者P归类为第1个类别G1,并输出1作为识别结果。

综上所述,本发明提出的一种基于代数方程进行匿名身份归类识别的方法,使得验证者无需获知用户的具体身份,就可完成对用户的身份归类。本发明基于代数方程完成对用户身份的归类,无需使用复杂的密码学方案,减小了识别过程的通信延时与计算开销,且软硬件实现的成本低。同时,本发明可灵活实现对用户类别的变更。

以上所述实施例仅为更好的说明本发明的目的、技术方案和有益效果。所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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