隐藏数据匹配设备、程序及方法与流程

文档序号:11520117阅读:274来源:国知局
隐藏数据匹配设备、程序及方法与流程

本文讨论的实施方式涉及隐藏数据匹配设备、隐藏数据匹配程序和隐藏数据匹配方法。



背景技术:

生物认证是使用关于人的生理特征和行为特征的信息的个人认证技术。生理特征包括例如指纹、静脉、虹膜和dna。行为特征包括例如笔迹。通过预先获取被称为模板的生物信息并且将该生物信息与在匹配时由传感器获取的信息进行比较来执行生物认证。

近年来,用于将通过对模板进行转换而获得并且存储在数据库中的信息与生物信息进行比较而不需要在匹配时将转换的信息恢复成原始模板的生物认证技术受到关注。该生物认证技术被称为“模板受保护的生物认证技术”。在使用模板受保护的生物认证技术的系统中,即使转换的模板泄露,也可以将转换方法改变成使得泄露的模板不可用并且避免对泄露的模板的访问的另一方法。

作为模板受保护的生物认证技术,已知被称为密钥绑定方案的模板保护方案。作为密钥绑定方案之一,存在通过格元素相加的密钥绑定方案。在通过格元素相加的密钥绑定方案中,例如预先限定包括要用于确定要匹配的数据与登记数据之间的相似度的阈值的确定矩阵。在通过格元素相加的密钥绑定方案中,通过使用确定矩阵等对要登记的生物信息进行隐藏来生成模板,并且将确定矩阵和模板存储于数据库中。在通过格元素相加的密钥绑定方案中,通过使用确定矩阵等对要匹配的生物信息进行隐藏来生成数据,并且根据生成的数据和模板来计算余数向量,该余数向量指示通过使用确定矩阵作为除数进行除法运算而获得的余数。然后,在通过格元素相加的密钥绑定方案中,确定要匹配的生物信息是否足够接近于登记的生物信息。相关技术的示例为日本公开特许公报no.2010-108365、日本公开特许公报no.2010-146245、日本公开特许公报no.2014-95878以及国际公布小册子no.wo2012/056582。

在常规的通过格元素相加的密钥绑定方案中,通过向量来表示登记的生物信息和要匹配的生物信息,并且使用以下标准来做出确定:“要匹配的生物信息是否足够接近于登记的生物信息”、“向量的分量之间的差是否等于或小于阈值”。另一方面,在生物认证中,使用针对生物信息的类型而不同的标准例如向量之间的汉明距离、向量之间的平方范数距离等来确定生物信息之间的相似度,而不是使用在通常情况下的向量的分量之间的差。

然而,在常规的通过格元素相加的密钥绑定方案中,不支持针对生物信息的类型而不同的各种标准,可适用的生物信息的类型有限,而且如果强制应用标准,则认证的准确度可能会降低。

前述问题不仅可能会出现在生物信息的认证中,而且可能出现在基于要匹配的数据与登记数据之间的相似度而执行的一般认证中。要匹配的数据和登记数据可以是数值信息例如位置信息或机密信息。

根据一个方面,目的是提供可以提高认证的准确度的隐藏数据匹配设备、隐藏数据匹配程序和隐藏数据匹配方法。



技术实现要素:

根据本发明的方面,一种用于计算机的隐藏数据匹配方法,其包括:登记第一隐藏向量,该第一隐藏向量是通过基于确定矩阵的行向量的线性组合和第一随机数隐藏登记数据和密钥数据而获得的;获取第二隐藏向量;计算余数向量,该余数向量指示通过对第一隐藏向量与第二隐藏向量之间的差作进行除法运算而获得的余数;基于余数向量来确定登记数据与匹配数据之间的相似度;如果确定登记数据与匹配数据相似,则从余数向量提取密钥数据;计算登记数据与匹配数据之间的向量间距离;以及基于向量间距离的大小来确定登记数据与匹配数据之间的相似度。

附图说明

图1是描述根据实施方式的隐藏数据匹配系统的功能配置的示例的图;

图2是描述根据实施方式的近似确定矩阵的图;

图3是描述对应于根据实施方式的近似确定矩阵的行向量的图;

图4是描述根据实施方式的近似确定矩阵的近似范围与阈值之间的关系的图;

图5是示出根据实施方式的登记隐藏数据的一系列处理的图;

图6是示出根据实施方式的匹配隐藏数据的一系列处理的图;以及

图7是示出执行隐藏数据匹配程序的计算机的示例的图。

具体实施方式

在下文中,参照附图来描述本文公开的隐藏数据匹配设备、本文公开的隐藏数据匹配程序和本文公开的隐藏数据匹配方法的实施方式。隐藏数据匹配设备使用通过格元素相加的密钥绑定方案,其中,通过格元素相加的密钥绑定方案是模板受保护的生物认证技术之一。本公开内容不限于实施方式。

隐藏数据匹配设备的配置

图1是描述根据实施方式的隐藏数据匹配系统的功能配置的示例的图。如图1所示,隐藏数据匹配系统9包括客户终端1和2以及隐藏数据匹配设备3。隐藏数据匹配设备3包括数据库330。隐藏数据匹配设备3与客户终端1和2经由网络彼此相连。

隐藏数据匹配系统9基于被称为格掩蔽(latticemasking)的特殊随机数(格元素)来隐藏客户的生物数据和特定于客户的密钥数据,并且将通过隐藏生物数据和密钥数据而获得的第一隐藏数据登记在数据库330中。然后,当接收到对生物数据进行交叉检验的请求时,隐藏数据匹配系统9使用不同的格元素来隐藏生物数据并且通过使用不同的格元素隐藏生物数据来获得第二隐藏数据。然后,隐藏数据匹配系统9使用特定于格理论的映射来基于第一隐藏数据与第二隐藏数据之间的差确定对应于第一隐藏数据的生物数据是否与对应于第二隐藏数据的生物数据近似(或相似)。然后,如果隐藏数据匹配系统9确定对应于第一隐藏数据的生物数据与对应于第二隐藏数据的生物数据近似,则隐藏数据匹配系统9从第一隐藏数据与第二隐藏数据之间的差提取密钥数据。另外,如果隐藏数据匹配系统9确定对应于第一隐藏数据的生物数据与对应于第二隐藏数据的生物数据近似,则隐藏数据匹配系统9计算对应于第一隐藏数据的生物数据与对应于第二隐藏数据的生物数据之间的向量间距离。隐藏数据匹配系统9基于计算的向量间距离与认证阈值之间的大小关系来确定生物数据之间的相似度。如果隐藏数据匹配系统9确定对应于第一隐藏数据的生物数据与对应于第二隐藏数据的生物数据近似,则隐藏数据匹配系统9将提取的密钥数据输出至请求的源。实施方式假定客户终端1是生物数据被登记的客户的终端并且假定客户终端2是请求对生物数据进行匹配的终端。隐藏数据匹配系统9可以包括多个客户终端1。隐藏数据匹配系统9可以包括多个客户终端2。

下面来描述通过隐藏数据匹配系统9对特定于客户的生物数据和密钥数据进行隐藏的细节以及通过隐藏数据匹配系统9对隐藏数据进行近似确定的细节。

客户终端1包括登记请求器11和隐藏数据生成器12。

登记请求器11请求隐藏数据匹配设备3登记生物数据111和密钥112。例如,登记请求器11从外部终端接收生物数据111和密钥112。然后,登记请求器11请求隐藏数据匹配设备3登记接收到的生物数据111和接收到的密钥112。外部终端可以是经由网络连接至客户终端1的终端。

生物数据111是关于客户的生理特征或行为特征的数据。关于生理特征的数据的示例是指纹、静脉、虹膜和dna。关于行为特征的数据的示例是笔迹。实施方式假定生物数据111由具有n维分量的向量来表示。密钥112是客户请求与生物数据111一起登记的密钥数据。例如,实施方式假定密钥112由值来表示。

另外,登记请求器11从隐藏数据匹配设备3接收作为对登记请求的响应的对应于(稍后描述的)近似确定矩阵331的线性组合(格元素),并且将接收到的格元素输出至隐藏数据生成器12。当从隐藏数据生成器12接收到通过隐藏生物数据111和密钥112而获得的隐藏向量时,登记请求器11请求隐藏数据匹配设备3登记隐藏向量。

隐藏数据生成器12生成通过隐藏生物数据111和密钥112而获得的隐藏向量。

例如,隐藏数据生成器12针对生物数据111和密钥112生成通过向通过组合生物数据111和密钥112所获得的数据附加“0”获得的(n+2)维向量,其中0作为组合数据的最后一个分量。具体地,隐藏数据生成器12生成通过将向包括在生物数据111中的n维分量附加包括在密钥112中的一维分量和“0”而获得的(n+2)维向量,其中0作为第(n+2)个分量。作为示例,假定生物数据111是指示n维分量的t,密钥112是指示一维分量的k。在该情况下,隐藏数据生成器12生成(n+2)维向量[t,k,0]。

如下文描述的,从隐藏数据匹配设备3接收到的对应于近似确定矩阵331的线性组合(格元素)是(n+2)维向量。当从登记请求器11接收到线性组合(格元素)时,隐藏数据生成器12生成随机数。然后,隐藏数据生成器12生成通过将线性组合(格元素)和随机数的乘积与生成的(n+2)维向量相加而获得的隐藏向量。作为示例,如果随机数为r1并且(n+2)维格元素为b1,则隐藏向量由[t,k,0]+r1×b1来表示。然后,隐藏数据生成器12将生成的隐藏向量输出至登记请求器11。

客户终端12包括匹配请求器21和隐藏数据生成器22。

匹配请求器21请求隐藏数据匹配设备3对生物数据进行交叉检验。请求匹配的生物数据被称为匹配数据211。实施方式假定匹配数据211由具有n维分量的向量来表示。另外,匹配请求器21从隐藏数据匹配设备3接收作为匹配请求的响应的对应于(稍后描述的)近似确定矩阵331的线性组合(格元素)并且将接收到的格元素输出至隐藏数据生成器22。当从隐藏数据生成器22接收到通过隐藏匹配数据211而获得的隐藏向量时,匹配请求器21请求隐藏数据匹配设备3对隐藏向量进行交叉检验。从隐藏数据匹配设备3接收到的格元素不同于在登记时由客户终端1的登记请求器11接收到的格元素。

隐藏数据生成器22生成通过隐藏匹配数据211而获得的隐藏向量。

例如,隐藏数据生成器22生成通过向匹配数据211附加“0”而获得的(n+2)维向量,其中“0”作为匹配向量的最后一个分量和倒数第二个分量。具体地,隐藏数据生成器22生成通过向包括在匹配数据211中的n维分量附加“0”而获得的(n+2)维向量,其中“0”作为(n+1)维分量和(n+2)维分量。作为示例,假定匹配数据211为指示n维分量的q。在该情况下,隐藏数据生成器22生成(n+2)维向量[q,0,0]。

当从匹配请求器21获取到线性组合(格元素)时,隐藏数据生成器22生成随机数。然后,隐藏数据生成器22生成通过将线性组合(格元素)和随机数的乘积与生成的(n+2)维向量相加而获得的隐藏向量。作为示例,如果随机数为r2并且(n+2)维格元素为b2,则隐藏向量由[q,0,0]+r2×b2来表示。然后,隐藏数据生成器22将生成的隐藏向量输出至匹配请求器21。生成随机数的方法是任意的。然而,期望参数彼此不同以便抑制客户终端1和客户终端2所生成的随机数彼此相等。

隐藏数据匹配设备3包括登记部31、匹配确定部32和存储部33。登记部31生成稍后描述的近似确定矩阵并且将生成的近似确定矩阵登记在存储部33中所包括的数据库330中。另外,登记部31将请求登记的隐藏数据登记在存储部33中所包括的数据库330中。匹配确定部32将通过隐藏请求匹配的匹配数据而获得的数据与登记的隐藏数据进行交叉检验,并且确定通过隐藏匹配数据而获得的数据是否与登记的隐藏数据近似。

存储部33是存储设备例如硬盘或光盘。存储部33可以是可重写的半导体存储器,例如随机存取存储器(ram)、只读存储器(rom)、闪速存储器或非易失性静态随机存取存储器(nvsram)。

存储部33包括数据库330。在数据库330中存储有近似确定矩阵331、隐藏数据332和阈值信息333。近似确定矩阵331和隐藏数据332通过稍后描述的登记部31进行登记。稍后对近似确定矩阵331的细节进行描述。阈值信息333是存储要用于基于匹配数据与登记数据之间的向量间距离来确定匹配数据与登记数据之间的相似度的认证阈值的数据。可以通过外部终端设备等来改变阈值信息333中存储的认证阈值。

登记部31包括随机数生成器311、近似确定矩阵生成器312、近似确定矩阵登记部313和隐藏数据登记部314。

随机数生成器311生成要用于近似确定矩阵331的随机数并且将生成的随机数输出至近似确定矩阵生成器312。在生成近似确定矩阵331时,将要用于近似确定矩阵331的随机数附加至指示近似范围的阈值的方形矩阵作为方形矩阵的最后一列和倒数第二列。近似范围的阈值是由客户设置为近似范围的值并且是指示用于近似范围的向量的维度的长度的信息。例如,如果生物数据为三维数据(n=3)并且生物数据的分量的近似范围的阈值为“e、f和g”,则随机数生成器311生成满足e/2≥h1、f/2≥i1、并且g/2≥j1的随机数h1、i1和j1作为倒数第二列的分量。另外,如果稍后描述的密钥112的阈值为“k”,则随机数生成器311生成任意随机数“m”和随机数“h2、i2、j2和l”,其中随机数“h2、i2、j2和l”用作最后一列的分量并且满足e/2≥h2、f/2≥i2、g/2≥j2和k/2≥l。

近似确定矩阵生成器312生成要用于进行近似确定的近似确定矩阵331。对于包括隐藏数据匹配设备3的每个系统,近似确定矩阵生成器312生成不同的近似确定矩阵331。

例如,近似确定矩阵生成器312生成以下对角矩阵:该对角矩阵具有指示近似范围的阈值的对角元素并且具有指示“0”的其他元素。作为示例,如果要接受确定的生物数据是具有n个分量的信息,即生物数据111是n维信息,则近似确定矩阵生成器312生成n×n对角矩阵。另外,近似确定矩阵生成器312在第(n+1)行第(n+1)列处的分量中设置密钥112的阈值。密钥112的阈值是指示能够由客户设置为密钥112的值中的最大值的信息。

然后,近似确定矩阵生成器312生成通过以下方式获得的(n+2)×n矩阵:向生成的n×n对角矩阵附加所有元素均指示“0”的两个行,使得附加的两个行是(n+2)×n矩阵的最后一行和倒数第二行。然后,近似确定矩阵生成器312生成具有n个分量的随机数向量,其中,分量的数目n与对角矩阵的行数n相同。近似确定矩阵生成器312生成具有n+2个分量的随机数向量,其中,分量的数目n+2(指示最终的行数)是通过将2与对角矩阵的行数n相加而获得的。在随机数向量的分量中设置有由随机数生成器311生成的随机数。然后,隐藏数据匹配设备3生成附加有随机数向量的(n+2)×(n+2)方形矩阵作为近似确定矩阵311。

近似确定矩阵登记部313将由近似确定矩阵生成器312生成的近似确定矩阵331登记在数据库330。

参照图2来描述近似确定矩阵331。图2是描述根据实施方式的近似确定矩阵的图。在图2所示的示例中,生物数据和近似范围由三维值来表示。如图2所示,对应于近似确定矩阵331的近似确定矩阵v是通过将密钥的阈值和随机数向量附加至用于近似确定的矩阵而获得的矩阵。

用于近似确定的矩阵以指示近似范围在每个维度上的向量长度的阈值作为对角元素。例如,在图2所示的示例中,如果生物数据是三维数据[x,y,z],则用于近似确定的矩阵的第一行指示近似范围在x轴方向上的长度为“20”,用于近似确定的矩阵的第二行指示近似范围在y轴方向上的长度为“20”,以及用于近似确定的矩阵的第三行指示近似范围在z轴方向上的长度为“20”。具体地,图2中示出的用于近似确定的矩阵用于确定要匹配的生物数据和登记的生物数据在沿x轴方向上是否在“±10”的范围内、在y轴方向上是否在“±10”的范围内以及在z轴方向上是否在“±10”的范围内。

在用于插入密钥的第四行中,添加“0,0,0”。在第四列中,添加随机数向量“7,4,5”和阈值“20000”或者添加“7,4,5,20000”。在第五行或最后一行中,添加“0,0,0,0”。在第五列或最后一列中,添加随机数向量“5,3,-2,-42,123”。在图2所示的示例中,近似范围由三维值来表示。然而,实施方式不限于此,并且近似范围可以由任意维度的值来表示。

隐藏数据登记部314将隐藏数据登记在数据库330中。登记的隐藏数据对应于密钥绑定方案中受保护的模板。

例如,如果客户终端1请求隐藏数据匹配设备3登记生物数据111和密钥112,则隐藏数据登记部314生成用于与近似确定矩阵331相对应的线性组合的随机数。作为示例,隐藏数据登记部314获取行向量v1、v2、...和vn+2,这些行向量中的每一个具有n+2个分量并且对应于近似确定矩阵331。图3是描述对应于根据实施方式的近似确定矩阵的行向量的图。例如,如果近似确定矩阵331为图3所示的5×5矩阵,则隐藏数据登记部314获取行向量v1、v2、...和v5,这些行向量中每一个均以近似确定矩阵331的行作为分量。隐藏数据登记部314针对行向量v1、v2、...和vn+2选择一些整数c1、c2、...和cn+2。具体地,隐藏数据登记部314选择数目与行向量的数目相同的整数。然后,隐藏数据登记部314计算由行向量和整数的乘积之和或者c1×v1+c2×v2+…+cn+2×vn+2表示的(n+2)维向量作为线性组合。该线性组合是“格元素”。针对登记的生物数据中的每个生物数据,隐藏数据登记部314选择不同整数c1、c2、...和cn+2的组合并且计算作为所选择的整数与近似确定矩阵331的行向量的乘积之和的线性组合。

另外,隐藏数据登记部314将对应计算的线性组合或格元素分配给客户终端1作为对登记请求的响应。然后,如果客户终端1请求隐藏数据匹配设备3登记隐藏数据332,则隐藏数据登记部314将请求的隐藏数据332登记到数据库330中。

匹配确定部32包括匹配请求接收器321、计算器332、第一确定器323、距离计算器324、第二确定器325和密钥输出部326。

当从客户终端2接收到匹配请求时,匹配请求接收器321生成用于与近似确定矩阵331相对应的线性组合(格元素)的随机数。用于线性组合的随机数以与由隐藏数据登记部314进行的生成相同或类似的方式被生成。因此,省略对生成用于线性组合的随机数的描述。由匹配请求接收器321生成的格元素不同于在登记时由隐藏数据登记部314生成的格元素。

另外,匹配请求接收器321将对应计算的线性组合或格元素分配给客户终端2作为对匹配请求的响应。然后,当客户终端2请求隐藏数据匹配设备3对通过隐藏匹配数据211而获得的隐藏向量进行交叉检验时,匹配请求接收器321将请求匹配的隐藏向量输出至计算器322。

计算器322计算登记在数据库330中的隐藏数据332(隐藏向量)与从客户终端2接收到的通过隐藏匹配数据211而获得的隐藏向量之间的差向量。然后,计算器322计算余数向量,该余数向量指示通过将计算的差向量除以近似确定矩阵331而获得的余数。例如,计算器322执行模运算或者将计算的差向量除以近似确定矩阵331来计算余数向量。作为示例,如果差向量为z并且近似确定矩阵331为v,则余数向量由“zmodv”来表示。然后,计算器322将计算的余数向量输出至第一确定器323。

第一确定器323确定从计算器322接收到的余数向量的最后一个分量是否为“0”。如果余数向量的最后一个分量是“0”,则第一确定器323确定客户的登记生物数据111与匹配数据211近似。另一方面,如果余数向量的最后一个分量不是“0”,则第一确定器323确定客户的登记生物数据111与匹配数据211不近似。

如果第一确定器323确定客户的登记生物数据111与匹配数据211近似,则密钥输出部326从余数向量提取第(n+1)个分量的密钥112。

如果第一确定器323确定客户的登记生物数据111与匹配数据211近似,则距离计算器324计算登记的生物信息与要匹配的生物信息之间的向量间距离。例如,距离计算器324提取包括在余数向量中的与生物信息有关的分量并且计算由分量的平方和指示的平方范数距离作为向量间距离。向量间距离不限于平方范数距离,而可以是汉明距离、曼哈顿距离或者作为分量的加权和的距离。

第二确定器325基于由距离计算器324计算的向量间距离与存储在阈值信息333中的认证阈值的大小关系来确定客户的登记生物数据111与匹配数据211之间的相似度。例如,如果向量间距离等于或小于认证距离,则第二确定器325确定客户的登记生物数据111与匹配数据211近似。另一方面,如果向量间距离大于认证阈值,则第二确定器325确定客户的登记生物数据111与匹配数据211不近似。

如果第一确定器323和第二确定器325确定客户的登记生物数据111与匹配数据211近似,则密钥输出部326将提取的密钥112传送至请求匹配的客户终端2。

下面描述由匹配确定部32进行的近似确定的原理。将近似确定矩阵331描述为近似确定矩阵v。近似确定矩阵v的行向量v1、v2、...和vn+2的线性组合可以由基于近似确定矩阵v的行向量的线性组合c1×v1+c2×v2+…+cn+2×vn+2的集合l(格l)来表示。具体地,近似确定矩阵v的行向量的线性组合对应于由集合l的元素构成的格上的交集。

使用集合l的格元素b1和随机数r1通过下式(1)来表示通过隐藏n维生物数据t和密钥k而获得的隐藏向量h。[t,k,0]指示通过向生物数据t附加密钥k和“0”而获得的(n+2)维向量,其中“0”作为第(n+2)个分量。

h=[t,k,0]+r1×b1…式(1)

另外,使用集合l的格元素b2和随机数r2通过下式(2)来表示通过隐藏n维匹配数据q而获得的隐藏向量h'。[q,0,0]指示通过向匹配数据q附加“0”至而获得的(n+2)维向量,其中“0”作为第(n+1)个分量和第(n+2)个分量。另外,b2不同于b1。

h'=[q,0,0]+r2×b2…式(2)

在该情况下,通过下式(3)来表示隐藏向量h与隐藏向量h'之间的差向量z。

z=h-h'=[t-q,k,0]+r1×b1-r2×b2…式(3)

在该情况下,差向量z中所包括的(r1×b1-r2×b2)是集合l的元素与随机数的乘积之间的差并且包括在集合l的元素中。换言之,(r1×b1-r2×b2)对应于由集合l的元素构成的格上的任意交集。另外,如果通过近似确定矩阵v来计算差向量z的余数向量,则(zmodv)对应于以下事实:将差向量l映射到由集合l限定的基本域p(l)。因此,如果通过近似确定矩阵v来计算差向量z的余数向量,则忽略(r1×b1-r2×b2)。因此,当计算zmodv时,忽略包括差向量z的分量并且不包括差向量z的边缘分量的格部分,并且仅将包括差向量z的边缘分量的单个格映射到基本域p(l)。具体地,zmodv由下式(4)来表示。

zmodv=[t-q,k,0]modv…式(4)

如果向量[t-q,k,0]包括在基本域p(l)中或者生物数据t与匹配数据q近似,则zmodv=[t-q,k,0]。因此,如果生物数据t与匹配数据q近似,则(zmodv)的最后一个分量为“0”的可能性非常高。

另一方面,如果向量[t-q,k,0]未包括在基本域p(l)中或者生物数据t与匹配数据q不近似,则存在属于集合l的某个格元素b,zmodv=[t,q,k,0]+b。因此,如果生物数据t与匹配数据q不近似,则(zmodv)的最后一个分量不是“0”的可能性非常高。

在上述原理下,匹配确定部32通过近似确定矩阵v来计算隐藏向量之间的差向量z的余数向量并且可以基于计算的余数向量的最后一个分量来做出关于隐藏生物数据的近似确定。

接着,对被指定为近似确定矩阵331的对角元素中的近似范围的阈值与存储在阈值信息333中的认证阈值之间的关系进行描述。数据332是基于分配给客户终端1的格元素被隐藏并且对应于近似确定矩阵331被生成的。因此,在隐藏数据匹配系统9中,如果近似确定矩阵331在确定之后被改变,则必须对应于近似确定矩阵331重新生成和登记隐藏数据332。因此,在隐藏数据匹配系统9中,改变近似确定矩阵331要花费时间和精力,并且难以改变近似确定矩阵331。

在隐藏数据匹配系统9中,如果近似确定矩阵331的对角元素的阈值被设置成小的值,近似范围被设置得小并且匹配数据与登记数据之间存在小的差,则匹配数据和登记数据被确定成彼此不同,由此提高了安全等级。取决于获取生物信息时的情况,要用作匹配数据和登记数据的生物信息可能包括误差等。例如,如果从人的手指获取指纹作为生物信息,则指纹可能由于放置在读取表面上的手指的角度、取向等方面的误差而未被完全对准或读取,或者指纹的一部分的特征点可能由于这样的误差而未被读取。因此,如果近似确定矩阵331的近似范围被设置得小,则从人获取的要匹配的数据和从同一个人获取的登记数据可能被确定为从不同的人获取的数据。

因此,在隐藏数据匹配系统9中,可以将近似确定矩阵331的对角元素的阈值设置成相对大的值,并且将近似范围设置得相对大。例如,在隐藏数据匹配系统9中,近似确定矩阵331的近似范围设置成使得即使读取的数据包括误差,从人获取的要匹配的数据也被确定成与从同一个人获取的登记数据相似。例如,在隐藏数据匹配系统9中,将被视为可接受误差范围中的值的值指定为近似确定矩阵331的对角元素的阈值。

如果近似确定矩阵331的近似范围被设置得相对大,则从人获取的生物信息可能被确定成与从另一个人获取的生物信息相似。因此,在隐藏数据匹配系统9中,基于要保证的安全等级来改变存储在阈值信息333中的认证阈值。例如,在隐藏数据匹配系统9中,认证阈值随着认证的安全等级的提高而减小。在该情况下,在隐藏数据匹配系统9中,基于要保证的安全等级来改变存储在阈值信息333中的认证阈值,由此可以灵活地改变认证的安全等级。

图4是描述根据实施方式的近似确定矩阵的近似范围与认证阈值之间的关系的图。在图4中,示意性地示出了近似确定矩阵的近似范围40和基于认证阈值41的范围42。例如,将近似确定矩阵331的对角元素的阈值设置成被视为可接受的误差范围内的值的值。因此,如果匹配数据与登记数据之间的差在近似范围40中,则第一确定器323确定匹配数据与登记数据近似。另外,基于要保证的安全等级将认证阈值41改变成近似范围40中的值。如果匹配数据与登记数据之间的差在范围42中,则第二确定器325确定匹配数据与登记数据近似。在隐藏匹配系统9中,难以改变近似确定矩阵331,并且不管生物信息的类型如何,近似确定矩阵331的近似范围40均被视为可接受误差范围。在隐藏数据匹配系统9中,基于生物信息的类型来改变认证阈值41。因此,隐藏数据匹配系统9可以支持各种类型的生物信息的认证并且可以提高认证的准确度。在隐藏数据匹配系统9中,难以改变近似确定矩阵331,但是可以改变认证阈值41,由此可以灵活地改变认证的安全等级。

登记隐藏数据的一系列处理

接着,参照图5来描述登记隐藏数据的一系列处理。图5是示出根据实施方式的登记隐藏数据的一系列处理的图。在图5中,客户的生物数据111由t表示,特定于客户的密钥112由k表示,近似确定矩阵331由v表示,以及隐藏向量由h表示。

在隐藏数据匹配设备3中,近似确定矩阵生成器312生成近似确定矩阵v(在步骤s11中)。然后,近似确定矩阵登记部313将生成的近似确定矩阵v登记在数据库330中(在步骤s12中)。

在客户终端1中,登记请求器11获取要登记的信息(在步骤s13中)。在该情况下,登记请求器11获取生物数据t和密钥k作为要登记的信息。然后,登记请求器11请求隐藏数据匹配设备3登记生物数据t和密钥k(在步骤s14中)。

在隐藏数据匹配设备3中,从客户终端1接收到登记请求的隐藏数据登记部314生成随机数格向量(在步骤s15)中。在该情况下,登记部314计算由近似确定矩阵v的行向量与某些整数的乘积之和表示的线性组合。计算的线性组合是随机数格向量b1并且是格元素。然后,隐藏数据登记部314将计算的随机数格向量(格元素)b1传送至客户终端1(在步骤s16中)。

在客户终端1中,隐藏数据生成器12生成要登记的信息(在步骤s17)中。在该情况下,隐藏数据生成器12生成通过向通过组合生物数据t和密钥k所获得的数据附加“0”而获得的向量(t,k,0),其中“0”作为组合数据的最后一个分量。

然后,隐藏数据生成器12隐藏要登记的信息(在步骤s18)中。在该情况下,隐藏数据生成器12生成通过将随机数格向量(格元素)b1和随机数的乘积与生成的向量(t,k,0)相加而获得的隐藏向量h。如果随机数为r1,则隐藏向量h由(t,k,0)+r1×b1来表示。

然后,登记请求器11将隐藏向量h传送至隐藏数据匹配设备3以请求隐藏数据匹配设备3登记隐藏向量h或者要登记的由隐藏数据生成器12隐藏的信息(在步骤s19中)。因此,隐藏向量h被登记在隐藏数据匹配设备3的数据库330中。

匹配隐藏数据的一系列处理

接着,将参照图6来描述匹配隐藏数据的一系列处理。图6是示出匹配隐藏数据的一系列处理的图。在图6中,客户的匹配数据211由q表示,特定于客户的密钥112由k表示,近似确定矩阵331由v表示,隐藏向量由h'和h表示。

在客户终端2中,匹配请求器21获取要匹配的信息(在步骤s21中)。在该情况下,匹配请求器21获取匹配数据q作为要匹配的信息。然后,匹配请求器21请求隐藏数据匹配设备3对匹配数据q进行交叉检验(在步骤s22中)。

在隐藏数据匹配设备3中,从客户终端2接收到匹配请求的匹配请求接收器321从数据库330获取近似确定矩阵v(在步骤s23中)。然后,匹配请求接收器321生成随机数格向量(在步骤s24中)。在该情况下,匹配请求接收器321计算由读取的近似确定矩阵v的行向量和某些整数的乘积之和表示的线性组合。计算的线性组合是随机数格向量b2并且是格元素。然后,匹配请求接收器321将计算的随机数格向量(格元素)b2传送至客户终端2(在步骤s25中)。在该情况下,b2和b1彼此不同。

在客户终端2中,隐藏数据生成器22生成隐藏匹配信息(在步骤s26中)。在该情况下,隐藏数据生成器22生成通过向匹配数据q附加“0”而获得的向量(q,0,0)。然后,隐藏数据生成器22生成通过将随机数格向量(格元素)b2和随机数的乘积与生成的向量(q,0,0)相加而获得的隐藏向量h'。如果随机数为r2,则隐藏向量h'由(q,0,0)+r2×b2来表示。然后,匹配请求器21将隐藏向量h'传送至隐藏数据匹配设备3以请求隐藏数据匹配设备3对隐藏向量h'进行交叉检验(在步骤s27中)。

在隐藏数据匹配设备3中,计算器322从数据库330获取隐藏向量h(在步骤s28中)。然后,第一确定器323使用根据请求匹配的隐藏向量h'与获取的隐藏向量h之间的差向量所计算的余数向量并且执行第一认证以对隐藏向量h'与隐藏向量h进行交叉检验(在步骤s29中)。在该情况下,第一确定器323确定余数向量的最后一个分量是否为“0”。如果余数向量的最后一个分量是“0”,则第一确定器323确定匹配数据q与客户的登记生物数据t近似。另一方面,如果余数向量的最后一个分量不是“0”,则第一确定器323确定匹配数据q与客户的登记生物数据t不近似。

如果第一确定器323确定匹配数据q与客户的登记生物数据t近似,则密钥输出部326从余数向量提取特定于客户的密钥k(在步骤s30中)。如果第一确定器323确定匹配数据q与客户的登记生物数据t近似,则距离计算器324根据余数向量来计算登记生物信息与要匹配的生物信息之间的向量间距离(在步骤s31中)。第二确定器325执行第二认证以基于距离计算器324所计算的向量间距离与存储在阈值信息333中的认证阈值之间的大小关系来确定客户的登记生物数据111与匹配数据211之间的相似度(在步骤s32中)。在该情况下,如果向量间距离等于或小于认证阈值,则第二确定器325确定匹配数据211与客户的登记生物数据111近似。另外一方面,如果向量间距离大于认证阈值,则第二确定器325确定匹配数据211与客户的登记生物数据111不近似。

如果第一确定器323和第二确定器325确定匹配数据211与生物数据111近似,则密钥输出部326将提取的密钥k传送至请求匹配的客户终端2(在步骤s33中)。

因此,在此之后,客户终端2可以使用提取的特定于客户的密钥k来检验认证。作为示例,如果提取的特定于客户的密钥k是私钥,则客户终端2可以使用该私钥和预先存储的公钥来检验基于公钥认证方案的认证。

另外,隐藏数据匹配设备3可以使得生物数据能够满足作为模板受保护的生物认证技术之一的密钥绑定方案中的多样性性质。多样性性质是安全性要求之一并且是转换的模板不会在多个数据库之间交叉匹配生物数据的性质。具体地,该性质指示同一生物信息与存储在多个数据库中的转换的模板不具有任何共同特征。隐藏数据匹配设备3基于用于生物数据t和特定于客户的密钥k的近似确定矩阵v来生成要登记在数据库330中的隐藏向量h。假定隐藏向量h1和隐藏向量h2是根据用于生物数据t和特定于客户的密钥k的不同的两个近似确定矩阵v1和v2生成的。如果b1指示根据近似确定矩阵v1生成的格元素,则根据近似确定矩阵v1生成的隐藏向量h1由(t,k,0)+r1×b1来表示。如果b2指示根据近似确定矩阵v2生成的格元素,则根据近似确定矩阵v2生成的隐藏向量h2由(t,k,0)+r2×b2来表示。在该情况下,因为近似确定矩阵v1和v2彼此不同,所以b1和b2彼此不同,并且不能从两个隐藏向量h1和h2获取共同信息。因此,如果近似确定矩阵v1和近似确定矩阵v2在系统间不同,则隐藏向量h1和隐藏向量h2针对生物数据t和特定于客户的密钥k在多个数据库之间不交叉匹配,或者满足多样性性质。

登记和匹配隐藏数据的处理的具体示例

接着,使用具体示例来描述根据实施方式的登记和匹配隐藏数据的处理。假定隐藏数据匹配系统9使用三维数据作为生物数据。例如,假定输入至客户终端1的第一用户的生物数据t为三维向量[123,512,120]并且密钥k为“6479”。另外,假定通过隐藏数据匹配设备3生成图2所示的近似确定矩阵v。

登记隐藏数据的处理的具体示例

从客户终端1接收到登记生物数据t和密钥k的请求的隐藏数据匹配设备3将近似确定矩阵v的行向量视为行向量v1至v5。然后,隐藏数据匹配设备3计算由行向量v1至v5与某些整数的乘积之和表示的线性组合b1。如果分别选择2、3、-5、-1和5作为整数c1、c2、c3、c4和c5,则线性组合b1由下式(5)来表示。

b1=2×v1+3×v2-5×v3-v4+5×v5=[40,60,-100,-19999,686]…式(5)

然后,隐藏数据匹配设备3将计算的线性组合b1传送至客户终端1。

接收到线性组合b1的客户终端1生成通过将线性组合b1和随机数r1的乘积与向量(t,k,0)相加而获得的隐藏向量h,向量(t,k,0)是通过向通过组合生物数据t和密钥k所获得的数附加“0”而获得的,其中0作为组合数据的最后一个分量。在该情况下,如果客户选择的随机数r1为“7”,则隐藏向量h由下式(6)来表示。

h=[t,k,0]+r1×b1=[403,932,-580,-133496,4802]…式(6)

然后,客户终端1将计算的隐藏向量h传送至隐藏数据匹配设备3。隐藏数据匹配设备3将隐藏向量h登记在数据库330中。

匹配隐藏数据的处理的第一具体示例

作为一个示例,假定作为在匹配时输入至客户终端2的第一用户生物数据的匹配数据q1为[122,514,124]。

从客户终端2接收到对匹配数据q1进行交叉检验的请求的隐藏数据匹配设备3将近似确定矩阵v的行向量视为行向量v1至v5。然后,隐藏数据匹配设备3计算由行向量v1至v5与某些整数c'1至c'5的乘积之和表示的线性组合b2。如果分别选择5、-2、7、0和1作为c'1、c'2、c'3、c'4和c'5,则线性组合b2由下式(7)来表示。

b2=5×v1-2×v2+7×v3+v5=[100,-40,140,62,128]…式(7)

然后,隐藏数据匹配设备3将计算的线性组合b2传送至客户终端2。

接收到线性组合b2的客户终端2生成通过将线性组合b2和随机数r2的乘积与向量[q1,0,0]相加而获得的隐藏向量h1,其中,向量[q1,0,0]是通过向匹配数据q1附加“0”而获得的。在该情况下,如果客户选择的随机数r2是123,则隐藏向量h1由下式(8)来表示。

h1=[q1,0,0]+r2×b2=[12422,-4406,17344,7626,15744]…式(8)

客户终端2将计算的隐藏向量h1传送至隐藏数据匹配设备3以请求隐藏数据匹配设备3对隐藏向量h1进行交叉检验。

随后,隐藏数据匹配设备3执行第一认证。隐藏数据匹配设备3通过将请求匹配的隐藏向量h1与登记的隐藏向量h之间的差向量z1除以近似确定矩阵v来计算余数向量。在该情况下,计算差向量z1=(h–h1),并且根据下式(9)来计算通过使用近似确定矩阵v作为除数进行除法运算而获得的余数向量。在式(9)中,[z1×v-1]指示z1×v-1的每个元素被四舍五入成整数的整数向量并且该整数向量是与z1×v-1最接近的整数向量。

z1modv=z1-[z1×v-1]×v=[1,-2,-4,6497,0]…式(9)

因为根据隐藏向量h1计算的余数向量的最后一个分量是“0”,所以隐藏数据匹配设备3确定匹配数据q1与客户的登记生物数据t近似并且确定第一认证成功。在成功的第一认证之后,隐藏数据匹配设备3提取余数向量的倒数第二个分量的密钥k。在该情况下,提取“6479”作为密钥k。

随后,隐藏数据匹配设备3执行第二认证。在该情况下,假定隐藏数据匹配设备3基于客户的登记生物数据t与匹配数据q1之间的欧氏距离d来执行第二认证并且假定存储在阈值信息333中的认证阈值为“10”。具体地,假定如果对于t–q1=[x,y,z],下式(10)成立,则隐藏数据匹配设备3确定第二认证成功,并且假定如果对于t–q1=[x,y,z],下式(10)不成立,则隐藏数据匹配设备3确定第二认证失败。

d2=x2×y2×z2≤102…式(10)

作为第二认证,隐藏数据匹配设备3从式(9)提取t-q1=[1,-2,-4]并且根据式(10)计算d12=21。因为d12≤100,所以隐藏数据匹配设备3确定第二认证成功。

然后,如果第一认证和第二认证均成功,则隐藏数据匹配设备3将“6497”作为密钥k传送至请求匹配的客户终端2。

匹配隐藏数据的处理的第二具体示例

作为另一示例,假定作为在匹配时输入至客户终端2的第二用户生物数据的匹配数据q2为[121,555,123]。

从客户终端2接收到对匹配数据q2进行交叉检验的请求的隐藏数据匹配设备3将近似确定矩阵v的行向量视为行向量v1至v5。然后,隐藏数据匹配设备3计算由行向量v1至v5与某些整数c'1至c'5的乘积之和表示的线性组合b2。在该情况下,线性b2由前述式(7)来表示。

然后,隐藏数据匹配设备3将计算的线性组合b2传送至客户终端2。

接收到线性组合b2的客户终端2生成通过将线性组合b2和随机数r3的乘积与向量[q2,0,0]相加而获得的隐藏向量h2,其中,向量[q2,0,0]是通过向匹配数据q2附加“0”而获得的。在该情况下,如果客户选择的随机数r3为“-17”,则隐藏向量h2由下式(11)来表示。

h2=[q2,0,0]+r3×b2=[-1579,1235,-2257,-1054,-2176]…式(11)

然后,客户终端2将计算的隐藏向量h2传送至隐藏数据匹配设备3以请求隐藏数据匹配设备3对隐藏向量h2进行交叉检验。

随后,隐藏数据匹配设备3执行第一认证。隐藏数据匹配设备3通过将请求匹配的隐藏向量h2与登记的隐藏向量h之间的差向量z2除以近似确定矩阵v来计算余数向量。在该情况下,计算差向量z2=(h-h2),并且根据下式(12)来计算通过使用近似确定矩阵v作为除数进行除法运算所计算的余数向量。

z2modv=z2-[z2×v-1]×v=[2,-3,-3,6505,6]…式(12)

因为根据隐藏向量h2计算的余数向量的最后一个分量不是“0”,所以隐藏数据匹配设备3确定匹配数据q2与客户的登记生物数据t不近似。然后,隐藏数据匹配设备3将指示匹配失败的信息传送至请求匹配的客户终端2。

匹配隐藏数据的处理的第三具体示例

作为另一示例,假定作为在匹配时输入至客户终端2的第二用户生物数据的匹配数据q3为[129,504,122]。

从客户终端2接收到对匹配数据q3进行交叉检验的请求的隐藏数据匹配设备3将近似确定矩阵v的行向量视为行向量v1至v5。然后,隐藏数据匹配设备3计算由行向量v1至v5与某些整数c'1至c'5的乘积之和表示的线性组合b2。在该情况下,线性组合b2由前述式(7)来表示。

然后,隐藏数据匹配设备3将计算的线性组合b2传送至客户终端2。

接收到线性组合b2的客户终端2生成通过将线性组合b2和随机数r4乘积与向量[q3,0,0]相加而获得的隐藏向量h3,其中,向量[q3,0,0]是通过向匹配数据q3附加“0”而获得的。在该情况下,如果客户选择的随机数r4为“26”,则隐藏向量h3由下式(13)来表示。

h3=[q3,0,0]+r4×b2=[2729,-536,3762,1612,3328]…式(13)

然后,客户终端2将计算的隐藏向量h3传送至隐藏数据匹配设备3以请求隐藏数据匹配设备3对隐藏向量h3进行交叉检验。

随后,隐藏数据匹配设备3执行第一认证。隐藏数据匹配设备3通过将请求匹配的隐藏向量h3与登记的隐藏向量h之间的差向量z3除以近似确定矩阵v来计算余数向量。在该情况下,计算差向量z3=(h-h3),并且根据下式(14)来计算通过使用近似确定矩阵v作为除数进行除法运算而获得的余数向量。

z3modv=z3-[z3×v-1]×v=[-6,8,-2,6497,0]…式(14)

因为根据隐藏向量h3计算的余数向量的最后一个分量是“0”,所以隐藏数据匹配设备3确定匹配数据q3与客户的登记生物数据t近似并且确定第一认证成功。在成功的第一认证之后,隐藏数据匹配设备3提取余数向量的倒数第二个分量的密钥k。在该情况下,提取“6497”作为密钥k。

随后,隐藏数据匹配设备3执行第二认证。隐藏数据匹配设备3从式(14)提取t-q3=[-6,8,-2]并且根据等式(10)来计算d32=104。因为d32>100,所以隐藏数据匹配设备3确定第二认证失败。在该情况下,隐藏数据匹配设备3将指示第二认证失败的信息传送至客户终端2。

根据前述实施方式,隐藏数据匹配设备3将通过基于近似确定矩阵331的行向量的线性组合和第一随机数隐藏登记数据和密钥数据而获得的隐藏数据332存储在存储部33中,其中,近似确定矩阵331是通过向以密钥数据的阈值和要用于确定匹配数据与登记数据之间的相似度的阈值作为对角元素的矩阵附加随机数向量而获得的,其中随机数向量作为近似确定矩阵的最后一列。隐藏数据匹配设备3获取通过基于近似确定矩阵331的行向量的第二线性组合和第二随机数隐藏匹配数据而获得的隐藏向量。隐藏数据匹配设备3计算余数向量,该余数向量指示通过将隐藏数据332与隐藏向量之间的差除以近似确定矩阵331而获得的余数。隐藏数据匹配设备3基于余数向量来确定登记数据与匹配数据之间的相似度。如果隐藏数据匹配设备3确定匹配数据与登记数据相似,则隐藏数据匹配设备3从余数向量提取密钥数据。隐藏数据匹配设备3提取余数向量的分量并且计算登记数据与匹配数据之间的向量间距离。隐藏数据匹配设备3基于向量间距离与认证阈值之间的大小关系来确定登记数据与匹配数据之间的相似度。因此,隐藏数据匹配设备3可以灵活地支持各种类型的生物信息的认证并且提高认证的准确度。例如,隐藏数据匹配设备3可以基于通过格元素相加的密钥绑定方案中的各种标准来执行认证并且在保护生物信息的同时实现具有与现有生物认证的准确度相当的准确度的认证。另外,隐藏数据匹配设备3可以使用单个近似确定矩阵331作为模板来支持认证阈值的变化并且以要保证的安全等级来执行认证,而不需要花费时间和精力来登记模板或保持具有不同阈值的多个模板。

另外,根据前述实施方式,在隐藏数据匹配设备3中,认证阈值随着认证的安全等级的提高而减小。如果匹配数据与登记数据之间的向量间距离小于认证阈值,则隐藏数据匹配设备3确定匹配数据与登记数据相似。因此,隐藏数据匹配设备3可以通过减小认证阈值来提高认证的安全等级。

另外,根据前述实施方式,如果第一确定器323和第二确定器325确定匹配数据与登记数据相似,则隐藏数据匹配设备3将提取的密钥输出至请求确定匹配数据的源。因此,请求进行确定的源可以使用接收到的密钥来检验认证。

实施方式描述了以下的情况:隐藏数据匹配设备3将通过隐藏客户的生物数据111和密钥112而获得的隐藏数据332登记在数据库330中并且将登记的隐藏数据332与通过隐藏匹配数据211而获得的隐藏数据进行交叉检验。然而,隐藏数据匹配设备3可以将通过隐藏多个客户的生物数据111和多个密钥112而获得的多个隐藏数据项332登记在数据库330中。在该情况下,当接收到执行匹配的请求时,隐藏数据匹配设备3逐个选择登记的隐藏数据项332并且将选择的登记隐藏数据项332与通过隐藏请求匹配的匹配数据211而获得的隐藏数据进行交叉检验。如果作为匹配的结果,隐藏数据匹配设备3确定匹配数据211与隐藏数据项332近似,则隐藏数据匹配设备3从匹配时生成的余数向量提取密钥112并且将提取的密钥112传送至请求匹配的源。

另外,实施方式描述了以下情况:隐藏数据匹配设备3确定匹配时生成的余数向量的最后一个分量是否为“0”以及匹配数据211是否与客户的登记生物数据111近似。然而,隐藏数据匹配设备3不限于此。隐藏数据匹配设备3可以确定余数向量的多个分量是否为“0”以及匹配数据211是否与客户的登记生物数据111近似。

例如,如果要经受确定的生物数据是包括n个分量的信息或者生物数据111是n维信息,则近似确定矩阵生成器312生成n×n对角矩阵。另外,近似确定矩阵生成器312向n×n对角矩阵附接分量指示“0”的行向量,即矩阵的第(n+1)行的元素为0。然后,近似确定矩阵生成器312将通过组合n维随机数向量与密钥112的阈值而获得的列向量作为第(n+1)列附加至矩阵。然后,近似确定矩阵生成器312将分量指示0的行向量作为第(n+2)行附加至矩阵。然后,近似确定矩阵生成器312将(n+2)维随机数向量作为第(n+2)列附加至矩阵,从而生成(n+2)×(n+2)矩阵。

另外,近似确定矩阵生成器312可以将分量指示“0”的向量作为第(n+3)行附加至矩阵。然后,近似确定矩阵生成器312可以将(n+3)维随机数向量作为第(n+3)列附加至矩阵,从而生成(n+3)×(n+3)近似确定矩阵。

然后,隐藏数据匹配设备3执行与在实施方式中描述的那些处理相同的处理并且通过使用近似确定矩阵331作为除数进行除法运算来计算(n+3)维余数向量。然后,隐藏数据匹配设备3可以通过确定从余数向量的(n+2)维分量至余数向量的(n+3)维分量的所有分量是否都为“0”来进行近似确定。因此,隐藏数据匹配设备3可以提高近似确定的准确度。近似确定矩阵生成器312可以以与上文所描述的方式相同的方式来生成(n+m)×(n+m)近似确定矩阵331(m是大于3的自然数),从而进一步提高了近似确定的准确度。

另外,实施方式描述了以下情况:如果第一确定器323确定匹配数据与登记数据近似,则隐藏数据匹配设备3从余数向量提取第(n+1)个分量的密钥112。然而,如果第一确定器323和第二确定器325确定匹配数据与登记数据近似,则隐藏数据匹配设备3可以提取密钥112。

另外,实施方式描述了以下情况:隐藏数据匹配设备3用于生物数据111的近似确定。然而,隐藏数据匹配设备3不限于此,并且可以用于隐藏的机密文件之间的相似度的确定。例如,客户终端1从机密文件中提取具有特征的字符或具有特征的句子并且生成指示提取的字符或句子的特征量的特征量向量。然后,客户终端1执行与在实施方式中描述的那些处理相同的处理,生成通过隐藏生成的特征量向量和密钥而获得的隐藏向量,并且将生成的隐藏向量登记在隐藏数据匹配设备3的数据库330中。然后,隐藏数据匹配设备3执行与在实施方式中描述的那些处理相同的处理,并且由此将登记的隐藏向量与由客户终端2生成的隐藏要匹配的特征量向量的隐藏向量进行交叉检验。

可以通过在信息处理设备例如现有的个人计算机或现有的工作站中安装前述功能件例如登记部31和匹配确定部32来实现隐藏数据匹配设备3。

设备的示出的组成元件可以不以与附图中示出的方式相同的方式来物理地配置。具体地,设备的分布和集成的具体形式不限于附图中示出的那些,并且设备的组成元件中的全部或一部分可以根据各个负载或使用状况按功能或物理地分配或集成在任意单元中。例如,可以将随机数生成器311和近似确定矩阵生成器312集成为单个单元。另一方面,可以将近似确定矩阵生成器312分成第一设置单元和第二设置单元,其中第一设置单元被配置成设置矩阵中的指示近似范围的阈值和密钥的阈值,第二设置单元被配置成设置随机数。另外,数据库330可以包括在连接至隐藏数据匹配设备3的外部设备中或者可以经由网络连接至隐藏数据匹配设备3。

另外,可以通过使计算机例如个人计算机或工作站执行预先准备的程序来实现在实施方式中描述的各个处理。下面描述了执行实现与隐藏数据匹配设备3的那些功能相同的功能的隐藏数据匹配程序的计算机的示例。图7是示出执行隐藏数据匹配程序的计算机的示例的图。

如图7所示,计算机200包括:被配置成执行各种算术处理的cpu203;被配置成从用户接收数据输入的输入设备215;以及被配置成控制显示设备209的显示控制器207。另外,计算机200包括:被配置成从存储介质读取程序的驱动设备213;以及被配置成经由网络从另一计算机接收数据和向另一计算机传送数据的通信控制器217。此外,计算机200包括被配置成暂时存储各种类型的信息的存储器201和hdd205。存储器201、cpu203、hdd205、显示控制器207、驱动设备213、输入设备215和通信控制器217经由总线219彼此连接。

驱动设备213用于例如可移动盘211。hdd205存储隐藏数据匹配程序205a和隐藏数据匹配相关信息205b。

cpu203读取隐藏数据匹配程序205a,将隐藏数据匹配程序205a加载到存储器201中并且执行隐藏数据匹配程序205a作为处理。处理对应于隐藏数据匹配设备3的功能部。隐藏数据匹配相关信息205b对应于近似确定矩阵331、隐藏数据332和阈值信息333。例如,各种类型的信息例如隐藏数据匹配程序205a存储在可移动盘211中。

在初始状态下,隐藏数据匹配程序205a可以不存储在hdd205中。例如,隐藏数据匹配程序205a可以存储在要被插入到计算机200中的“便携式物理介质”中,便携式物理介质是软盘(fd)、cd-rom、dvd、磁光盘、ic卡等。计算机200可以从便携式物理介质读取隐藏数据匹配程序205a并且执行隐藏数据匹配程序205a。

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