技术领域 本发明涉及模糊密钥,尤其涉及(但不限于)利用模糊密钥的加密操作的执行。 背景技术 在需要数据的保密传输的许多应用中,可以使用数据加密来阻止未经授权访问数据。常规的加密方法根据两种方法之一工作:对称密钥方法和不对称密钥方法。 对称密钥系统对数据的加密和解密使用同一的密钥。从而,必须在加密数据的交换中,在参与者之间分发密钥。如果密钥未被保密地分发,那么第三方可能获得密钥的副本,并使用该副本访问利用该密钥加密的所有数据。 不对称密钥系统根据单向加密方案工作,其中使用公共密钥加密数据,加密的数据随后只能利用由数据的接受者保持的私有密钥来解密。从而,能够随意地分发公共密钥,利用公共密钥加密的一切都只能利用私有密钥来解密。不过在这种系统中,仍然希望公共密钥被这样分发,以致接收公共密钥的人能够确信该公共密钥来自保密通信的预定接受者。如果情况不是这样,那么存在第三方创建看来似乎属于其他人的公共密钥,并利用该公共密钥和其对应的私有密钥访问预定给密钥的表观始发者的加密数据的可能性。 通常认为模糊密钥,比如从生物特征签名和生物特征式签名得到的那些模糊密钥会产生较差的加密密钥,因为签名生成过程两次返回完全相同的签名的可能性非常低。在许多生物特征式系统中,根据来自签名匹配的预定最小数目的比特,宣称“匹配”。取决于系统和应用,该阈值可以低至70%的比特匹配率或者高达95%的比特匹配率。显然,当进行加密消息的解密时,这样的低比特匹配率会导致显著误差。 在Gershenfeld,Science 297(5589):20026-2030,September 202002中讨论了一种数据封装技术。所公开的技术使用非常特殊的光学透明的三维标记来创建封装数据。 使用模糊密钥的一种已知数据封装技术是由Fen Hao,RossAnderson和John Daugman在“Combining Crypto with BiometricsEffectively”,IEEE Trans on Computers,vol.55,no.9,pp/1081-1088,Sept 2006中提出的基于XOR的系统。这种系统具有一个特别的缺点,它对由物品中的拉伸(stretch)而造成的误差非常敏感(如果签名源物品相对于签名测量系统非线性移动,那么在一些签名生成系统中,拉伸也是一种表观效果)。利用这种技术,如果由拉伸(或移动)造成的失真大于签名中的数据的自相关宽度,那么将失去至少50%的匹配。 发明内容 发明人认识到模糊签名作为加密密钥的局限性,并提出一种解决这些局限性,从而提供有效加密方案的方法和相关设备。 从一个方面来看,本发明能够提供一种利用模糊密钥进行加密的方法。按照该方法,可利用已被分成多个块的模糊密钥来加密消息。通过根据消息中的每个比特位置的值,或者根据与消息中的比特模式的预定关联,为消息中的每个比特位置值或比特模式从模糊密钥中选择一个块,能够生成加密消息。从而,模糊密钥的一个块对应于消息内的每个比特或比特组。从而,能够克服在分别从相同来源生成的两个生物特征签名之间可能发生的比特匹配率较低的问题,以避免发生错误。 由于预期利用上述方法的系统会因加密的应用而显著增大消息的长度,因此在一些情况下合适的是使用该方法以“消息”的形式分发用于另一加密方案的密钥。于是,该消息可以是对称加密算法的会话密钥。对称加密算法具有与不对称加密算法相比,对处理能力的需求较低的优点,从而一旦密钥已被安全分发(例如借助上面的方法),通常就可用于保密数据交换中的成批数据传送。另一方面,消息可以是用于不对称加密算法的公共密钥。从而,上面的方法可被用于安全地分发以后供根据对称加密算法建立保密通信之用的公共密钥,对称会话密钥是利用先前分发的公共密钥在双方之间交换的。从而,可以采用双重密钥分发系统。 在一些例子中,在加密之前可对消息增加纠错编码,从而提供将被复核,并且如果需要的话,在最终的解密过程之后将被校正的消息。 在一些例子中,消息是对称加密算法的会话密钥,或者不对称加密算法的公共密钥。从而,本例的加密方法可被用于利用常规的计算快速的加密方法发起保密通信信道。 在一些例子中,模糊密钥是根据物品或生物的物理性质得到的生物特征式签名。在一些例子中,生物特征式签名表示鉴别用物品的表面结构。通过使用生物特征式签名,通过确保只有正确的生物或正确物品的所有者才能够解密消息,能够提高系统的安全性。 在一些例子中,该方法还包括把第二个模糊密钥分成多个块,其中第一个模糊密钥和第二个模糊密钥的块的数目等于或大于消息中的比特的数目,其中所述生成包括对于消息中的每个相应比特,根据消息的该相应比特的值,在第一个模糊密钥和第二个模糊密钥的相应块之间进行选择。从而,消息的单个比特可由加密消息的一组比特代表,从而提供抗传送的加密消息的噪声和失真的复原力,并提供抗密钥的模糊性的复原力。 在一些例子中,第二个模糊密钥是第一个模糊密钥的逐比特逻辑“非”。从而,当解密消息时,解密过程能够在相关性和抗相关性之间进行选择,从而提供匹配和不匹配密钥块之间可能的最大区别。 在一些例子中,第一个模糊密钥和第二个模糊密钥创建自单个鉴别用物品的不同区域。从而,能够根据完整无缺的鉴别用物品进行解密过程,从而提高安全性。 在一些例子中,该方法还包括把消息分成多个块,每个块n个比特。另外,模糊密钥的块的数目被确定为2n,并且每个块与其n比特块编号关联。其中所述生成是通过为消息中的每个块,从模糊密钥中选择块编号与消息块的比特模式对应的块来实现的。从而,密钥的每个块可较大,从而对传送的加密消息的噪声或失真具有复原力,并对密钥的模糊性具有复原力。 从第二方面来看,提供一种利用模糊密钥进行加密的系统。该系统可包括把模糊密钥分成多个块的密钥处理器;和通过从模糊密钥中选择与待加密消息中的每个比特位置值或比特模式对应的一个块,生成加密消息的生成器。从而,模糊密钥的一个块对应于消息内的每个比特或比特组。从而,能够克服在分别从相同来源生成的两个生物特征签名之间可能发生的比特匹配率较低的问题,以避免发生错误。 从另一方面来看,提供一种利用模糊密钥进行解密的方法。所述方法可以包括接收利用模糊密钥加密的消息,把与用于加密消息的模糊密钥一样从相同来源生成的模糊密钥分成多个块;对于所接收消息的每个块,通过比较该块与模糊密钥的相应块或模糊密钥的每个块,确定消息中的比特值或比特模式。从而模糊密钥的一个块对应于消息内的每个比特或比特组。从而,能够克服在分别从相同来源生成的两个生物特征签名之间可能发生的比特匹配率较低的问题,以避免发生错误。 从又一方面来看,提供一种利用模糊密钥进行解密的系统。所述系统可以包括接收利用模糊密钥加密的消息的接收器,把与用于加密消息的模糊密钥一样从相同来源生成的模糊密钥分成多个块的密钥处理器;对于所接收消息的每个块,通过比较该块与模糊密钥的相应块或模糊密钥的每个块,确定消息中的比特值或比特模式的比较器。从而模糊密钥的一个块对应于消息内的每个比特或比特组。从而,能够克服在分别从相同来源生成的两个生物特征签名之间可能发生的比特匹配率较低的问题,以避免发生错误。 从再一方面来看,提供一种传送消息的方法。所述方法可以包括按照上面陈述的任意方法加密消息,传送加密的消息,并按照上面陈述的任意方法解密消息。 从再一方面来看,提供一种传送消息的系统。所述系统可以包括按照上面陈述的任意系统的加密系统,传送加密消息的传输信道,和按照上面陈述的任意系统的解密系统。 根据下面的详细说明,本发明的其它方面和实施例将是显而易见的。 附图说明 下面参考附图,举例说明本发明的具体实施例,其中: 图1是表示阅读器设备的示意侧视图; 图2是阅读器设备的功能组件的示意方框图; 图3是纸面的显微镜图像; 图4表示塑料表面的显微镜图像; 图5表示如何能够通过扫描生成物品的签名的流程图; 图6表示描述加密消息时的逻辑步骤的流程图; 图7表示加密过程中涉及的各个块的例子; 图8表示描述加密消息时的逻辑步骤的流程图;以及 图9表示加密过程中涉及的各个块的例子。 尽管本发明容许各种修改和备选形式,不过附图中举例表示了具体实施例,并且这里详细说明了具体实施例。不过,应明白附图及其详细说明并不意图把本发明局限于公开的特定形式,相反,本发明将覆盖落入由附加权利要求限定的本发明的精神和范围内的所有修改、等同物和替换物。 具体实施方式 这里关于模糊密钥和签名在加密型系统中的使用而描述的系统和方法可适用于生成模糊密钥或签名的任何系统。许多这样的系统是生物特征系统或生物特征式系统。生物特征系统可通过处理扫描生物特征,比如人的指纹、视网膜或虹膜而捕捉的数据,生成密钥/签名。生物特征式系统可通过处理扫描表现出随机图案或结构的非生物特征,比如显微粗糙的纸张或塑料表面而捕捉的处理,生成密钥/签名。 生成生物特征签名的系统的例子是在可从市场获得的电子指纹访问系统(比如用在某些便携式计算机和指纹键入电子锁中的电子指纹访问系统)中使用的那些生物特征签名生成系统。这样的系统一般是通过在某些预定点测量指纹的图案、电导率等,并比较它们与保存的模板,以确定是否产生匹配来工作的。 生成生物特征式签名的系统的例子是用于识别某些品种的物理标记的那些系统。许多这样的系统依赖于微粒材料在基体内的随机分布对指定刺激(例如,对标记的照明)产生特有的响应。另一种生成生物特征式签名的系统是Ingenia Technologies Ltd开发和经销的系统。这种系统能够分析纸张、纸板、塑料或金属物品,比如一张纸、身份证或护照、安全封条、支付卡等的随机表面图案,以唯一地识别给定物品。在许多公开的专利申请中详细描述了这种系统,包括2004年3月12日提出的GB0405641.2(公开为GB2411954,2005年9月14日),2004年8月13日提出的GB0418138.4(公开为GB2417707,2006年3月8日),2004年8月13日提出的US60/601464,2004年8月13日提出的US60/601463,2004年9月15日提出的US60/610075,2004年8月13日提出的GB0418178.0(公开为GB2417074,2006年2月15日),2004年8月13日提出的US60/601219,2004年8月13日提出的GB0418173.1(公开为GB2417592,2006年3月1日),2004年8月13日提出的US60/601500,2005年5月11日提出的GB0509635.9(公开为GB242610,2006年11月15日),2005年5月11日提出的US60/679892,2005年7月27日提出的GB0515464.6(公开为GB2428846,2007年2月7日),2005年7月27日提出的US60/702746,2005年7月27日提出的GB0515461.2(公开为GB2429096,2007年2月14日),2005年7月27日提出的US60/702946,2005年7月27日提出的GB0515465.3(公开为GB2429092,2007年2月14日),2005年7月27日提出的US60/702897,2005年7月27日提出的GB0515463.8(公开为GB2428948,2007年2月7日),2005年7月27日提出的US60/702742,2005年7月27日提出的GB0515460.4(公开为GB2429095,2007年2月14日),2005年7月27日提出的US60/702732,2005年7月27日提出的GB0515462.0(公开为GB2429097,2007年2月14日),2005年7月27日提出的US60/704354,2005年9月8日提出的GB0518342.1(公开为GB2429950,2007年3月14日),2005年9月8日提出的US60/715044,2005年10月28日提出的GB0522037.1(公开为GB2431759,2007年3月2日),和2005年10月28日提出的US60/731531(均由Cowburn等发明),每件专利申请的内容都在此引为参考。 作为举例说明,下面简要说明Ingenia Technologies Ltd系统的操作方法。 图1表示阅读器设备1的示意侧视图。光学阅读器设备1用于从布置在设备的阅读空间中的物品(未示出)测量签名。阅读空间由阅读窗孔10形成,所述阅读窗孔10是机架12中的狭缝。机架12包含设备的主要光学组件。狭缝的主长度在x方向上(参见图中插入的坐标轴)。主要的光学组件是生成相干激光束15的激光源14,和由k个光电检测器元件(在本例中,k=2,标记为16a和16b)构成的检测器装置16。激光束15由聚焦装置18聚焦成沿y方向(垂直于附图的平面)延伸,并位置阅读窗孔的平面中的细长焦点。在一个例证的阅读器中,细长焦点的长轴约为2毫米,短轴约为40微米。这些光学组件包含在子组合件20中。在图解说明的例子中,检测器元件16a、16b偏离光束轴不同角度地被分布在光束轴的两侧,以收集当从存在于阅读空间中的物品反射时散射的光。在一个例子中,偏置角为-30°和+50°。光束轴两侧的偏置角可被选择成不相等,以致它们收集的数据点尽可能地无关。不过实际上,已确定这对操作来说不是必不可少的,使检测器以相同的角度位于入射光束的两侧是一种极佳的可行布置。所有四个检测器元件被布置在公共平面中。光电检测器元件16a和16b检测当相干光束从阅读空间散射时,从放置在机架上的物品散射的光。如图所示,光源被安装成使激光束的光束轴在z方向地射出激光束15,以致激光束将垂直入射地照在阅读窗孔中的物品上。 通常焦深最好较大,以致沿z方向放置的物品中的任何差异不会导致光束在阅读窗孔的平面上的尺寸的显著变化。在一个例子中,焦深约为±2毫米,该深度大到足以产生良好的结果。在其它布置中,焦深可以更大或更小。焦深、数值孔径和工作距离参数是相互关联的,导致众所周知的光斑尺寸和焦深之间的折衷。在一些布置中,焦点是可调的,并且与测距装置一起,焦点可被调整成以置于可用聚焦范围内的物品为目标。 为了能够读取目标物品上的许多点,物品和阅读器设备可被布置成允许入射光束和相关检测器相对于目标物品移动。这可通过移动物品、扫描仪组合件或这两者来实现。在一些例子中,物品可被保持在与阅读器设备机架相邻的位置,扫描仪组合件可在阅读器设备内移动,从而产生这种移动。另一方面,可使物品移动经过扫描仪组合件,例如在其中当物品沿传送带行进时,物品经过固定位置扫描仪的生产线的情况下。在其它备选方案中,可使物品和扫描仪保持固定,而定向聚焦装置使相干光束通过目标。这要求检测器和光束一起移动,或者固定检测器被布置成接收来自目标上的所有光束入射位置的反射。 图2是如上所述的阅读器设备的逻辑组件的示意方框图。激光发生器14由控制和签名生成单元36控制。可选的是,电动机22也可由控制和签名生成单元36控制。可选的是,如果实现某种形式的运动检测或线性化装置(图中表示成19),以测量经过阅读器设备的目标的运动,并且/或者测量从而考虑相对运动中的非线性,那么这可通过利用控制和签名生成单元36来控制。 激光束自目标表面扫描区的反射由光电检测器16检测。如上所述,在一些例子中,可以设置一个以上的光电检测器。光电检测器16的输出由模-数转换器(ADC)31数字化,之后被传给控制和签名生成单元36以供处理,以创建特定目标表面扫描区的签名。ADC可以是数据捕捉电路的一部分,或者可以是独立的单元,或者它可被集成到控制和签名生成单元36的微控制器或微处理器中。 控制和签名生成单元36可使用激光束当前入射位置信息来确定每组光电检测器反射信息的扫描区位置。从而,能够创建基于扫描区的所有被扫描部分,或者选择的一些被扫描部分的签名。在不是整个扫描区都被包括在签名中的情况下,当生成签名时,签名生成单元36可直接忽略从扫描区的其它部分接收的任何数据。另一方面,在来自整个扫描区的数据被用于另一用途,比如来自目标的图像类数据的定位或收集的情况下,控制和签名生成单元36可把整个数据集用于该其它用途,随后在完成该其它用途之后,保持或丢弃整个数据集。 要认识到可用各种设备组合物理地具体实现在图2中描述的各个逻辑元件。例如,在一些情况下,所有元件可被包括在扫描设备内。在其它情况下,扫描设备可以只包括激光发生器14、电动机22(如果有的话)和光电检测器16,所有其余的元件位于一个或多个独立的物理单元中。也可以使用逻辑元件的物理分布的其它组合。另外,控制和签名生成单元36可被分成独立的物理单元。例如,可存在实际控制激光发生器14和电动机(如果有的话)的第一单元、计算激光束当前入射位置信息的第二单元、识别将用于生成签名的扫描数据的第三单元、和实际计算签名的第四部分。 要认识到由ADC 31和/或控制和签名生成单元36进行的一些或全部处理步骤可利用专用处理装置,比如专用集成电路(ASIC)或专用模拟处理电路来实现。另一方面或者另外,由光束ADC 31和/或控制和签名生成单元36进行的一些或全部处理步骤可利用可编程处理设备,比如可用在常规个人计算机、便携式计算机、手持计算机(例如,个人数字助手或者说PDA)或智能电话机中的数字信号处理器或多用途处理器来实现。在使用可编程处理设备的情况下,可以使用一个或多个软件程序使可编程设备实现所需功能。这种软件程序可包含在诸如磁盘或光盘之类的载体介质上,或者包含在信号上以便通过数据通信信道传输。 为了举例说明这些例子的系统能够读取的表面性质,图3和4分别图解说明纸张和塑料物品表面。 图3是纸面的显微镜图像,图像面积约为0.5×2毫米。图3图解说明在许多情况下,宏观上平坦的表面,比如纸面在显微尺度下是高度结构化的。由于构成纸张的木质纤维或者其它得自于植物的纤维的交织网络,纸面在显微镜下是高度结构化的。图3还图解说明木质纤维的约为10微米的特征长度尺度。该尺寸与相干光束的光波长具有引起衍射以及形貌取决于纤维取向的漫散射的正确关系。从而要认识到如果阅读器将用于特定类别的商品,那么可使激光的波长适合于待扫描的该类商品的结构特征尺寸。另外根据图3,每张纸的局部表面结构显然是唯一的,因为它取决于各个木质纤维是如何排列的。从而,一纸张与特别创建的标记,比如现有技术的特殊树脂标记或磁性材料沉积物无异,因为由于它是由受自然法则决定的过程产生的,因此具有唯一的结构。对许多其它种类的物品来说同样如此。 图4表示塑料表面的显微镜图像。该原子力显微镜图像清楚地表示宏观上光滑的塑料表面的不平坦表面。从图中可以推测,该表面比图3中图解说明的纸面光滑,不过通过利用本例的签名生成方案,即使这种程度的表面起伏也能够被唯一地识别。 换句话说,当能够以直截了当的方式从各种日常物品测量唯一的特性时,为产生特别制作的标记而花费精力和经费实质上没有意义。现在说明利用物品表面(或者在透射情况下,物品内部)的自然结构的散射信号的数据收集和数值处理。 图5表示如何能够由扫描生成物品的签名的流程图。 步骤S1是数据采集步骤,在数据采集步骤内,在沿整个扫描长度的许多位置,获得在每个光电检测器处的光强度。同时,作为时间的函数获得编码器信号。注意如果扫描电动机具有高的线性化精度(例如,步进电动机),或者如果通过逐块分析或模板匹配能够消除数据中的非线性,那么不需要数据的线性化。参见上面的图2,数据由从ADC31获得数据的签名生成器36获得。下面,把每次扫描中每个光电检测器收集的数据点的数目定义为N。此外,值ak(i)被定义为来自光电检测器k的第i个保存强度值,其中i=1~N。 步骤S2是对捕捉的数据应用时域滤波的可选步骤。在本例中,该步骤用于有选择地消除50/60Hz和100/120Hz频带(比如如果目标还被除相干光束之外的光源照明,那么预期会出现的那些频带)中的信号。这些频率通常用于驱动诸如荧光灯之类的室内照明设备。 步骤S3进行数据的对准。在一些例子中,该步骤使用数值插值来局部伸缩ak(i),以致编码器转换间隔相同的时间。这会校正电动机速度的局部变化,以及数据中的其它非线性。该步骤可由签名生成器36进行。 在一些例子中,在扫描区对应于预定图案模板的情况下,可比较捕捉的数据和已知模板,并对捕捉的数据施加平移和/或旋转调整,以使数据对准模板。另外,在扫描头相对于物品的通道(passage)不同于构成模板的通道的情况下,可对捕捉的数据应用伸缩调整,以使捕捉的数据对准模板。从而,如果模板是利用线性扫描速度构成的,那么如果扫描数据是在存在速度的非线性的情况下得到的,则可调整扫描数据以匹配模板。 步骤S4对捕捉的数据应用空域带通滤波。该滤波器沿x方向(扫描头的移动方向)通过一定范围的波长。该滤波器被设计成使样本之间的衰减达到最大,并在数据内保持高的自由度数。考虑到此,设置滤波器通带的下限,以具有快速衰减。这是需要的,因为从签名生成的观点来看,并不关心来自目标表面的绝对强度值,而明显相似强度的区域之间的变化才是所关心的。不过,衰减不被设置成过快,因为这样做会降低信号的随机性,从而降低所捕捉数据中的自由度。上限可被设置成较高;虽然可能存在某些高频噪声,或者需要x方向的数值之间的某种平均化(拖尾(smearing))(和上面关于y方向的值所述几乎一样),不过除了较高的上限之外,一般不存在任何其它需要。在一些例子中,可以使用二阶滤波器。在其中激光在目标表面上的行进速度为20毫米/秒的例子中,滤波器可具有100微米的脉冲上升距离,和500微米的脉冲下降距离。 代替应用简单的滤波器,最好对滤波器的不同部分加权。在一个例子中,应用的权重相当大,以致产生三角形通带(triangularpassband),从而引入实空间函数(realspace function)的等同物,比如微分。对高度结构化的表面来说,微分型效果是有用的,因为它可用于相对于不相关的贡献,衰减来自信号的相关贡献(例如,来自目标上的表面印刷物)。 步骤S5是数字化步骤,在数字化步骤中,多级数字信号(来自ADC的处理后的输出)被转换成双态数字信号,以计算表示扫描的数字签名。在本例中,通过应用下述规则:大于平均值的ak(i)映射成二进制的“1”,小于等于平均值的ak(i)映射成二进制的“0”,来获得数字签名。数字化数据集被定义成dk(i),其中i=1~N。有利的是,除了刚刚描述的强度数据的数字化签名之外,物品的签名可包括其它分量。现在说明这些其它的可选签名分量。 步骤S6是可选步骤,其中创建更小的“缩略图”数字签名。在一些例子中,这可以是通过求相邻多组的m个读数的平均值,或者通过挑选每个第c个数据点(其中c是缩略图的压缩系数)而产生的实空间缩略图。优选后者,因为求平均值会不成比例地放大噪声。在其它例子中,缩略图可以基于一些或全部签名数据的快速傅里叶变换。随后对减小的数据集应用和步骤S5中使用的数字化规则相同的数字化规则。缩略图数字化被定义成tk(i),其中i=1~N/c,c是压缩系数。 步骤S7是当存在多个检测器通道(即,k>1)时适用的可选步骤。附加分量是在从不同的光电检测器获得的强度数据之间计算的互相关分量。就2个通道来说,存在一个可能的互相关系数,就3个通道来说,存在最多3个可能的互相关系数,就4个通道来说,存在最多6个可能的互相关系数,等等。互相关系数是有用的,因为已发现它们是良好的材料种类指示符。例如,对于一种特殊的文件,比如给定种类的护照或者激光打印纸,互相关系数总是位于可预测的范围中。在ak(i)和al(i)(k≠l,并且k,l在所有的光电检测器通道数内变化)之间可计算归一化的互相关性。归一化的互相关函数被定义为: 可保存供以后验证之用的互相关函数的另一方面是互相关函数中的波峰的宽度,例如,半高全宽(FWHM)。下面进一步说明互相关系数在验证处理中的使用。 步骤S8是另一个可选步骤,该步骤计算表示信号强度分布的简单强度平均值。该强度平均值可以是不同检测器的每个均值的总平均值,或者是每个检测器的平均值,比如ak(i)的均方根(rms)值。如果像上面说明的阅读器中一样,检测器被成对地排列在法线入射的两侧,那么可以使用每对检测器的平均值。已发现强度值是良好且天然的材料种类过滤标准,因为它是样本的总反射率和粗糙度的简单指示。例如,可以使用消除平均值,即DC背景之后的未归一化的rms值作为强度值。rms值提供表面的反射率的指示,因为rms值与表面粗糙度相关。 从而,上面简要说明了从物品获得生物特征式签名的系统的例子。有关这种系统的更多细节,读者请参考上面列出的各个公开的专利申请的内容。 生物特征签名和生物特征式签名之间一致的是两次扫描相同的生物特征/物理物品得到的输出几乎从不产生完全相同的结果。因此,在生物特征系统或生物特征式系统内确定匹配结果通常被称为模糊匹配,因为匹配结果是根据置信度准则确定的,而不是像数字环境中通常那样的根据两个签名之间的100%比特对应来确定。 取决于创建的签名的种类、签名创建方法、和该签名所用于的应用,当两个签名(一般是测试签名和记录签名)之间的比较结果产生超过预定阈值的比较结果时,可以宣称匹配结果。这样的比较可以由互相关算法或其它比较算法来实现,其结果可被表示成比特匹配率等等。在Ingenia Technology Ltd系统的一个例证实现中,纸板包装物品的签名的长度可以为2000比特,可以设置在70-95%范围中的比特匹配率阈值以供确定匹配结果。 于是,这种模糊匹配系统基于模糊签名进行工作,如果用在加密系统的环境中,那么模糊签名可被认为是模糊密钥。不过,为了正确地工作,几乎所有的加密系统都需要比特完全密钥。否则,解密出的消息将不匹配加密的消息,将发生数据丢失。 下面的例子详细说明使用模糊密钥,以避免通常遇到的与使用模糊密钥有关的问题的鲁棒方式来加密消息的各种方法。 第一个例子示于图6中。在该流程图中,陈述了按照第一例子加密消息时的主要逻辑步骤。始于步骤S6-1,生成待加密的消息。随后并且可选地,在步骤S6-3对该消息应用纠错编码。纠错编码可以是任何适当的技术,比如诸如循环冗余校验之类的简单技术,或者诸如汉明码、BCH码、Reed-Solomon码、Reed-Muller码、二元Golay码、卷积码或turbo码之类更复杂的纠错方案。 随后在步骤6-5,把第一个生物特征签名或生物特征式签名(签名1)分成与消息中的比特数(含纠错码比特,如果应用了纠错码的话)相等的许多块。在步骤6-7,还对第二个生物特征签名或生物特征式签名(签名2)进行相同的处理。 随后,为了创建加密消息,对消息的每个比特,选择签名1或签名2的相应块。签名1和签名2之间的选择是按照比特值进行的。如果比特值为“0”,那么可选择签名1的相应块,如果比特值为“1”,那么可选择签名2的相应块。从而,创建包含一系列的数据决的加密消息。于是,本例的加密消息的长度和签名的长度相同(假定两个签名长度相同)。如果两个签名长度不同,那么一个签名的块将大于另一个签名的块,加密消息将具有介于这两个签名的长度之间的长度。从而,利用生物特征签名/生物特征式签名创建了加密消息。 为了解密该消息,需要相同的两个物品/特征的签名。对于加密消息的每个块,比较该块与两个签名的相应块。从而依据哪个签名的块与加密消息的块最匹配,确定原始消息的比特值。 从而,要明白本例的克服通常遇到的与模糊密钥有关的困难的特征在于把出自模糊签名的多个比特(即,一个块)用于消息的每个比特,签名的任何单一比特并不单独负责消息中的一个比特的值。与简单地寻找两个备选物之间的最佳匹配(而不是绝对的恢复值)的解密过程结合,这使模糊签名可被用作加密密钥,而不顾虑因密钥的模糊性造成的丢失数据或错乱数据。 本例的方法最适合于短消息,并在任何情况下最适合于与签名相比,比特数较少的消息。通常,并且取决于用作密钥的特定参数的模糊度,签名的每个块最好具有约10比特的最小长度。每个块的长度上限简单地由系统的工作环境和能够生成和处理的最大签名尺寸来设定。 这种系统的有关消息要短于签名长度的限制使本例的系统特别适合于传送对称加密算法的会话密钥。由于到目前为止,对称加密算法是目前已知的最快(在处理资源需求方面)的加密算法,因此利用本例的系统分发对称算法密钥被认为是有益的,以致利用对称加密算法能够进行另外的数据传送。另一方面,本例的有效负载消息可以是不对称加密算法的公共密钥。从而,可按照向接受者保证公共密钥来自该接受者打算与之进行保密通信的一方的方式分发公共密钥。从而,公共密钥可被用于建立保密通信。在一些例子中,待使用的不对称系统又可分发对称系统会话密钥,该会话密钥随后可被用于建立保密通信信道。 图7中用一些具体的例证数据长度数字表示了各个块的例子。 消息40将被加密。在本例中,消息40是随机生成的用于对称加密算法的128比特会话密钥,不过可以使用其它消息。随后对该消息应用纠错编码。在本例中,纠错编码是reed-solomon编码,不过可以使用其它编码。这会产生总共160比特的有效负载长度(表示为41)。 分别地,第一个签名42(签名1)被分成160个块(有效负载的每个比特一个块)。在本例中,签名长度为1920比特(以致每个块长12比特)。第二个签名43也被分成160个块。在本例中,签名长度和块的数目被选择成保证签名长度为块的数目的整数倍。由于签名的长度可被设定成任何期望的大小,因此在本例的系统中,这是易于实现的。在其它例子中,也可具有不为块的数目的整数倍的签名长度。在这样的例子中,简单地说,情况是相对于其余块,一些块包含不同数目的比特。这种情况不会降低或削弱系统的工作性能。 随后通过使用有效负载作为门控(gate),使用两个分割后的签名42和43创建加密消息。在本例中,如果有效负载比特值为“0”,那么签名1的相应块被用在加密消息中。类似地,如果有效负载比特值为“1”,那么签名2的相应块被用在加密消息中。 图7中对此进行了图解说明,其中在41图解说明了有效负载的最初的几个比特的例证比特序列。从而显然由于有效负载41的第一个比特值为“1”,因此加密消息44的第一个块是签名2的第一个块。有效负载41的第二个比特值为“0”,从而,加密消息44的第一个块是签名1的第一个块。对有效负载的每个比特应用相同的处理,直到加密消息44结束为止。 对解密来说,应用相反的过程。从而,创建两个签名-这些签名一般是在不同的位置,从相同的物品或生物特征产生的,从而尽管它们与原始的签名,即签名1和签名2相似,不过事实上存在的是签名1′和签名2′。和在加密方一样,这些签名都被分成160个块。随后借助互相关过程,比较接收的加密消息的每个块和来自签名1′和签名2′的一对相应块。从而,通过相对于彼此移动各个块,并获得被测试的每个比特位置的互相关比较结果,比较接收的加密消息的每个块与分别来自签名1′和签名2′的具有相同块编号的一对块。通过与每个签名1′和签名2′的块比较而获得的最高(峰值)互相关结果被选为该比较的最佳结果。随后,把源于与签名1′的比较的最佳结果与源于与签名2′的比较的最佳结果进行比较。通常对多数块来说,预期在相对于签名1′和签名2′的比较的结果之间将存在明显差异,因为一个结果应代表相关,另一个结果代表不相关,不过对一些比特模式来说,这可表现为相关和部分相关。这两个值中的较大值代表当对照加密消息块进行测试时返回最佳匹配结果,从而被选为正确块的测试块,从而选择解密后的有效负载的相应比特的比特值。和前面一样,如果最佳匹配块来自签名1′,那么比特值被确定为“0”,如果最佳匹配块来自签名2′,那么比特值被确定为“1”。从而复原有效负载。 在该阶段,可以使用纠错编码方案来识别和纠正因传输引起的误差或源于模糊密钥处理的不正确匹配结果而产生的任何误差,以致能够复原原始消息(会话密钥)。 从而可看出,可以使用两级过程来复原原始有效负载。这两级中的第一级是根据传送的签名的各个块的互相关而获得的模糊匹配结果。这会实现解密,并取回有效负载。不过,取决于诸如传送消息的信道的信道差错率之类的因素,一些块可能被互相关过程错误地解码。从而,除了快速并且通常精确的模糊匹配过程之外,结合原始有效负载可以使用纠错编码方案。从而,该纠错编码可被用于识别和校正由模糊匹配过程错误解码的复原有效负载中的任意比特值。于是,通过依赖于相对快速并且精确的模糊匹配过程,该系统提供极高的效率,随后可选地使用备用纠错编码方案来识别源于模糊匹配系统的任何失配,以使可能的精确度达到最大。 利用图7的例子中的例证数据长度数字进行的测试显示就虚假的肯定结果和虚假的否定结果来说,至少1∶1000000的量级的工作精度比,从相同物品产生的多个签名之间的比特差错率为30%(即,仅仅70%的比特匹配率-通常位于任何生物特征签名系统/生物特征式签名系统的下限)。 尽管上面说明了签名1和签名2的使用,不过这些签名不必是完全独立的签名。例如,它们可以是相同签名的第一部分和第二部分。在签名完全独立的情况下,它们都可以得自于相同来源,或者得自于不同来源。例如,签名可以来自于ID卡的两个不同部分,来自于两张不同的ID卡,来自于指纹和ID卡,来自两个不同的指纹,或者来自于指纹和虹膜扫描。真正要求的是签名是不同的-在基于生物特征签名或生物特征式签名的系统中,基本上保证了这一点。 在一个例子中,签名1和签名2都来自于相同数据。在本例中,签名2是签名1的反数(逐比特逻辑“非”),而不是使用两个不同的签名,或者甚至使用相同签名的不同部分。从而,签名2的每个比特的值与签名1的对等比特的值相反。通过使用这种方法,在解密阶段两个不同签名之间的区别应该极大,因为这两个签名之间事实上存在抗相关性。从而对这种系统来说,在加密消息的任意指定块的两个候选块之间进行选择的任务应是要多容易有多容易。 更详细地考虑解密过程,签名是根据相同的物品或者生物特征创建的。从而尽管新创建的签名将与原始签名,即签名1相似,不过事实上存在的是签名1′。该签名随后如在加密方那样被分成160个块。和前面的例子一样,相对于签名1′使测试块互相关。不过,如上所述,在本例中,不存在签名2,仅仅存在签名1和其反数,从而对于每个测试块只需要进行一次互相关。与上面的其中测试介于相关性和不相关性之间的例子相对照,在本例中,测试介于相关性和抗相关性之间。从而,对于每个比较测试块,在测试块和签名1′的相应块之间进行互相关。对于该互相关操作,最大值和最小值波峰被用于确定匹配。比较最大的正波峰的峰值和最大的负波峰的峰值,最大的峰值被认为是最佳匹配。从而,系统能够在签名和相反签名之间进行选择,以确定该块是代表“0”还是“1”。 在这些例子中详细说明的方案对从其产生签名的物品或特征的变形(distortion)有抗力。例如,如果从其产生签名的ID卡是柔性的或者可拉伸的,那么由于在不同的扫描时间ID卡之间的变形,在从相同的ID卡生成的两个签名中的比特之间,所述两个签名可能具有可变的偏移量。在使用纸质或纸板物品生成签名的情况下,这也是一个要关切的事项,因为该物品可能变长或者以其它方式变形,例如由于变湿而变形。即使发生这种变形,本系统使用的基于块的编码也能够降低这种变形的影响,从而避免消息不能被解密。 从而,上面说明了使用模糊密钥对消息加密,随后在解密位置利用从相同的鉴别用物品或生物特征生成的新的模糊密钥可靠地复原消息的方法。 图8中图解说明了使用模糊密钥,以避免通常遇到的与使用这种模糊密钥有关的问题的鲁棒方式加密消息的方法的另一个例子。 图8表示说明按照第二个例子加密消息的主要逻辑步骤的流程图。开始于步骤S8-1,生成待加密的消息。随后并且可选地,在步骤S8-3对该消息应用纠错编码。纠错编码可以是任何适当的技术,比如诸如循环冗余校验之类的简单技术,或者诸如汉明码、BCH码、Reed-Solomon码、Reed-Muller码、二元Golay码、卷积码或turbo码之类更复杂的纠错方案。 随后在步骤8-5,消息(含纠错码比特,如果应用了纠错码的话)被分成预定长度的多个块。随后在步骤S8-7,把生物特征签名或生物特征式签名分成与能够由长度和预定消息块长度相等的二进制数表示的最大数值相等的许多块。 随后,为了创建加密消息,对消息的每个块,通过选择块编号与消息块中的数据的数值相等的签名块,选择签名的一个块。从而利用生物特征签名/生物特征式签名创建加密消息。 为了解密消息,需要源于相同物品/特征的一个签名,该签名被分成与加密过程同样数目的多个块。对于加密消息的每个块,比较该块与签名,以找出该块在签名内的位置。这将对应于签名内的块编号,所述块编号又显示原始消息的数据值。从而,依据哪个签名块与加密消息的块最匹配,确定原始消息的比特值。 从而,要明白本例的克服通常遇到的与模糊密钥有关的困难的特征在于把出自模糊签名的多个比特(即,一个块)用于消息的每个块,签名的任何单一比特并不单独负责消息中的一个比特的值。与简单地寻找两个备选物之间的最佳匹配(而不是绝对的恢复值)的解密过程结合,这使模糊签名可被用作加密密钥,而不顾虑因密钥的模糊性造成的丢失数据或错乱数据。 本例的方法最适合于短消息。不过,这里并不存在前面说明的例子所遇到的有关消息要短于签名的限制。另一方面,这种系统的性质意味着当消息长度增大时,任何给定签名块被重复的机会增大。要认识到从绝对安全的观点来看,在加密消息中重复大量的块并不可取。于是,通常最好使利用这种系统传送的消息较短。 这种系统对短消息的偏爱使本例的系统特别适合于传送对称加密算法的会话密钥。由于到目前为止,对称加密算法是目前已知的最快(在处理资源需求方面)的加密算法,因此利用本例的系统分发对称算法密钥被认为是有益的,以致利用对称加密算法能够进行另外的数据传送。另一方面,本例的有效负载消息可以是不对称加密算法的公共密钥。从而,可按照向接受者保证公共密钥来自该接受者打算与之进行保密通信的一方的方式分发公共密钥。随后,公共密钥可被用于建立保密通信,待使用的不对称系统可以分发对称系统会话密钥。 图9中用一些具体的例证数据长度数字表示了各个块的例子。 和前面的例子中一样,消息40将被加密。在本例中,消息40是随机生成的用于对称加密算法的128比特会话密钥,不过可以使用其它消息。随后对该消息应用纠错编码。在本例中,纠错编码是reed-solomon编码,不过可以使用其它编码。这会产生总共160比特的有效负载长度(表示为41)。在附图标记46表示的是该有效负载被分成预定长度的多个块。在本例中,该预定长度为5比特。 分别地,创建签名47,并将其分成多个块,块的数目由有效负载的块长度确定。在当前的5比特有效负载块长度的例子中,利用5比特可表示的最大数目是32。从而,签名被分成块0-31(二进制表示法的00000-11111)。在其它例子中,可以采用其它有效负载块长度,从而产生不同的签名块数目。在本例中,签名长度为1984比特,为块数目的整数倍。如上所述,如果签名长度不是块数目的整数倍,那么一些块将比其余块长1个比特。和前面一样,这种情况不会不利地影响系统的工作。从而,在本例中,每个块的长度为62个比特(1984÷32)。 随后通过使用每个有效负载块中的数据的数值作为索引,使用分割后的签名47创建加密消息。从而,在图9中所示的例子中,有效负载的第一个块具有数据值10111,这意味着签名的块23(有效负载块中的数据的数值)是加密消息48的第一个块。有效负载的第二个块具有数据值01001,以致签名的块9(有效负载块中的数据的数值)是加密消息48的第二个块。继续该过程,直到加密消息48结束为止。 对解密来说,应用相反的过程。从而,创建该签名-该签名一般是在不同的位置,从相同的物品或生物特征产生的,从而尽管它与原始签名相似,不过事实上存在的是签名′。和在加密方一样,该签名将被分成32个块。随后比较接收的加密消息的每个块和签名′。确定签名′中出现最佳匹配的块位置,从而最佳匹配签名块的块编号代表有效负载块的数据值。这种比较可以是简单比较,或者可以更复杂,例如加密消息块和签名′的每个块之间的互相关。如果使用所述互相关,那么较为直截了当的是区别很好地与签名相配,但是位于重叠两个块的位置的加密消息块和位于与单一块对应性更大的位置的加密消息块。在图9的例子中,加密消息48的第一个块与签名′的比较将显示相对于签名′的块23产生最佳匹配。从而知道有效负载的第一个块的数据值是10111(数字23的二进制表示)。从而,有效负载被复原。在该阶段,纠错编码方案可被用于识别和校正因传输引起的误差或源于模糊密钥处理的不正确匹配结果而产生的任何误差,以致能够复原原始消息(会话密钥)。 本例对签名的“模糊性”具有特别良好的抗力,因为较长的签名块代表每个有效负载块。另一方面,在进行比较之前,必须尝试检测和校正签名和签名′之间的任何偏移。这是试图避免在签名′的不正确部分的虚假匹配所必需的。 在上面的例子中详细说明的方案对从其产生签名的物品或特征的变形有抗力。例如,如果从其产生签名的ID卡是柔性的或者可拉伸的,那么由于在不同的扫描时间ID卡之间的变形,在从相同的ID卡生成的两个签名中的比特之间,所述两个签名可能具有可变的偏移量。在使用纸质或纸板物品生成签名的情况下,这也是一个要关切的事项,因为该物品可能变长或者以其它方式变形,例如由于变湿而变形。即使发生这种变形,本系统使用的基于块的编码也能够降低这种变形的影响,从而避免消息不能被解密。 从而,上面说明了使用模糊密钥对消息加密,随后在解密位置利用从相同的鉴别用物品或生物特征生成的新的模糊密钥可靠地复原消息的方法。 从而,上面说明了把模糊密钥用于消息加密,而不存在密钥的模糊性在解密消息中导致数据丢失或失真的风险的许多方法。