传感器设置数据的安全存储的制作方法

文档序号:25442759发布日期:2021-06-11 22:02阅读:79来源:国知局
传感器设置数据的安全存储的制作方法

本公开内容涉及指纹感测系统以及由指纹感测系统执行的验证指纹感测系统的指纹传感器的设置数据未被修改的方法。



背景技术:

在当前的指纹感测系统中,指纹传感器设置数据,例如模数转换器(adc)增益、adc移位、像素增益等,被从其中实现了传感器的主机(智能电话、平板电脑、智能卡等)明白地发送至传感器,即,没有提供任何保护措施来保护发送至传感器的设置数据。因此,可能在发送图像捕获命令之前或者在图像捕获过程本身期间修改由主机写入的传感器设置。

因此,可能由恶意第三方通过在捕获图像的同时动态地更改传感器设置来更改所捕获的指纹图像,以便创建修改后的指纹图像。最坏的情况是,可能通过更改传感器设置来操纵图像,以使主机错误地认证指纹。



技术实现要素:

目的是解决或至少减轻本领域中的这个问题,并且因此提供一种由指纹感测系统执行的验证指纹感测系统的指纹传感器的设置数据未被修改的方法。

在第一方面,提供了一种由指纹感测系统执行的验证指纹感测系统的指纹传感器的设置数据未被修改的方法。该方法包括:阻止对保存在指纹感测系统的存储装置中的指纹传感器设置数据的访问;从指纹传感器获取在捕获指纹图像时要利用的指纹传感器设置数据的表示;以及根据所获取的表示来验证指纹传感器设置数据是否对应于先前写入存储装置的指纹传感器设置数据。

在第二方面,提供了一种指纹感测系统,该指纹感测系统包括指纹传感器和处理单元,该指纹感测系统被配置成验证保存在指纹感测系统的存储装置中的指纹传感器设置数据未被修改。该处理单元被配置成:阻止对保存在指纹感测系统的存储装置中的指纹传感器设置数据的访问;从指纹传感器获取在捕获指纹图像时要利用的指纹传感器设置数据的表示;以及根据所获取的表示来验证指纹传感器设置数据是否对应于先前由处理单元写入存储装置的指纹传感器设置数据。

为了减轻乃至避免敏感的指纹传感器设置数据被操纵的风险,阻止对以下存储装置的访问:该存储装置包含从图像捕获的观点来看关键的传感器设置数据,从而防止在将图像捕获命令从处理单元(通常称为主机处理器)发送至传感器时传感器设置数据被修改。

因此,将要由指纹传感器使用的传感器设置数据(并且在对所捕获图像的潜在操纵方面该传感器设置数据是敏感的)保存在传感器的存储器中。当要捕获指纹图像时,阻止对保存在指纹感测系统的存储器中的指纹传感器设置数据的访问。这例如是通过以下方式来进行的:使主机处理器(或指纹传感器)防止将数据写入存储器或至少写入保存敏感传感器设置数据的存储器的一部分。这确保在图像捕获和读出期间传感器设置不被更改。例如,一旦主机处理器向传感器发送图像捕获命令,传感器就可以阻止对保存敏感传感器设置数据的存储器的访问。

在传感器捕获图像之前或之后,主机处理器获取保存在存储器中的传感器设置数据的安全表示,并且验证保存在存储器中的传感器设置数据是否对应于先前由主机处理器写入存储器的传感器设置数据。例如,传感器将在已经捕获图像的情况下所利用的传感器设置数据或者在尚未捕获图像的情况下要利用的传感器设置数据发送至主机处理器。此后,将两个传感器设置数据的集合彼此进行比较(或者将两个数据的子集彼此进行比较),如果两个集合相同,则主机处理器将有利地得出传感器存储器中的传感器设置数据未被修改的结论。

在实施方式中,在根据所述表示验证了捕获图像时要使用的指纹传感器设置数据确实对应于先前写入存储装置的指纹传感器设置数据的情况下,利用存储装置中的指纹传感器设置数据使用指纹传感器来捕获指纹图像。

在实施方式中,利用存储装置中的指纹传感器设置数据使用指纹传感器来捕获指纹图像,并且在指纹传感器设置数据不对应于先前写入存储装置的指纹传感器设置数据的情况下,丢弃所捕获的图像。

在另一实施方式中,在尚未捕获图像的情况下,在从传感器接收到的指纹传感器设置数据不对应于先前写入存储装置的指纹传感器设置数据的情况下,可以停止图像捕获过程。

在实施方式中,解除阻止对保存在指纹感测系统的存储装置中的指纹传感器设置数据的访问。

在实施方式中,所获取的表示包括由传感器基于保存在存储装置中的指纹传感器设置数据而计算的校验和,并且由主机处理器基于先前写入存储装置的指纹传感器设置数据来计算另一校验和,其中,如果该两个校验和匹配,则验证成功。如果为传感器设置数据的表示提供认证和数据完整性的标示——例如以适当的校验和的形式——则大大提高验证过程的安全级别。

下面将描述其他实施方式。

通常,除非本文另外明确地限定,否则权利要求中使用的所有术语将根据其在本技术领域中的普通含义进行解释。除非另外明确地指出,否则对“一/一个/该元件、设备、部件、装置、步骤等”的所有引用将被开放地解释为指代元件、设备、部件、装置、步骤等中的至少一个实例。除非明确说明,否则本文中公开的任何方法的步骤不必以公开的确切顺序来执行。

附图说明

现在参照附图借助于示例的方式来描述各方面和实施方式,在附图中:

图1示出了其中可以实现本发明的以智能电话形式的电子主机设备;

图2示出了用户将手指放置在其上的指纹传感器的视图;

图3示出了根据实施方式的作为指纹感测系统的部分的指纹传感器;

图4示出了流程图,该流程图示出由指纹感测系统执行的验证指纹传感器的设置数据未被修改的方法的实施方式;

图5示出了流程图,该流程图示出由指纹感测系统执行的验证指纹传感器的设置数据未被修改的方法的另一实施方式;

图6示出了流程图,该流程图示出由指纹感测系统执行的方法的实施方式;

图7示出了流程图,该流程图示出由指纹感测系统执行的验证指纹传感器的设置数据未被修改的方法的另一实施方式;以及

图8示出了根据实施方式在主机处理器与指纹传感器之间的信令图。

具体实施方式

现在将在下文中参照附图更充分地描述本公开内容的各方面,在附图中示出了本发明的某些实施方式。

然而,这些方面可以以许多不同的形式来体现,并且不应当被解释为限制。相反,通过示例的方式提供这些实施方式,使得本公开内容将是透彻和完整的,并且将向本领域技术人员充分地传达本发明的所有方面的范围。在整个说明书中,相同的附图标记指代相同的元件。

图1示出了其中可以实现本发明的以智能电话100的形式的电子主机设备。智能电话100配备有指纹传感器102和具有触摸屏界面106的显示单元104。指纹传感器102可以例如用于解锁移动电话100和/或用于授权使用移动电话100执行的交易等。替选地,指纹传感器102可以放置在移动电话100的背面。注意,指纹传感器102可以集成在显示单元/触摸屏中,或者形成智能电话主页按钮的部分。

应当理解,根据本发明的实施方式的指纹传感器102可以在其他类型的电子设备(例如膝上型计算机、遥控器、平板电脑、智能卡、智能手表等)或者利用指纹感测的任何其他类型的现在或未来类似配置的设备中实现。

图2示出了用户将她的手指201放置在其上的指纹传感器102的略微放大的视图。指纹传感器102被配置成包括多个感测元件。在图2中,单个感测元件(也表示为像素)由附图标记202指示。

图3示出了作为指纹感测系统101的部分的指纹传感器102。指纹感测系统101包括指纹传感器102以及处理单元103(例如微处理器),处理单元103用于控制指纹传感器102并且用于分析所捕获的指纹。指纹感测系统101还包括存储器105。指纹感测系统101通常又形成如图1所示的电子设备100的部分。本地存储器108(例如,一次性可编程(otp)存储器、闪速存储器或随机存取存储器(ram))可以嵌入传感器晶粒(sensordie)中。注意,指纹传感器102配备有数据处理能力,但是与处理单元103(通常称为主机处理器)相比在处理能力方面远没有那么强大。

现在,当对象接触指纹传感器102时,传感器102捕获对象的图像,以便通过将所捕获的指纹与预先存储在存储器105中的一个或更多个授权的指纹模板进行比较来使处理单元103确定该对象是否是授权用户的指纹。

可以使用任何类型的当前或未来的指纹感测原理,包括例如电容式、光学、超声或热感测技术,来实现指纹传感器102。

在一般的授权过程中,用户将她的手指201放置在布置在传感器102上方的显示表面104上,以用于传感器捕获用户的指纹的图像。处理单元103评估所捕获的指纹,并且将所捕获的指纹与存储在存储器105中的一个或更多个经认证的指纹模板进行比较。如果所记录的指纹与预先存储的模板匹配,则对用户进行认证,并且处理单元103通常将指示智能电话100执行适当的动作,例如从锁定模式转换至允许用户访问智能电话100的解锁模式。

再次参照图3,由指纹感测系统101执行的方法的步骤实际上由以一个或更多个微处理器的形式实现的处理单元来103执行,所述一个或更多个微处理器被布置成执行下载到与微处理器相关联的存储介质105(例如ram、闪速存储器或硬盘驱动器)的计算机程序107。处理单元103被布置成:在将包括计算机可执行指令的适当的计算机程序107下载至存储介质105并且由处理单元103执行时,使指纹感测系统101执行根据实施方式的方法。存储介质105也可以是包括计算机程序107的计算机程序产品。替选地,可以借助于合适的计算机程序产品例如数字多功能盘(dvd)或记忆棒,将计算机程序107转移至存储介质105。作为另一替选,可以通过网络将计算机程序107下载至存储介质105。替选地,可以以数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)等的形式实现处理单元103。还应当理解,借助于处理单元103提供的功能中的所有或一些部分可以至少部分地与指纹传感器102集成。还可以由先前所提及的能够执行数据处理的指纹传感器102执行一个或更多个步骤。

现在,如先前所讨论的,指纹传感器设置数据可能被恶意第三方操纵,以便欺骗指纹感测系统。指纹传感器设置数据可以包括但不限于以下中的一个或更多个:像素偏移/增益、像素电荷减法(pixelchargesubtraction)、adc偏移/增益/移位、数字样本增益/偏移、数字/模拟多重采样、频率控制、时钟控制、偏置控制、采样模式、解调模式、测试模式、摆动像素保护模式(swingingpixelguardpattern)、相关采样开/关(correlatedsamplingon/off)等。还可以包括用于产生噪声信息的传感器设置,其中根据该噪声信息生成加密功能中要使用的随机值数据。发送至指纹传感器/图像捕获功能的可能影响从传感器输出的图像数据的所有传感器设置数据可能被认为是敏感的,并且可能因此被阻止访问,并且可能也是计算出的校验和的一部分。可以设想许多不同类型的传感器设置数据。

针对潜在地操纵传感器设置数据的问题的解决方案可以是通过例如使用密码术来保护传感器设置免于被窜改。然而,这样的操作通常处理量大,并且给系统增加延迟。在主机是具有相对稀缺的处理能力的设备(例如智能卡)的情况下,这尤其麻烦。在设备100(例如智能卡)的系统性能方面,向传感器102与主机处理器103之间的所有交易提供诸如密码认证、完整性、机密性和重放保护的保护措施将过于昂贵。因此,已经认定,在智能卡指纹传感器系统中,仅向从传感器读取的图像数据应用保护措施。这将使传感器102与主机处理器103之间的系统交易延迟保持最小。

然而,指纹传感器设置数据处于被操纵的风险的问题仍然存在,这最终可能导致例如通过企图欺骗系统来使指纹图像被操纵。

实施方式通过阻止访问以下存储装置来解决该问题,从而防止传感器设置数据被修改:该存储装置包含从图像捕获的观点来看至关重要的传感器设置数据。例如,可以将传感器设置数据存储在本地存储器108中或存储在存储介质105中。

图4示出了以下流程图:该流程图示出由指纹感测系统101执行的验证指纹传感器102的设置数据未被修改的方法的实施方式。

因此,可以将潜在地可能被恶意方修改以操纵所捕获的图像的传感器设置数据保存在存储器108中。传感器设置数据通常由主机处理器103写入存储器108。

在第一步骤s101中,阻止对保存在指纹感测系统101的存储器108中的指纹传感器设置数据的访问。例如,这通过使主机处理器103写入存储器108的读/写端口来进行,从而防止数据写入存储器108,或者至少防止写入保存有敏感传感器设置数据的存储器108的一部分。替选地,从主机处理器103向传感器102发送阻止命令,传感器102自身在接收到阻止命令时阻止对存储器108的访问。

这确保传感器设置在图像捕获和读出期间不被更改。设想了在捕获图像之前或之后执行传感器设置数据的验证,并且在下面讨论两种替选方式,从在捕获图像之前执行验证的情况开始。

在指示传感器102捕获图像之前(但是在阻止对传感器设置数据的访问之后),例如通过传感器102发送要用于图像捕获的传感器设置数据,主机处理器103在步骤s102中获取保存在存储器108中的传感器设置数据的表示,并且在步骤s103中验证保存在存储器108中并且因此由传感器102传递的传感器设置数据是否对应于先前由主机处理器103写入存储器108的传感器设置数据(并且该传感器设置数据也被保存在主机存储器105中)。在该实施方式中,将两个传感器设置数据的集合彼此进行比较(或者将两个数据的子集彼此进行比较),如果两个集合相同,则主机处理器103将有利地得出存储器108中的传感器设置数据未被修改的结论。

有利地,通过阻止对保存在存储器108中的传感器设置数据的访问,阻碍了恶意方修改传感器设置数据以操纵随后捕获的图像。

图5示出了以下流程图:该流程图示出由指纹感测系统101执行的验证指纹传感器102的设置数据未被修改的方法的实施方式,其中,当在步骤s103中验证了保存在存储器108中的传感器设置数据对应于先前由主机处理器103写入存储器108的传感器设置数据的情况下,在步骤s104中,传感器102将使用保存在存储器108中的传感器设置数据真正地捕获图像。

如果存储器108中的传感器设置数据不对应于先前由主机处理器103写入存储器108的传感器设置数据,则由于已经给出了存储器108中的传感器设置数据已被修改、因此所捕获的图像可能被操纵的指示,因此将不捕获图像。

因此,利用保存在存储器108中的给定(即锁定的)传感器设置来捕获图像。在由处理器103从传感器102读出完整图像之后,从寄存器去除锁定,从而允许对存储器108中的传感器设置数据的访问。

由于主机处理器103知道它已经将哪些传感器设置数据写入传感器102,因此处理器103可以在验证了由传感器102提供的传感器设置数据实际上是在捕获图像之前写入存储器108的数据时验证传感器设置。

这确保了传感器设置没有被更改。如果已经进行了任何修改,则在步骤s103中由主机处理器103执行的验证期间将发现该修改。

图6示出了以下流程图:该流程图示出由指纹感测系统101执行的验证指纹传感器102的设置数据未被修改的方法的另一实施方式。

为了进一步增强验证传感器设置数据未被修改的过程的安全性,传感器102将在步骤s101中阻止对存储器108的访问之后,为传感器设置数据的表示提供认证的标示,从而指示所述表示源自于可信的发送者,在这种情况下可信的发送者为传感器102。这可以通过利用在传感器102与主机处理器103之间共享的秘密对称密钥来处理传感器设置数据或者通过对传感器设置数据进行数字签名来实现。

例如,通过基于传感器设置数据和共享的秘密密钥使用例如基于密码的mac(cmac)算法来计算诸如消息认证码(mac)的校验和,可以在传感器102处处理传感器设置数据。作为另一选择,可以利用哈希mac(hmac)安全哈希算法(sha)或siphash算法。使用传感器设置数据作为输入,可以在传感器102处利用任何高级加密标准(aes)算法,以为所述表示提供机密性,包括aes-gcm(“伽罗瓦/计数器模式”)和aes-obc(“分支编码本模式(offsetcodebookmode)”)。

mac的计算具有另一优势:不仅为所述表示提供了认证的标示——即,使用传感器设置数据作为输入的cmac算法的输出——而且附加地提供了数据完整性的标示。因此,通过计算mac,所述表示不仅指示了其源自于可信的发送者,还指示是否对所述表示(因此对传感器设置数据)进行了任何改变。因此,例如使用诸如cmac或hmac的算法,对校验和的接收器计算指示认证和数据完整性的校验和是非常有利的。接收器(在这种情况下为主机处理器103)可以访问校验和所基于的传感器设置数据,并且因此可以相应地计算其自己的校验和,以用于与所获取的校验和进行比较。

主机处理器103因此接收在步骤s102中已经由传感器102计算出的mac,并且此后将(从存储器105)取得先前发送至传感器的传感器设置数据。,

再次,在步骤s103中,主机处理器103必须确定要用于捕获图像的传感器设置数据是否与先前传递至传感器102(并且存储在当前被阻止的存储器108中)的传感器数据相同。

在该特定实施方式中,主机处理器103从存储器105取得传感器设置数据,并且在步骤s102a中使用所取得的传感器设置数据作为输入,利用秘密共享密钥,使用与传感器102相同的算法来计算mac。

在步骤s103中,将在步骤s102a中由主机处理器103计算出的mac与在步骤s102中由主机处理器103获取的mac进行比较。如果两者对应,则验证成功,并且在步骤s104中将由主机处理器103指示指纹传感器102捕获图像。

注意,对于主机处理器103来说,不必对所获取的mac执行处理量大的解密操作以验证该mac所基于的传感器设置数据未被修改。在传感器102和主机处理器103两者处以相同的方式生成mac。

图7示出了以下流程图:该流程图示出由指纹感测系统101执行的验证指纹传感器102的设置数据未被修改的方法的实施方式,其中,在执行验证之前捕获图像。

在第一步骤s201中,如先前所描述的,阻止对保存在指纹感测系统101的存储器108中的指纹传感器设置数据的访问。

此后,在步骤s202中,传感器102利用存储在存储器108中的当前传感器设置数据来捕获接触传感器102的手指的图像。因此,图像是利用锁定的传感器设置捕获的。在读出完整的图像之后,可以从这些存储寄存器去除锁定,从而允许对存储器108中的传感器设置数据的访问。

然后在步骤s203中获取在捕获图像时利用的传感器设置数据。如先前参照图6所讨论的,在步骤s203中,传感器可以使用任何适当的算法来计算mac并且将计算出的mac提供至主机处理器103。

由于主机处理器103知道它将哪些传感器设置数据写入传感器102,因此处理器103可以通过以下方式来验证传感器设置:从存储器105取得传感器设置数据,并且在步骤s203a中利用所取得的传感器设置数据作为输入、使用先前由传感器102使用的共享秘密密钥以及相同的算法来计算mac。

此后,在步骤s204中,主机处理器103通过将所计算的mac与从传感器102获取的mac进行比较来验证传感器设置数据,如果两个mac相同,则验证成功。

如果验证成功,则保留所捕获的图像并且例如在主机是信用卡的情况下通过完成交易来继续该处理。如果验证不成功,即,如果已经对传感器设置数据进行了任何修改,则两个mac将不匹配,并且在步骤s205中丢弃所捕获的图像。

图8示出了信令图,该信令图详细示出了根据实施方式主机100(即,主机处理器103)与指纹传感器102之间的通信在实际上可以如何进行。

在第一步骤s301中,由主机处理器103向传感器102发送保存在主机设备100的存储器105中的传感器设置数据。可以在主机100的所谓的可信执行环境(tee)内处理由主机处理器103处理的数据,以确保安全的处理。如步骤s302所示,传感器102将接收到的传感器设置数据存储在存储器108中。传感器102因此可以访问以下传感器设置数据:在后续捕获指纹图像时要利用该传感器设置数据。

在步骤s303中,主机处理器103向传感器102发送图像捕获命令。如步骤s304所示,阻止对在步骤s302中存储在传感器存储器108中的传感器设置数据的访问,使得所存储的传感器设置数据不能被恶意方修改。传感器102可以被配置成一旦传感器102接收到图像捕获命令就阻止对传感器存储器108的访问。应当注意,主机处理器103可以以单个指令发送传感器设置数据和图像捕获命令,随后传感器102存储接收到的传感器设置数据,并且阻止对存储器108(或者至少是包括传感器设置数据的存储器108的部分)的访问。

在步骤s305中,指纹传感器102将按照主机处理器103利用步骤s303的图像捕获命令所指令的那样捕获接触传感器的手指的图像。

在步骤s306中,传感器102如先前已经描述的基于所存储的传感器设置数据来计算mac。注意,可以基于传感器设置数据和所捕获的图像数据的组合——例如,级联——来计算mac。此外,可选地,可以使用先前提及的加密算法中的任意一种来加密图像。

在此阶段,传感器102可以在已经完全读出所捕获的图像之后解除对存储在传感器存储器108中的传感器设置数据的访问的阻止,如步骤s307中所示,使得可以再次访问保存在存储器108中的传感器设置数据。在步骤s308中,主机处理器103接收所捕获的(可选地加密的)图像数据和计算出的mac,并且将接收到的数据存储在主机存储器105中。

最后,在步骤s309中,主机处理器103从主机存储器105获取在步骤s301中最初发送至传感器102的传感器设置数据,并且计算相应的mac(如果在计算mac时由传感器102使用了图像数据,则也可以使用图像数据,并且因此还对任何加密的图像数据进行解密)。在步骤s310中,将所计算的mac与接收到的mac进行比较,如果两个mac匹配,则主机处理器103验证在图像捕获时所利用的传感器设置数据未被修改。

还可以设想,对访问传感器存储器108的阻止不被解除,直到在执行了成功的mac验证时主机处理器103向传感器102发送解除阻止命令(未示出),随后传感器102将执行如步骤s307中所示的访问解除阻止操作。

如所理解的,重置或中止命令(例如,由主机处理器103发起的)可以终止图像捕获程序,并且解除对传感器存储器108中的传感器设置数据的访问的阻止。

以上参照一些实施方式及其示例主要描述了本公开内容的各方面。然而,如本领域技术人员容易理解的,除了以上公开的实施方式以外的其他实施方式同样可能在所附专利权利要求所限定的本发明的范围内。

因此,虽然本文已经公开了各个方面和实施方式,但是对于本领域技术人员而言其他方面和实施方式将是明显的。本文中所公开的各个方面和实施方式是出于说明的目的,而不是意图进行限制,真正的范围和精神由所附权利要求指示。

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