1. 介绍
随机回答技术(RRT)最初是由Warner[13]提出的,用于在调查中提出敏感问题。RRT背后的基本思想是为每个敏感问题添加一个相反的问题。受访者选择以一定的概率p回答敏感问题,而选择以概率1−p回答相反的问题。包括受访者在内的其他人不知道受访者选择了哪个问题,因此,受访者的隐私得到了保护。目前,RRT已被应用于隐私保护数据挖掘[14]、[15]等领域。
本文提出了一种基于RRT和聚集块信息的虹膜模板保护方法。具体来说,首先随机生成一个特定应用的参数,并使用该参数对虹膜数据进行置换;其次,将置换后的数据分成三部分,并分别对这三部分应用RRT(使用不同的参数);最后,将结果分成块,计算并存储每个块中的聚合信息(即所有比特的总和),以代替原始虹膜数据进行隐私保护。我们证明了所提出的方法可以满足不可逆性、可撤销和不可链接性。实验结果表明,该方法在保护原始虹膜数据隐私的同时,对虹膜数据库CASIA-IrisV3-Interval具有较好的识别性能(GAR=97.71%,FAR=0.01%,EER=1.20)。
2. 相关工作
3. 随机响应技术
随机回答技术(RRT)最早是由Warner在1965年提出的[13],用于进行包含受访者不愿回答的敏感问题的调查。
例如,一项调查包含以下敏感问题:
Q1: You have cancer.
A. Yes B. No
不愿透露健康状况的人不会参与调查,也不会在调查中撒谎,这会使调查结果不可靠。为了解决这个问题,RRT在调查中增加了另一个相反的问题,即:
Q2: You do not have cancer.
A. Yes B. No
此外,RRT使用概率参数p,受访者可以使用随机装置来选择以概率p回答问题Q1或以概率1−p回答问题Q2。请注意,包括采访者在内的其他人不知道受访者选择了哪个问题,从而保护了受访者的隐私。在这种情况下,人们可能更愿意参与调查,他们不需要撒谎。面试官只知道受访者的答案,从他的角度来看,受访者的答案是相同的(W.r.t.。不使用RRT的原始调查的答案)以概率p,并以概率1−p改变为相反的答案(即从“是”变为“否”或从“否”变为“是”)。
在本文中,我们使用RRT来保护虹膜模板。虹膜图像被转换成二进制字符串,二进制虹膜数据的每一位要么保持不变,要么以一定的概率改变为相反的值。
4. 提出的方法
A. Basic method
基本方法分为两个阶段:注册阶段和识别阶段。需要注意的是,本文研究的虹膜数据被表示为二值字符串,省略了以前将采集的图像转换为二值虹膜数据的过程,因为这些任务可以由现有的虹膜识别系统来完成。我们主要关注虹膜数据的隐私保护。
1) Enrollment:
如果一个人想成为提供虹膜识别的服务器的有效用户,他应该进行注册阶段。在注册阶段,用户应该首先向服务器提交他的虹膜数据和注册请求。
服务器收到数据后,会检查虹膜数据的有效性(例如,数据是否来自正常的人虹膜,质量是否足够)。如果虹膜数据有效,则服务器会在本地将虹膜数据转换为模板。图1中示出了将虹膜数据转换为模板的简化示例。具体来说,注册阶段如下:
1.个人C向服务器S提交其虹膜数据x和注册请求。
2.服务器S检查x是否为有效的虹膜数据。如果无效,则S将拒绝注册请求,并向C发送注册失败消息。否则,S向C发送注册成功消息和参数(用于转换),并通过以下过程将x转换为模板r:
3.C接收、B、D并将其存储在客户端。
请注意,特定于应用程序的参数是由S在任何注册之前随机生成的,其中
是一个随机的1,...,m的排列(m=L/d,d是Perm(x,i)中使用的字长)。在RRT中,我们通常将第一部分、第二部分、第三部分分别设置为p1、p2、p3=0.5、0.75、1.0。当p1=0.5时,在第1部分实现了强大的隐私保护,因为第1部分将被转换为随机字符串。当p3=1.0时,x的第3部分保持不变,RRT不会增强该部分的私密性。我们在第二部分使用p=0.75来实现适度的隐私保护。使用l1、l2和l3来控制这三个部分的长度。
2) Recognition:
如果人C已经成为服务器S的合法用户,则他可以进行识别阶段以使用服务器资源。在识别阶段,C需要捕获他的实时虹膜数据,并将
到模板
通过在登记阶段将x转换为r的相同过程(除了使用RRT)。之后,C将发送
转到S以表示认可。具体内容如下所示:
1.C转换他的实时虹膜数据到模板
,将
传送到S。
2.S收到并估计了距离
和数据库中的每个模板(参见第IV.C节)。如果S发现距离小于阈值R,则授权C使用系统资源。
注意,我们在生成时不使用RRT,因为我们的主要目标是保护存储在服务器端的虹膜数据(一旦攻击者侵入服务器,他们就可以获取存储在服务器上的整个虹膜数据库,如果不保护虹膜数据,这将导致很大的隐私泄露和财产损失的风险),而使用RRT通常会导致识别性能的下降。然而,攻击者还是很难追回
从
因为
仅包含聚合信息。(就是对于
就变换到
,而不执行后来的操作了,不用转换到
)
B. Permutation
这一部分介绍了Perm(x,i)的细节。排列策略主要用于实现非链接性(如第五节和第六节所示)。具体地说,Perm(x,i)包含以下步骤:
1)将x分成m个字(其中L=m×d,d是字的大小),并将i=…
设为1…m的排列。
2)计算t,i=1…L:,
请注意,由于RRT和聚合块信息的使用,即使当被披露时,原始虹膜数据仍然受到保护。
C. Distance
这一部分介绍了如何估计和来自
的x(用户C提交)和存储在服务器端数据库中的模板r(共x个)。当S进行识别阶段时,它对所有用户使用相同的参数,从而以相同的方式排列每个虹膜数据。
因此,我们有Dis(x,)=Dis(t,
),其中Dis(x,
)。计算x和
之间的距离。由于我们只能得到聚合的块信息r和
,所以我们选择以下距离公式:
(可是t不是已经被丢掉了吗???)
然而S只知道r、,不知道t、
。因此我们找到 r、
和t、
之间的关系:
让,其中i=1,...,n。
。(z是没经过RRT的,r是经过RRT的和)
假设和
是两个变量,对于任意常量u、v(0 ≤ u,v ≤ b)。
让=u,在用过RRT后
=v的概率为:
因此让 =v,
=u的概率为:
在计算距离时,我们使用Pr(zi=u|ri)代替Pr(zi=u|ri=v),因为ri是已知的。因此,给定ri和,Dis(x,
)。可以估计为:
注意,当对t的三个部分应用RRT时,分别使用不同的参数p1、p2、p3,因此对于这三个部分,应将p1、p2、p3分别替换为(4)中的p。不同参数p1、p2和p3的RRT会导致不同程度的失真,所以在计算距离时,我们对不同的部分使用不同的权重w1、w2、w3。
因此,Dis(x,)可以通过以下方式进行估计:
此时,
,
,
,
,
。
D. Shifting and masking
1) Shifting:
在虹膜识别中,为了处理拍摄虹膜图像时头部旋转不当和归一化不完善带来的噪声,通常采用移位策略[35]。当将移位策略应用于传统的虹膜识别时,二值虹膜串被循环移位。假设原始虹膜数据为x=x1...x1(不分块),并且ns是移位长度。当计算x和另一虹膜数据之间的汉明距离时,我们有:
其中和
,即xi是通过用i比特循环移位x而获得的。
在我们的方法中,虹膜数据被分成块,最终生成模板r=r1...rn。每个值ri是一个整数,对应于x中的一个块,如果出于某些原因(如降低用户端的通信成本和计算成本)需要在服务器端进行移位策略,则不能逐位对模板进行移位。因此,我们需要逐块移位模板,并且将ns设置为块大小的整数倍(即,b)。
具体地,假设ns=nb×b,则对于实时模板,有:
其中,
即
是通过循环移位
i个位置。
在一些场景中,例如只需要移位很少的比特,可以在用户侧进行移位策略。一些应用可能需要将移位策略与掩蔽策略一起进行,并且可能从原始虹膜串的不同位提取最终移位的模板(由于掩蔽策略)。在这种情况下,在用户侧移动虹膜数据可能更好,因为移动的模板的通信成本可能比原始虹膜串的通信成本更小。因此,距离也可以通过(9)计算,但是,的含义被更改为从xi转换的模板。
2) Masking:
在虹膜识别中,由于可预见的错误或设备缺陷引起的噪声可以被掩码标记出来,我们可以在匹配过程中绕过这些噪声,以提高识别性能。在传统的虹膜识别中,掩蔽策略的使用如下:
其中xm、分别是x,
的掩码,并且噪声在一个比特标记为0。kn是x和
都没有噪声的位数,即
。x和
在这里没有分成块。
在x和分成块,并将它们转换为模板r和
之后,我们需要划分xm和
也分成n个块,并获得聚集信息。例如,我们从xm获得rm=
,其中
(i=1...n)计算如下:
接下来,x和之间的距离计算如下:
kn是rm和都等于1的位置的个数,
如果fkn=0,则去掩码。将被设置为较大的值(例如,L),并且它将被视为类间匹配。 当同时使用移位策略和掩蔽策略时,x和
之间的距离是多少按以下公式计算:
5. 安全性和有效性
A. Security
1) irreversibility:
(不知道为什么这篇有点看不下去,可能是有点疲了.........)