HK40081046B - 用於区分开运动传感器数据中记录的特定於用户、动作和设备的特徵的系统和方法 - Google Patents
用於区分开运动传感器数据中记录的特定於用户、动作和设备的特徵的系统和方法Info
- Publication number
- HK40081046B HK40081046B HK62023070004.4A HK62023070004A HK40081046B HK 40081046 B HK40081046 B HK 40081046B HK 62023070004 A HK62023070004 A HK 62023070004A HK 40081046 B HK40081046 B HK 40081046B
- Authority
- HK
- Hong Kong
- Prior art keywords
- user
- fragment
- transformed
- processor
- mobile device
- Prior art date
Links
Description
相关申请的交叉引用
本申请基于2020年1月6日提交的题为“System and Method for DisentanglingFeatures Specific to Users,Actions and Devices Recorded in Motion SensorData”的美国临时专利申请序列第62/957,653号,并要求其优先权,其内容通过引用并入本文,就好像在本文中明确阐述了其全部内容一样。
技术领域
本申请涉及用于提取用户的特征的系统和方法,并且特别地涉及用于从与用户相关的运动传感器数据中提取设备的用户的判别性特征的系统和方法。
背景技术
当攻击者试图在所有者的智能手机上进行认证时,为基于运动传感器数据的智能手机用户(所有者)识别和认证而设计的标准机器学习(ML)系统遭受严重的性能和准确度下降(例如,高于10%)。当ML系统不能将用户的判别性特征与智能手机设备的判别性特征或通用动作的判别性特征(例如,将手机从桌子上拿开、接听电话等)区分开(disentangle)时,这个问题自然会发生。问题是由运动传感器(例如,加速度计和陀螺仪)在认证会话期间记录的信号同时包含所有这些特征(代表用户、动作和设备)而引起的。
解决此问题的一种方法是在用户注册期间通过以下方式收集附加运动信号:(a)要求用户在执行不同动作(例如,坐在椅子上、站立、换手等)时在多个设备上进行认证,或者(b)要求智能手机所有者让另一人进行一些认证(以模拟潜在的攻击)。然而,这两个选项对于用户来说是不方便的。
因此,需要一种更可靠和更有效的方式来提取移动设备的用户的判别性特征。
发明内容
在第一方面,提供了一种用于从由移动设备捕获的运动信号中区分开设备的用户的判别性特征的计算机实现的方法。移动设备具有一个或多个运动传感器、存储介质、存储在存储介质上的指令、以及通过执行指令而配置的处理器。在该方法中,用处理器将每个捕获的运动信号划分为片段。然后,用处理器使用一个或多个经过训练的变换算法将片段转换为变换后的片段。然后,用处理器将片段和变换后的片段提供给机器学习系统。然后,用处理器使用应用一个或多个特征提取算法的机器学习系统从片段和变换后的片段中提取用户的判别性特征。
在另一方面,用户的判别性特征用于在用户未来使用设备时识别用户。在另一方面,一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。在另一方面,一个或多个运动信号对应于用户和移动设备之间的一个或多个交互。
在另一方面,运动信号包括用户的判别性特征、由用户执行的动作的判别性特征和移动设备的判别性特征。在进一步方面,将一个或多个捕获的运动信号划分为片段的步骤消除了由用户执行的动作的判别性特征。在进一步方面,将片段转换为变换后的片段的步骤消除了移动设备的判别性特征。
在另一方面,一个或多个经过训练的变换算法包括一个或多个循环一致生成对抗网络(Cycle-GAN),并且变换后的片段包括模拟源自另一设备的运动信号的合成运动信号。
在另一方面,将一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。
在第二方面,提供了一种用于从由移动设备捕获的运动信号来在移动设备上认证用户的计算机实现的方法。移动设备具有一个或多个运动传感器、存储介质、存储在存储介质上的指令、以及通过执行指令而配置的处理器。在该方法中,用处理器将一个或多个捕获的运动信号划分为片段。用处理器使用一个或多个经过训练的变换算法将片段转换为变换后的片段。用处理器将片段和变换后的片段提供给机器学习系统。然后,通过将分数分配给片段和变换后的片段中的每一个,用处理器将片段和变换后的片段分类为属于授权用户或属于未授权用户。然后,用处理器对分配给片段和变换后的片段的分数应用投票方案或元学习模型。然后,用处理器基于投票方案或元学习模型确定用户是否是授权用户。
在另一方面,分类的步骤包括:将片段和变换后的片段与在登记(enrollment)过程期间从由授权用户提供的样本片段中提取的授权用户的特征进行比较,其中特征存储在存储介质上;以及基于分类模型为每个片段分配分数。
在另一方面,一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。在另一方面,将一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,并且每个片段具有固定长度。在另一方面,片段的至少一部分是重叠的。
在另一方面,一个或多个经过训练的变换算法包括一个或多个Cycle-GAN,并且转换的步骤包括:经由第一生成器将片段变换为变换后的片段,其模仿在另一设备上生成的片段;以及经由第二生成器重新变换变换后的片段以模仿在移动设备上生成的片段。
在另一方面,变换后的片段包括模拟源自另一设备的运动信号的合成运动信号。在另一方面,提供的步骤包括:用处理使用一个或多个特征提取技术从片段和变换后的片段中提取特征以形成特征向量;以及对与片段和变换后的片段相对应的特征向量采用经过学习的分类模型。
在第三方面,提供了一种用于从在移动设备上捕获的运动信号中区分开设备的用户的判别性特征并在移动设备上认证用户的系统,其中移动设备具有至少一个运动传感器。该系统包括网络通信接口、计算机可读存储介质、处理器,该处理器被配置为与网络通信接口和计算机可读存储介质交互并执行存储在存储介质上的一个或多个软件模块。软件模块包括:
分段模块,其在被执行时将处理器配置为将每个捕获的运动信号划分为片段;
转换模块,其在被执行时将处理器配置为使用一个或多个经过训练的循环一致生成对抗网络(Cycle-GAN)将片段转换为变换后的片段;
特征提取模块,其在被执行时将处理器配置为从片段和变换后的片段中提取用户的提取的判别性特征,其中处理器使用机器学习系统;
分类模块,其在被执行时将处理器配置为向片段和变换后的片段分配分数,并且基于这些片段的相应分数确定片段和变换后的片段属于授权用户还是未授权用户;
元学习模块,其在被执行时将处理器配置为基于与用户相对应的所存储的片段对分配给片段和变换后的片段的分数应用投票方案或元学习模型。
在另一方面,至少一个运动传感器包括陀螺仪和加速度计中的至少一个。
在另一方面,转换模块将处理器配置为:经由第一生成器将片段变换为变换后的片段,其模仿在另一设备上生成的片段;并且经由第二生成器重新变换变换后的片段以模仿在移动设备上生成的片段。
在另一方面,特征提取模块进一步被配置为对与片段和变换后的片段相对应的所提取的特征采用经过学习的分类模型。
附图说明
图1A公开了根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的系统的概要(high-level)图;
图1B是根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的计算机系统的框图;
图1C是根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的软件模块的框图;
图1D是根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的计算机系统的框图;
图2是示出根据一个或多个实施例的基于机器学习的示例性标准智能手机用户识别系统和流程图的图;
图3是示出根据一个或多个实施例的用于通过基于机器学习去除区分动作的特征来识别用户的示例性移动设备系统和流程图的图;
图4是根据一个或多个实施例的用于信号到信号变换的示例性循环一致生成对抗网络(Cycle-GAN)的图;
图5A-图5D示出根据一个或多个实施例的用于从运动传感器数据中区分开移动设备的用户的判别性特征并且从运动传感器数据认证用户的系统和流程图;
图6A公开了示出根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征的计算流程的概要框图;并且
图6B公开了示出根据本文公开的至少一个实施例的用于从运动传感器数据在移动设备上认证用户的计算流程的概要框图。
具体实施方式
通过概述和介绍的方式,本文公开了用于从运动信号中提取或区分开智能手机用户的判别性特征并将它们与可用于区分动作和区分设备的特征分离而不需要用户在注册期间执行任何附加认证的示例性系统和方法。根据该方法的一个或多个实施例,在第一阶段,通过将信号切割成更小的块并且通过对这些块中的每一个独立地应用机器学习系统来消除区分动作的特征。应理解,术语“消除”不一定意味着与动作(或设备)相关的信号特征从得到的(一个或多个)运动数据信号中去除。相反,该过程通过对信号块的独立处理来混淆那些判别性特征,从而有效地消除了动作的判别性特征。换句话说,由于系统不能从小块中重构回整个信号,因此与运动信号相对应的用户的动作(例如,手指滑动、手势)不再能够被恢复和识别,并且因此被有效地消除。在第二阶段,通过采用生成模型(例如生成对抗网络)模拟一组预定义的设备上的认证会话来有效地消除区分设备的特征。生成模型被训练以将来自设备的信号块作为输入,并且提供类似的信号块作为输出,这些类似的信号块将输入设备的特征替换为预定义组中其他设备的判别性特征。在将来自不同设备的特征注入到某个用户的信号中后,机器学习系统可以从原始信号块和模拟的信号块中学习哪些特征跨设备不改变。这些是在区分相关用户时有用的特征。
例如,本文描述的方法和系统可以插入到为智能手机用户(所有者)识别和认证而设计的任何机器学习系统中。所描述的方法和系统关注于用户的判别性特征,同时消除了区分设备和动作的特征。这些方法和系统在一组实验中得到证实,并且益处也得到了经验证明。
图1A公开了根据至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的本系统100的概要图。本方法可以使用本系统100的一个或多个方面来实施,如下文进一步详细描述的。在一些实施方式中,系统100包括基于云的系统服务器平台,该平台与由用户操作的固定PC、服务器和设备(诸如智能手机、平板电脑和膝上型电脑)通信。
在一种布置中,系统100包括系统服务器(后端服务器)105和包括一个或多个移动设备101的一个或多个用户设备。虽然本系统和方法一般被描述为部分地用移动设备(例如,智能手机)来执行,但在至少一个实施例中,本系统和方法可以在其他类型的计算设备(诸如工作站、个人计算机、膝上型计算机、访问控制设备或其他适当的数字计算机)上实施。例如,虽然像移动设备101这样的面向用户的设备通常捕获运动信号,但示例性处理操作中的一个或多个旨在从运动信号中区分开用户的判别性特征,并且可以由系统服务器105执行认证/识别。系统100还可以包括一个或多个远程计算设备102。
系统服务器105实际上可以是能够与用户设备和远程计算设备通信并接收、传输和存储电子信息和处理请求的任何计算设备或数据处理装置,如本文进一步描述的。类似地,远程计算设备102实际上可以是能够与系统服务器或用户设备通信并接收、传输和存储电子信息和处理请求的任何计算设备或数据处理装置,如本文进一步描述的。还应理解,系统服务器或远程计算设备可以是任意数量的联网或基于云的计算设备。
在一个或多个实施例中,(一个或多个)用户设备、(一个或多个)移动设备101可以被配置为彼此通信,与系统服务器105或远程计算设备102通信,向其传输电子信息并从其接收电子信息。用户设备可以被配置为捕获和处理来自用户的运动信号,例如,对应于来自用户124的一个或多个手势(交互)。
(一个或多个)移动设备101可以是能够体现本文描述的系统和方法的任何移动计算设备或数据处理装置,包括但不限于个人计算机、平板计算机、个人数字助理、移动电子设备、蜂窝手机或智能手机设备等。
应注意,虽然图1A描绘了用于区分开用户的判别性特征和关于(一个或多个)移动设备101和远程计算设备102的用户认证的系统100,但是任何数量的此类设备都可以以本文描述的方式与系统交互。还应注意,虽然图1A描绘了用于区分开用户的判别性特征和关于用户124的认证的系统100,但是任何数量的用户都可以以本文描述的方式与系统交互。
应进一步理解,虽然本文引用的各种计算设备和机器(包括但不限于(一个或多个)移动设备101和系统服务器105以及远程计算设备102)在本文中被称为个体或单个设备和机器,但在某些实施方式中,引用的设备和机器以及它们的相关联或伴随的操作、特征和功能可以跨多个此类设备或机器组合或布置或以其他方式采用,诸如通过网络连接或有线连接,如本领域技术人员已知的。
还应理解,本文在(一个或多个)移动设备101(也称为智能手机)的上下文中描述的示例性系统和方法不具体限于移动设备并且可以使用其他启用的计算设备来实施。
现在参考图1B,系统100的移动设备101包括用于使系统能够操作的各种硬件和软件部件,包括一个或多个处理器110、存储器120、麦克风125、显示器140、相机145、音频输出155、存储装置190和通信接口150。处理器110用于执行可以加载到存储器120中的软件指令形式的客户端应用程序。处理器110可以是任意数量的处理器、中央处理单元CPU、图形处理单元GPU、多处理器核或任何其他类型的处理器,具体取决于实施方式。
优选地,存储器120和/或存储装置190可由处理器110访问,从而使处理器能够接收和执行在存储器中和/或存储装置上编码的指令,以使移动设备及其各种硬件部件执行下面将更详细地描述的系统和方法的方面的操作。例如,存储器可以是随机存取存储器(RAM)或任何其他合适的易失性或非易失性计算机可读存储介质。此外,存储器可以是固定的或可移除的。存储装置190可以采取各种形式,具体取决于实施方式。例如,存储装置可以包含一个或多个部件或设备,诸如硬盘驱动器、闪存、可重写光盘、可重写磁带或以上的某种组合。存储装置也可以是固定的或可移除的。
一个或多个软件模块130可以被编码在存储装置190和/或存储器120中。软件模块130可以包括一个或多个软件程序或具有计算机程序代码或在处理器110中执行的一组指令的应用程序。在示例性实施例中,如图1C所描绘的,优选地,被包括在软件模块130中的是由处理器110执行的用户接口模块170、特征提取模块172、分段模块173、分类模块174、元学习模块175、数据库模块176、通信模块177和转换模块178。此类计算机程序代码或指令将处理器110配置为执行本文公开的系统和方法的操作,并且可以以一个或多个编程语言的任何组合编写。
具体地,用户接口模块170可以包括一个或多个算法,以用于执行与从用户捕获运动信号和认证用户的身份相关的步骤。特征提取模块172可以包括一个或多个特征提取算法(例如,机器学习算法),以用于执行与从用户的运动信号的片段和变换后的片段中提取用户的判别性特征相关的步骤。分段模块173可以包括一个或多个算法,以用于执行与将捕获的运动信号划分为片段相关的步骤。转换模块178包括一个或多个变换算法,以用于执行与将运动信号的片段转换为变换后的片段相关的步骤。分类模块174包括一个或多个算法,以用于执行与对片段和变换后的片段进行评分(例如,向其分配类概率)相关的步骤。元学习模块175包括一个或多个算法(例如,投票方案或元学习模型),以用于执行与整合分配给片段和变换后的片段的分数以便识别或拒绝尝试认证的用户相关的步骤。数据库模块176包括一个或多个算法,以用于将与运动信号、片段或变换后的片段相关的数据存储或保存到数据库185或存储装置190。通信模块177包括一个或多个算法,以用于在系统100的计算设备101、102和/或105之间传输和接收信号。
程序代码可以完全在移动设备101上作为独立软件包执行,部分在移动设备上执行,部分在系统服务器105上执行,或者完全在系统服务器或另一远程计算机或设备上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到移动设备101,该网络包括局域网(LAN)或广域网(WAN)、移动通信网络、蜂窝网络,或者该连接可以被用于外部计算机(例如,通过互联网使用互联网服务提供商)。
在一个或多个实施例中,软件模块130和一个或多个计算机可读存储设备(诸如存储器120和/或存储装置190)的程序代码形成可以根据本发明制造和/或分发的计算机程序产品,如本领域普通技术人员已知的。
在一些示例性实施例中,软件模块130中的一个或多个可以经由通信接口150通过网络从另一设备或系统下载到存储装置190以在系统100内使用。此外,应注意,与本系统和方法的操作相关的其他信息和/或数据(诸如数据库185)也可以存储在存储装置上。优选地,此类信息被存储在加密数据存储库上,该加密数据存储库被专门分配用于安全存储由执行安全认证应用程序的处理器收集或生成的信息。优选地,加密措施用于将信息本地存储在移动设备存储装置上并将信息传输到系统服务器105。例如,可以使用1024位多态密码或(根据导出控制)使用AES256位加密方法来加密此类数据。此外,可以使用远程密钥(种子)或本地密钥(种子)执行加密。如本领域技术人员所理解的,可以使用替代的加密方法,例如SHA256。
此外,可以使用用户的运动传感器数据或移动设备信息作为加密密钥来加密存储在(一个或多个)移动设备101和/或系统服务器105上的数据。在一些实施方式中,前述的组合可以用于为用户创建复杂的唯一密钥,该密钥可以在移动设备上使用椭圆曲线密码术(优选地长度至少为384位)进行加密。此外,该密钥可以用于保护存储在移动设备或系统服务器上的用户数据。
此外,在一个或多个实施例中,数据库185被存储在存储装置190上。如下文将更详细描述的,数据库185包含或维持贯穿用于区分开用户的判别性特征和用户认证的系统100和方法的各个操作使用的各种数据项和元素。存储在数据库中的信息可以包括但不限于用户运动传感器数据模板和简档信息,如本文将更详细描述的。应注意,虽然数据库被描绘为被本地配置到移动设备101,但在某些实施方式中,数据库或存储在其中的各种数据元素可以附加地或替代地远程定位(诸如在远程设备102或系统服务器105上—未示出)并以本领域普通技术人员已知的方式通过网络连接到移动设备。
用户接口115也可操作地连接到处理器。接口可以是一个或多个输入或输出设备,例如(一个或多个)开关、(一个或多个)按钮、(一个或多个)键、触摸屏、麦克风等,如电子计算设备的领域中将理解的。用户接口115用于促进从用户捕获命令,诸如开关命令或与系统100的操作相关的用于用户辨别的用户信息和设置。例如,在至少一个实施例中,接口115可以用于促进从(一个或多个)移动设备101捕获某些信息,诸如用于向系统登记的个人用户信息,以便创建用户简档。
移动设备101还可以包括显示器140,其也可操作地连接到处理器110。显示器包括屏幕或任何其他此类呈现设备,其使得系统能够关于系统100的用于区分开用户的判别性特征和用户认证的操作指导用户或以其他方式向用户提供反馈。通过示例的方式,显示器可以是数字显示器,诸如点阵显示器或其他二维显示器。
通过进一步示例的方式,如在智能手机(诸如移动设备101)中常见的那样,接口和显示器可以集成到触摸屏显示器中。因此,显示器还用于示出图形用户接口,该接口可以显示各种数据并提供包括允许用户输入信息的字段的“表格”。在与图形用户接口的显示相对应的位置处对触摸屏的触摸允许人与设备交互以输入数据、改变设置、控制功能等。因此,当触摸屏被触摸时,用户接口将该改变传送到处理器,并且可以改变设置,或者可以捕获用户输入的信息并将其存储在存储器中。
移动设备101还可以包括能够捕获数字图像的相机145。移动设备101或相机145还可以包括一个或多个光或信号发射器(例如,LED,未示出),例如可见光发射器或红外光发射器等。相机可以集成到移动设备中,诸如包含传感器(例如并且不限于CCD或CMOS传感器)的前置相机或后置相机。如本领域技术人员将理解的,相机145还可以包括附加硬件,诸如镜头、测光表(例如,照度计)和其他常规硬件和软件特征,这些特征可用于调整图像捕获设置,诸如变焦、聚焦、光圈、曝光、快门速度等。替代地,相机可以在移动设备101的外部。相机和光发射器的可能变体将被本领域技术人员理解。此外,如本领域技术人员将理解的,移动设备还可以包括一个或多个麦克风125,以用于捕获音频记录。
音频输出155也可操作地连接到处理器110。音频输出可以是被配置为播放电子音频文件的任何类型的扬声器系统,如本领域技术人员将理解的。音频输出可以集成到移动设备101中或移动设备101的外部。
各种硬件设备或传感器160也可以可操作地连接到处理器。例如,传感器160可以包括:用于跟踪一天中的时间等的机载时钟;用于确定移动设备的位置的启用GPS的设备;用于检测地球的磁场以确定移动设备的三维取向的重力磁力计;用于检测移动设备与其他物体之间的距离的接近传感器;用于检测RF辐射水平的RF辐射传感器;以及如本领域技术人员将理解的其他此类设备。
(一个或多个)移动设备101还包括加速度计135和/或陀螺仪136,它们被配置为捕获来自用户124的运动信号。在至少一个实施例中,加速度计还可以被配置为跟踪移动设备的取向和加速度。移动设备101可以被设置(配置)为向执行各种软件模块130(包括例如特征提取模块172、分类模块174和元学习模块175)的处理器110提供加速度计和陀螺仪值。
通信接口150也可操作地连接到处理器110并且可以是能够在移动设备101和包括系统服务器105的外部设备、机器和/或元件之间进行通信的任何接口。优选地,通信接口包括但不限于,调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器(例如蓝牙、蜂窝、NFC)、卫星通信发射器/接收器、红外端口、USB连接和/或用于将移动设备连接到其他计算设备和/或通信网络(诸如私用网络和互联网)的任何其他此类接口。此类连接可以包括有线连接或无线连接(例如,使用802.11标准),但应理解,通信接口实际上可以是能够往返移动设备进行通信的任何接口。
在系统100的用于区分开用户的判别性特征和用户认证的操作期间的各个点,移动设备101可以与一个或多个计算设备(诸如系统服务器105和/或远程计算设备102)通信。此类计算设备向移动设备101传输数据和/或从移动设备101接收数据,从而优选地启动、维持和/或增强系统100的操作,如下面将更详细描述的。
图1D是说明系统服务器105的示例性配置的框图。系统服务器105可以包括处理器210,该处理器210可操作地连接到各种硬件和软件部件,这些硬件和软件部件用于使系统100能够操作以用于区分开用户的判别性特征和用户辨别。处理器210用于执行指令以执行与用户辨别相关的各种操作,如将在下面更详细地描述的。处理器210可以是多个处理器、多处理器核或一些其他类型的处理器,具体取决于特定实施方式。
在某些实施方式中,处理器210可访问存储器220和/或存储装置290,从而使处理器210能够接收和执行存储在存储器220和/或存储装置290上的指令。存储器220可以是,例如,随机存取存储器(RAM)或任何其他合适的易失性或非易失性计算机可读存储介质。此外,存储器220可以是固定的或可移除的。存储装置290可以采取各种形式,具体取决于特定实施方式。例如,存储装置290可以包含一个或多个部件或设备,诸如硬盘驱动器、闪存、可重写光盘、可重写磁带或以上的某种组合。存储装置290也可以是固定的或可移除的。
一个或多个软件模块230被编码在存储装置290和/或存储器220中。软件模块230中的一个或多个可以包括一个或多个软件程序或具有计算机程序代码或在处理器210中执行的一组指令的应用程序。在一个实施例中,软件模块230可以包括软件模块130中的一个或多个。用于执行本文公开的系统和方法的方面的操作的此类计算机程序代码或指令可以以一个或多个编程语言的任意组合来编写,如本领域技术人员将理解的。程序代码可以完全在系统服务器105上作为独立软件包执行,部分在系统服务器105上执行并且部分在远程计算设备(诸如远程计算设备102和/或(一个或多个)移动设备101)上执行,或者完全在此类远程计算设备上执行。在一个或多个实施例中,如图1B所描绘的,优选地,被包括在软件模块230中的是可以由系统服务器的处理器210执行的特征提取模块172、分段模块173、分类模块174、元学习模块175、数据库模块176、通信模块177,和转换模块178。
此外,优选地,存储在存储装置290上的是数据库280。如下文将更详细描述的,数据库280包含或维持贯穿系统100的各种操作使用的各种数据项和元素,包括但不限于,用户简档,如将在本文中更详细描述的。应注意,尽管数据库280被描绘为被本地配置到计算设备105,但在某些实施方式中,数据库280或存储在其中的各种数据元素可以存储在计算机可读存储器或存储介质上,该计算机可读存储器或存储介质远程定位并且以本领域普通技术人员已知的方式通过网络(未示出)连接到系统服务器105。
通信接口250也可操作地连接到处理器210。通信接口250可以是能够在系统服务器105和外部设备、机器或元件之间进行通信的任何接口。在某些实施方式中,通信接口250包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器(例如,蓝牙、蜂窝、NFC)、卫星通信发射器/接收器、红外端口、USB连接或用于将计算设备105连接到其他计算设备或通信网络(诸如专私用网络和互联网)的任何其他此类接口。此类连接可以包括有线连接或无线连接(例如,使用802.11标准),但应理解,通信接口250实际上可以是能够往返处理器210进行通信的任何接口。
系统100及其各种元件和部件的操作可以参考以下例如参考图2、图3、图4、图5A-图5D、图6A-图6B描述的用于使用运动传感器数据来区分开用户的判别性特征和用户认证的方法来进一步理解。本文描绘的过程是从移动设备101和/或系统服务器105的角度示出的,然而,应理解,这些过程可以全部或部分地由(一个或多个)移动设备101、系统服务器105和/或其他计算设备(例如,远程计算设备102)或前述的任何组合来执行。应理解,可以执行比图中所示和本文所述的更多或更少的操作。这些操作也可以以不同于本文描述的顺序来执行。还应理解,步骤中的一个或多个可以由移动设备101和/或在其他计算设备(例如,系统服务器105和远程计算设备102)上执行。
在最近的文献中已经提出了几种基于运动传感器的智能手机用户的用户行为认证(UBA)系统。获得顶级准确率的现代系统依赖于机器学习(ML)和深度学习原理来学习判别性模型,例如“N.Neverova,C.Wolf,G.Lacey,L.Fridman,D.Chandra,B.Barbello,G.Taylor.Learning Human Identity from Motion Patterns.IEEE Access,vol.4,pp.1810-1820,2016”。然而,此类模型是在从智能手机用户收集的数据集上进行评估的,每个设备具有一个用户(合法所有者)。
图2显示了根据一个或多个实施例的示出基于机器学习的标准智能手机用户识别系统的混合系统和过程流程图。具体地,图2显示了可以使用智能手机实施的典型UBA系统300的执行流程。如图2所示,在典型UBA系统300中,加速度计或陀螺仪信号在每个认证或注册会话期间被记录。然后将信号作为输入提供给机器学习系统。系统300在用户注册期间收集的一组训练样本上提取特征并学习模型。在用户认证期间,经过训练的模型将信号分类为属于所有者(授权会话)或属于不同的用户(拒绝会话)。UBA系统300的具体示例步骤如下所示:
1.在用户注册或认证期间,捕获来自内置传感器(诸如加速度计和陀螺仪)的信号。
2.在ML系统内部,采用一组特征提取技术从信号中提取相关特征。
3.在注册期间,在ML系统内部,在与用户注册期间记录的信号对应的特征向量上训练分类模型。
4.在认证期间,在ML系统内部,对对应的特征向量采用经过学习的分类模型以将合法用户(智能手机所有者)与潜在的攻击者区别开。
在这种设置中,ML系统的决策边界可能会受到设备或动作的判别性特征的影响,而不是受用户的判别性特征的影响。进行了实验以检验该假设。实证结果表明,实际上依赖于与设备相对应的特征比依赖于与用户相对应的特征更容易。这个问题在以前的文献中没有被指出或解决。但是,当攻击者可以占有合法用户拥有的智能手机并且他们尝试对受UBA系统保护的应用程序进行认证时,此问题就会出现问题。此外,攻击者可以在对认证期间执行的移动进行彻底分析和模仿后冒充合法用户。如果ML系统依赖于表征设备或动作的更突出的特征,它很可能会授予攻击者对应用程序的访问权限。因此,ML系统将具有增加的误报率,并且将不能拒绝此类攻击。
为了解决这个问题,系统300可以被配置为要求用户在多个设备上使用不同的移动(例如,用左手、右手,坐着时、站立时等进行认证)进行认证,并且为了从同一设备获得负样本,系统300可以提示用户让其他人在他自己的设备上进行几次认证会话。然而,所有这些都是不切实际的解决方案,导致繁琐的注册过程。
因此,本文提供了方法和系统,其为基于运动传感器的UBA系统固有的问题提供了实用的两阶段解决方案,即,通过将用户的判别性特征与设备和动作的判别性特征区分开。在本申请的一个或多个实施例中,所公开的方法由以下两个主要处理阶段组成:
1.为了消除区分用户的移动或动作的特征(例如,手指滑动、手势),运动信号被切割成非常小的块,并对个体块中的每一个应用ML系统。由于无法从这些块中重构回整个信号,因此不能再识别移动(用户执行的一般动作)。然而,原始信号的这些小块仍然包含用户和设备的判别性特征。
2.为了消除区分设备的特征,应用了一组变换算法(例如,生成模型,诸如循环一致生成对抗网络,用于短Cycle-GAN),以便模拟一组预定义的设备上的认证会话。生成模型被训练以将信号块作为输入,并提供类似的块作为输出,该类似的块包括来自我们预定义组的设备的特征。在将来自不同设备的特征注入到特定用户的信号中后,ML系统可以了解哪些特征不会跨设备改变。这些是有助于区分相应用户的特征。
通过使用一个或多个变换算法,诸如Cycle-GAN,在第二阶段,实现了智能手机到智能手机的用户行为变换,这有助于掩盖描述智能手机传感器的特征并揭示塑造用户行为的特征。澄清合法用户行为的积极后果是UBA系统变得更加警惕并且更难被欺骗,即误报率降低。在一个或多个实施例中,所公开的系统(例如,系统100)和方法提供了增强的UBA系统,或者可以替代地结合到常规UBA系统中以增强现有的UBA系统。
常规地,常见移动设备认证机制(诸如PIN、图形密码和指纹扫描)提供了有限的安全性。这些机制容易受到猜测(或在指纹扫描的情况下为欺骗)并容易受到侧信道攻击(诸如涂抹、反射和视频捕获攻击)的影响。因此,基于行为生物特征信号的连续认证方法在学术界和工业领域都受到关注。
第一篇分析加速度计数据以辨别移动设备用户的步态的研究文章是“E.Vildjiounaite,S.-M.Make la,M.Lindholm,R.Riihimaki,V.Kyllonen,J.Mantyjarvi,H.Ailisto.Unobtrusive multimodal biometrics for ensuring privacy andinformation security with personal devices.In:Proceedings of InternationalConference on Pervasive Computing,2006”。
此后,研究界提出了多种UBA系统,诸如:“N.Clarke,S.Furnell.Advanced userauthentication for mobiledevices.Computers&Security,vol.26,no.2,2007”和“P.Campisi,E.Maiorana,M.Lo Bosco,A.Neri.User authentication using keystrokedynamics for cellular phones.Signal Processing,IET,vol.3,no.4,2009”,其专注于击键动态、以及“C.Shen,T.Yu,S.Yuan,S.,Y.Li,X.Guan.Performance analysis ofmotion-sensor behavior for user authentication on smartphones.Sensors,vol.16,no.3,pp.345-365,2016”、“A.Buriro,B.Crispo,F.Del Frari,K.Wrona.Hold&Sign:ANovel Behavioral Biometrics for Smartphone User Authentication.In:Proceedingsof Security and Privacy Workshops,2016”、“G.Canfora,P.di Notte F.Mercaldo,C.A.Visaggio.A Methodology for Silent and Continuous Authentication in MobileEnvironment.In:Proceedings of International Conference on E-Business andTelecommunications,pp.241-265,2016”、“N.Neverova,C.Wolf,G.Lacey,L.Fridman,D.Chandra,B.Barbello,G.Taylor.Learning Human Identity from MotionPatterns.IEEE Access,vol.4,pp.1810-1820,2016”,其专注于机器或深度学习技术。
研究文献或专利中提出的方法没有解决总共包含特定于用户、动作和设备的特征的运动信号的问题。在最近的工作中报告了当用户各自在他们自己的设备上执行认证时的高性能水平。在这种设置中,尚不清楚机器学习模型的高准确率是否是由于模型区分用户或区分设备的能力。出现此问题是因为每个用户都在他自己的设备上进行认证,并且设备未在用户之间共享。
对一组用户在一组设备上执行认证使得每个用户在每个设备上进行认证而进行的实验揭示了,实际上区分设备(准确度约为98%)比区分用户(准确度为约93%)更容易。这暗示研究文献和专利中提出的UBA系统更有可能是因为它们依赖于特定于设备的功能而不是特定于用户的特征而良好地执行。当攻击者对从所有者那里窃取的设备执行认证时,此类系统倾向于高误报率(攻击者被授权进入系统)。
由于该问题尚未在文献中讨论,至少在基于智能手机传感器的运动信号的用户识别的上下文中,所公开的系统和方法是解决区分开特定于用户、动作和设备的特征的任务的第一者。在至少一个实施例中,该方法包括两个阶段/途径中的一个或多个,一个阶段/途径将特定于用户和设备的特征与特定于动作的特征区分开,并且一个阶段/途径将特定于用户的特征与特定于设备的特征区分开。
后一种途径受到基于生成对抗网络的图像风格转移的最近研究的启发。在“I.Goodfellow,J.Pouget-Abadie,M.Mirza,B.Xu,D.Warde-Farley,S.Ozair,A.Courville,Y.Bengio.Generative Adversarial Nets.In:Proceedings of Advancesin Neural Information Processing Systems,pp.2672-2680,2014”中,作者介绍了生成对抗网络(GAN),这是一种由两个神经网络、一个生成器和一个区分器组成的模型,其通过最小化Kullback-Leibler散度来学习训练样本的分布来生成新的(现实的)图像。提出了用于将一组源图像的分布映射到一组目标图像(即执行风格转移)的几种其他基于GAN的途径。例如,诸如“J.Y.Zhu,T.Park,P.Isola,A.A.Efros.Unpaired image-to-imagetranslation using cycle-consistent adversarial networks.In:Proceedings ofIEEE International Conference on Computer Vision,pp.2223-2232,2017”和“J.Kim,M.Kim,H.Kang,K Lee.U-GAT-IT:Unsupervised generative attentional networks withadaptive layer-instance normalization for image-to-image translation.arXivpreprint arXiv:1907.10830,2019”的方法在目标分布与源分布之间添加了循环一致性损失。然而,这些现有的方法是特定于图像风格转移的。
在本申请的一个或多个实施例中,深度生成神经网络通过专注于在时域中从运动传感器数据信号到信号转移特征来适应运动信号数据。更具体地,作为深度生成神经网络的中心部件的卷积层和池化层被修改为仅在时域中分别执行卷积和池化操作。此外,在至少一个实施例中,循环一致GAN用于在多域设置(例如,可以包括3个或更多设备的多设备设置)中转移信号。相比之下,现有的GAN在图像域中运行,并且应用于仅在两个域之间(例如,自然图像和绘画之间)转移风格。
根据一个或多个实施例,并且如上所述,为了将用户的判别性特征与设备和动作的判别性特征区分开,提供了一种两阶段方法。
第一阶段主要基于预处理信号,然后将它们作为输入提供给ML系统。预处理包括将信号划分成几个块。块的数量、它们的长度以及用于选择块的间隔是所提出的预处理阶段的参数,并且它们可以对准确度和时间具有直接影响。例如,设置固定数量的块和每个块的固定长度。在这种情况下,用于提取块的间隔是通过考虑信号长度从信号中计算出来的。较快的认证将产生较短的信号并且块可能会重叠,而较慢的认证将产生较长的信号并且块可能不覆盖整个信号(某些部分将丢失)。另一示例是固定间隔和信号长度,从而根据输入信号长度获得不同数量的块。又一个示例是固定块的数量并计算间隔和对应的长度以覆盖整个输入信号。所有举例的情况(以及进一步类似的情况)都被所公开的系统执行的本申请的预处理途径所覆盖。如图3所说明的,得到的块进一步经受示例性UBA系统的特征提取和分类流水线。
图3显示了根据一个或多个实施例的示出用于通过基于机器学习去除区分动作的特征来进行用户识别的示例性移动设备系统和过程流程图305的图。在一个实施例中,可以使用系统100的一个或多个元件(例如,移动设备100,单独或结合系统服务器105)来实施该过程。如图3所示,加速度计或陀螺仪信号(运动信号)310在每个认证会话期间由移动设备101记录。然后信号310被系统(例如,移动设备100和/或系统服务器105的处理器)划分为N个更小的(可能重叠的)块或片段315。块315被认为是个体样本并且作为输入被提供给机器学习系统。然后,机器学习系统在用户注册期间收集的一组训练样本上提取特征并学习模型。在用户认证期间,机器学习系统将块315分类为属于所有者或属于不同用户。可以对分配给块(从认证会话期间记录的信号中提取)的标签或分数应用元学习途径或(加权)多数投票来授权或拒绝会话。
本文公开的示例性系统和方法可以使用在隐式和/或显式认证会话期间捕获的运动传感器数据来实施。显式认证是指其中提示用户使用移动设备执行规定动作的认证会话。相比之下,隐式认证是指在没有明确提示用户执行任何动作的情况下执行的用户认证会话。将运动信号310划分为块315(即应用上述预处理)的目的是消除区分动作的特征。在显式或隐式认证期间,用户可以执行不同的操作,尽管显式认证可以表现出较低的可变性。实际上,在显式认证会话中,用户很可能总是执行相同的步骤,例如,扫描QR码、将智能手机指向面部、将手指放在指纹扫描仪上等。然而,这些步骤可以使用一只手(左或右)或两只手来执行,用户可以坐在椅子上、站立或行走时执行它们。在这些情况的每一个中,记录的运动信号将不同。如果用户在注册期间用一只手执行认证步骤,并且在认证期间用另一只手执行认证步骤,则可能出现问题,因为经过训练的ML模型将不会很好地概括此类改变。在这种情况下,常规系统将拒绝合法用户,因此具有高误报率。同样的情况在隐式用户认证中更为普遍,即,当用户与一些数据敏感的应用程序(例如银行应用程序)交互时。在此设置中,例如不仅手移动的方式或用户姿势可以不同,用户执行的动作(在屏幕上的不同位置上的敲击手势、不同方向的滑动手势等)也可以不同。分离(分类)此类动作的最直接方式是查看运动信号从记录的开始到结束随时间的改变。然而,这里的目的是消除系统分离动作的能力。如果运动信号310被分离成小块315,这些小块被独立处理,如所公开的用于从运动信号中区分开智能手机用户的判别性特征的系统的一个或多个实施例实施的途径,则ML系统将不再具有将整个记录的信号视为整体的机会。由于不知道哪个块去了哪里,ML系统将不能辨别动作,动作只能通过查看整个记录来识别。发生这种情况是因为将块以不同的顺序放回到一起将对应于不同的动作。观察到,当用户在训练ML系统时执行一组动作并且在测试期间执行一组不同的动作时,本方法的信号预处理阶段将辨别准确度改善了4%。由于ML系统为每个块做出决策(例如,生成标签或计算分数),因此系统可以对与认证相对应的一组决策应用投票方案或元学习模型,以便确定执行认证的用户是否合法。
众所周知,由于内置缺陷,硬件传感器可以通过查看这些传感器产生的输出容易识别,如在“N.Khanna,A.K.Mikkilineni,A.F.Martone,G.N.Ali,G.T.C.Chiu,J.P.Allebach,E.J.Delp.A survey of forensic characterization methods forphysical devices.Digital Investigation,vol.3,pp.17-28,2006”中详述的。例如,在“K.R.Akshatha,A.K.Karunakar,H.Anitha,U.Raghavendra,D.Shetty.Digital cameraidentification using PRNU:A feature based approach.Digital Investigation,vol.19,pp.69-77,2016”中,作者描述了一种通过分析捕获的照片来识别智能手机相机的方法,而在“A.Ferreira,L.C.Navarro,G.Pinheiro,J.A.dos Santos,A.Rocha.Laserprinter attribution:Exploring new features and beyond.Forensic ScienceInternational,vol.247,pp.105-125,2015”中,作者提出了一种通过分析打印的页面来识别激光打印设备的途径。以类似的方式,可以通过分析产生的运动信号来唯一地识别加速度计和陀螺仪传感器。这意味着在用户注册和认证期间记录的运动信号将固有地包含设备的判别性特征。基于来自先前系统的数据,已经确定基于记录的运动信号识别智能手机(准确度为98%)比识别用户(准确度为93%)或动作(准确度为92%)容易得多。
虽然将信号划分为块消除了区分动作的特征,但它没有缓解由区分设备的特征引起的问题。主要问题是设备的判别性特征和用户(智能手机所有者)的判别性特征在用户注册期间记录的运动信号内和在我们预处理步骤后得到的块内纠缠在一起。
根据进一步的突出方面,本文公开的用于将智能手机用户的判别性特征从运动信号区分开的系统和方法提供了对该问题的解决方案,该解决方案不需要用户(智能手机所有者)执行除了使用单个设备进行标准注册之外的附加步骤。所公开的用于将设备的用户的判别性特征从运动传感器数据区分开并且从运动传感器数据认证用户的方法和系统部分地受到利用风格转移在图像到图像变换中的循环一致生成对抗网络的成功的启发。如“J.Y.Zhu,T.Park,P.Isola,A.A.Efros.Unpaired image-to-image translation usingcycle-consistent adversarial networks.In:Proceedings of IEEE InternationalConference on Computer Vision,pp.2223-2232,2017”中所示,Cycle-GAN可以将图像的风格替换为不同的风格,同时保持其内容。以类似的方式,所公开的系统和方法将用于记录运动信号的设备替换为不同的设备,同时保持用户的判别性特征。然而,如上所述,现有方法特定于图像风格转移,而本文公开的途径专门针对在时域中将特征从特定设备的运动传感器数据信号转移到针对另一设备模拟的信号。
因此,在一个或多个实施例中,由系统100实施至少一种变换算法(诸如Cycle-GAN),以用于信号到信号变换,如图4所说明的。具体地,图4是根据一个或多个实施例的用于信号到信号变换的示例性循环一致生成对抗网络(Cycle-GAN)400。如图4所示并且根据至少一个实施例,记录在设备X上的输入信号x使用生成器G进行变换,以使其看起来好像记录在不同的设备Y上。信号使用生成器F被变换回原始设备X。区分器DY区分设备Y上记录的信号和由G生成的信号。生成器G被优化以欺骗区分器DY,而区分器DY被优化以便以对抗的方式分离样本。此外,生成对抗网络(由生成器G和F以及区分器DY形成)被优化以减少在将信号x变换回原始设备X之后计算的重构误差。在至少一个实施例中,使用随机梯度下降(或其许多变体中的一个)执行优化,随机梯度下降一种通常用于优化神经网络的算法,如本领域技术人员将理解的。梯度是关于损失函数计算的并且使用链式法则通过神经网络反向传播,如本领域技术人员将理解的。在一个或多个实施例中,可以使用进化算法来执行神经网络的优化。然而,应理解,所公开的方法不限于通过梯度下降或进化算法进行的优化。
将重构误差添加到整体损失函数中确保循环一致性。除了从设备X变换为设备Y之外,Cycle-GAN同时被训练以从设备Y转移到设备X。因此,最终,所公开的系统和方法在两个方向上变换信号。在一个或多个实施例中,用于训练Cycle-GAN在两个方向上进行信号到信号变换的损失函数是:
,其中:
·G和F是生成器;
·DX和DY是区分器;
·x和y分别是来自设备X和设备Y的运动信号(块);
·λ是控制循环一致性相对于GAN损失的重要性的参数;
·是与从设备X到设备Y的变换相对应的交叉熵损失,其中E[■]是期望值,Pdata(■)是数据样本的概率分布;
·是与从设备Y到设备X的变换相对应的交叉熵损失;
·是两个变换的循环一致性损失的总和,其中||■||1是l1范数。
作为Cycle GAN的附加或替代,在“J.Kim,M.Kim,H.Kang,K Lee.U-GAT-IT:Unsupervised generative attentional networks with adaptive layer-instancenormalization for image-to-image translation.arXiv preprint arXiv:1907.10830,2019”中引入的U-GAT-IT模型可以并入当前的用于信号到信号变换的系统和方法中。U-GAT-IT模型在生成器和区分器中都并入注意力模块,并且并入归一化函数(自适应层实例归一化),目的是改善从源域到目标域的变换。注意力地图是利用辅助分类器获得的,而归一化函数的参数是在训练期间学习的。在至少一个实施例中,用于训练U-GAT-IT的损失函数是:
其中:
·G和F是生成器;
·DX和DY是区分器;
·x和y分别是来自设备X和设备Y的运动信号(块);
·λ1、λ2、λ3和λ4是控制各种损失分量的重要性的参数;
·是与从设备X到设备Y的变换相对应的最小二乘损失;
·是与从设备Y到设备X的变换相对应的最小二乘损失;
·是两个变换的循环一致性损失的总和并且||■||1是l1范数;
·是确保输入和输出信号的幅度分布相似的身份损失的总和;
·是引入注意力地图的最小二乘损失的总和。
在一个或多个实施例中,为了获得跨多个设备泛化的转移结果,使用几个Cycle-GAN(或U-GAT-IT)模型在几个设备对之间转移信号。在至少一个实施例中,设置固定数量的智能手机T并且从T个设备中的每一个收集运动信号。在一个或多个实施例中,设置在T个设备中的每一个上执行注册的固定数量的用户。数据收集是在UBA系统部署到生产之前完成的,即从不要求最终用户在T个设备上执行注册,该注册将是不可行的。经过训练的Cycle-GAN的数量是T,使得每个Cycle-GAN学习将信号从特定设备变换为所有其他设备,反之亦然,如图5A-图5D所说明的,这在下文将进一步详细讨论。
本文公开的系统和方法的一个目的是获得通用Cycle-GAN模型,该模型能够将在某个原始设备上捕获的信号变换为组中的T个设备中的一个,而与原始设备无关。在至少一个实施例中,可以通过使用不同的GAN架构、各种网络深度、学习率或优化算法来实现相同的范围。通过学习从多个设备变换为单个设备而不是仅仅学习从一个设备变换为另一设备来确保泛化能力。因此,在变换算法(例如Cycle-GAN模型)的训练期间,所公开的实施例的变换算法(例如,Cycle-GAN)可以应用于将在某个用户的设备上捕获的信号变换为组中的T个设备中的一个,而不需要知道用户或具有关于他/她正在使用的设备的信息。每次将原始信号变换为T个设备中的一个时,所有者的设备的特征都被替换为来自一组T个设备的某个设备的特征,同时保持特定于用户的特征。根据用于从运动传感器数据中区分开设备的用户的判别性特征的系统的一个或多个实施例,通过将原始信号和变换后的信号都馈送到ML系统,ML系统不再能够学习特定于原始设备的判别性特征。发生这种情况是因为ML系统被配置为将原始信号和变换后的信号放(分类)在同一类中,并且获得此类决策边界的最相关方式是通过查看区分用户的特征。
示例性实施例
本系统和方法的示例性实施例在下文参考图5A-图5D、图6A-图6B和图1A-图1D连同技术的实际应用以及其中可以应用用于基于由移动设备运动传感器捕获的运动信号来区分开设备的用户的判别性特征并认证的系统和方法的其他实际场景来进一步详细地讨论。
在一个或多个实施例中,本文公开的方法提供了修改的UBA执行流水线。修改的UBA执行流水线能够将用户的判别性特征与动作和设备的判别性特征区分开,如图5A-图5D所示。图5A-图5D示出根据一个或多个实施例的用于从运动传感器数据中区分开移动设备的用户的判别性特征并认证用户的系统和流程图。图5A-图5D的流程图中的步骤可以使用用于从包括例如系统100的移动设备101和/或系统服务器105的运动传感器数据中区分开设备的用户的判别性特征的示例性系统来执行。图5A-图5D的流程图中的步骤详述如下:
1.在用户注册或认证期间,移动设备101从内置传感器(诸如加速度计和陀螺仪)捕获运动信号310。
2.将运动信号310划分为更小的块315。
3.使用一组经过训练的Cycle-GAN 400,生成新信号500(变换后的信号),从而模拟用户在其他设备上的认证会话。
4.在ML系统505内部,通过采用一组特征提取技术,从原始信号块和变换后的信号块中提取相关特征以形成特征向量。
5.在注册期间,在ML系统505内部,在与记录的和变换后的信号块500相对应的特征向量上训练分类模型。
6.在认证期间,在ML系统505内部,对与记录的和变换后的信号块相对应的特征向量采用经过学习的分类模型。
7.在认证期间,为了将合法用户(智能手机所有者)与潜在攻击者区别开,对针对与认证会话相对应的记录的和变换后的块获得的分数或标签采用投票方案或元学习模型。
这些步骤和其他步骤在图6A-图6B的以下示例性方法中进一步描述和举例说明。
根据一个或多个实施例,图6A公开了示出用于从运动传感器数据中区分开设备的用户的判别性特征的计算流程的概要框图。在一个或多个实施例中,图6A的方法可以由本系统执行,诸如图1A的示例性系统100。尽管许多以下步骤被描述为由移动设备101(图1A)执行,但在某些实施例中,以下步骤中的一个或多个可以由与移动设备101通信的系统服务器(后端服务器)105执行。
参考图5A和图1A-图1D,过程开始于步骤S105,其中移动设备101的处理器被配置为通过执行一个或多个软件模块(例如,用户接口模块170)使移动设备的至少一个运动传感器(例如,加速度计135、陀螺仪136)以一个或多个运动信号的形式从用户捕获数据。在一个或多个实施例中,运动信号是与在指定时域期间从移动设备的至少一个运动传感器收集的用户与设备的物理移动或交互相对应的多轴信号。用户的物理移动可以是“手势”的形式(例如,手指敲击或手指滑动)或与移动设备的其他物理交互(例如,拿起移动设备)的形式。例如,运动传感器可以收集或捕获与用户在空中书写他们的签名(“显式”交互)或用户敲击他们的手机(“隐式”交互)相对应的运动信号。因此,运动信号包含特定于(区分)用户、用户执行的动作(例如,手势)和特定移动设备的特征。
在一个或多个实施例中,移动设备的运动传感器对运动信号的收集或捕获可以在一个或多个预定时间窗期间执行,该预定时间窗优选地是短时间窗。例如,在至少一个实施例中,时间窗可以是大约2秒。在至少一个实施例中,诸如在用户的登记期间,移动设备可以被配置为通过提示用户做出特定手势或显式交互来收集(捕获)来自用户的运动信号。此外,在至少一个实施例中,移动设备可以被配置为在不提示用户的情况下收集运动信号,使得收集的运动信号表示用户与移动设备的隐式手势或交互。在一个或多个实施例中,移动设备101的处理器可以被配置为通过执行一个或多个软件模块(例如,数据库模块176)来将捕获的运动信号保存在移动设备的数据库185中,或者替代地,捕获的运动信号可以保存在后端服务器105的数据库280中。
在步骤S110处,移动设备的处理器被配置为通过执行一个或多个软件模块(例如,分段模块173)将一个或多个捕获的运动信号划分为片段。具体地,捕获的运动信号被划分为N个更小的块或片段。如前所讨论的,所公开的系统和方法被配置为部分地解决在运动信号中将特定于或专属于特定用户的特征和区分由用户执行的动作的特征区别开的问题。这样,通过将运动信号划分为片段,消除了由用户执行的动作的判别性特征。在一个或多个实施例中,将一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。在一个或多个实施例中,片段或块中的至少一些是重叠的片段或块。
继续参考图5A,在步骤S115处,移动设备的处理器被配置为通过执行一个或多个软件模块130(例如,转换模块178),使用一个或多个经过训练的变换算法(诸如循环一致生成对抗网络(Cycle-GAN))将片段转换为变换后的片段。如前所讨论的,本系统和方法被配置为部分地解决在运动信号中将特定于或专属于特定用户的特征和区分用户的移动设备的特征区别开的问题。通过使用Cycle-GAN将片段转换为变换后的片段,本方法有效地从提供给ML模型的(一个或多个)收集的运动数据信号中消除了移动设备的判别性特征。
更具体地,根据一个或多个实施例,块/片段被认为是个体样本,并且这些块/片段作为输入被提供给一个或多个变换算法(例如,Cycle-GAN)。在利用Cycle-GAN的一个或多个实施例中,每个Cycle-GAN在一组预定义的T个不同的设备上收集的运动信号的分离的数据集上离线训练。给定片段作为输入,Cycle-GAN将每个片段转换为变换后的片段,使得变换后的片段对应于如将在来自该组预定义的T个设备的不同于用户的移动设备的设备上记录的片段。换言之,变换后的片段包括模拟源自另一设备的运动信号的一个或多个合成运动信号。例如,记录在设备X上的运动信号x的输入片段使用Cycle-GAN(生成器)G进行变换,以使其看起来像是记录在不同的设备Y上。
每次使用Cycle-GAN中的一个变换原始片段时,用户自己的设备的特征都被替换为来自该组预定义的T个设备的某个设备的特征替换,同时保持特定于用户的特征。如前所述,该过程的一个目的是将运动信号中的特定于(区分)用户的特征与仅特定于(区分)用户利用的设备的那些特征分离。因此,根据至少一个实施例,为了获得特定于用户的结果,使得可以跨多个设备识别用户,使用几个Cycle-GAN模型(或U-GAT-IT或其他变换算法)来在几个设备之间变换片段。在一个或多个实施例中,设置设备(例如,智能手机)的固定数量T并且收集来自T个设备中的每一个的运动信号的片段。还设置了在T个设备中的每一个上执行注册的固定数量的用户。因此,训练了一定数量的Cycle-GAN,使得每个Cycle-GAN学习将片段从特定设备变换为组中的所有其他设备,反之亦然,如图5A所说明的。因此,根据至少一个实施例,本系统产生通用Cycle-GAN模型,该模型能够将在某个原始设备上捕获的信号变换为一组预定义的T个设备中的另一设备,而与原始设备无关。
需要注意的是,在至少一个实施例中,该步骤可以通过使用不同的GAN架构、各种网络深度、学习率或优化算法来实现。通过学习从多个设备变换为单个设备而不是仅仅学习从一个设备变换为另一设备来确保泛化能力。因此,在Cycle-GAN的训练期间,Cycle-GAN可以应用于将在用户的设备上捕获的信号变换为该组T个设备中的另一设备,而不需要知道用户或具有关于他或她正在使用的设备的信息。每次将原始片段变换为该组中的T个设备中的一个时,用户的设备的特征都被替换为该组T个设备中的另一设备的特征替换,同时保持特定于用户的特征。
在步骤S115的一个或多个实施例中,一旦输入片段被变换,移动设备的处理器就被配置为通过执行一个或多个软件模块(例如,转换模块178)将片段变换回。例如,如前面的示例中所述,记录在设备X上的运动信号x的输入片段使用Cycle-GAN(生成器)G进行变换,以使其看起来像是记录在不同的设备Y上。然后使用Cycle-GAN(生成器)F将变换后的片段变换回原始设备X。根据至少一个实施例,区分器DY然后区分记录在设备Y上的信号和由Cycle-GAN(生成器)G生成的信号。生成器G被优化以欺骗区分器DY,而区分器DY被优化以便以对抗的方式分离样本。此外,在至少一个实施例中,整个系统被优化以减少在将信号x变换回原始设备X之后计算的重构误差。将重构误差添加到整体损失函数确保了循环一致性。
继续参考图5A,在步骤S120处,移动设备的处理器被配置为通过执行一个或多个软件模块(例如,特征提取模块172)来将片段和变换后的片段提供给机器学习系统。作为输入提供给机器学习系统的片段和变换后的片段被视为个体样本。
在步骤S125处,移动设备的处理器然后被配置为通过执行一个或多个软件模块来使用应用一个或多个特征提取算法的机器学习系统从片段和变换后的片段中提取用户的判别性特征。例如,在用户注册过程期间的一个或多个实施例中,处理器被配置为使用一个或多个特征提取技术从片段和变换后的片段中提取相关特征以形成特征向量。在步骤S127处,处理器被配置为对与片段和变换后的片段相对应的特征向量采用和训练经过学习的分类模型。在至少一个实施例中,机器学习系统可以是端到端深度神经网络,包括特征提取(S125)和分类(S127)步骤。在一个或多个实施例中,机器学习系统可以由两个部件(特征提取器和分类器)或三个部件(特征提取器、特征选择方法—未示出—和分类器)形成。在任一实施例中,都存在可训练部件,即深度神经网络或分类器。可训练部件通常通过关于损失函数应用优化算法(例如梯度下降)在样本的数据集(运动信号块)和对应的标签(用户标识符)上进行训练,该损失函数表达可训练部件能够多好地预测用于训练数据样本的正确标签(在用户注册期间收集的原始或变换后的片段),如本领域技术人员将理解的。优化算法的目的是最小化损失函数,即改善可训练部件的预测能力。在步骤S130处,该方法结束。
图6B公开了示出根据至少一个实施例的用于从运动传感器数据在移动设备上认证用户的计算流程的概要框图。现在参考图5B,该方法开始于步骤S105。如图6B所示的步骤S105-S120是上面关于图6A所示的方法的描述的相同步骤。具体地,在步骤S105处,移动设备捕获来自用户的一个或多个运动信号,并且在步骤S110处,将一个或多个捕获的运动信号划分为片段。在步骤S115处,使用一个或多个经过训练的变换算法(例如,Cycle-GAN)将片段转换为变换后的片段,并且在步骤S120处,将片段和变换后的片段提供给机器学习系统。
继续参考图5B和图1A-图1D,在步骤S120之后,在步骤S135处,移动设备的处理器被配置为通过执行一个或多个软件模块(例如,分类模块174)来分类(例如,评分,将类概率分配给)片段和变换后的片段。更具体地,在一个或多个实施例中,对表示片段和变换后的片段的特征向量进行分析和评分。在一个或多个实施例中,片段和变换后的片段可以对应于认证会话,使得根据机器学习模型(例如,在图6A中的步骤S127处在用户注册期间收集的数据上先前训练的分类器或深度神经网络)对片段和变换后的片段进行评分。
在步骤S140处,移动设备被配置为通过执行一个或多个软件模块130(例如,元学习模块175)来对分配给在认证会话期间获得的片段和变换后的片段的分数(例如,类概率)应用投票方案或元学习模型。通过应用投票方案或元学习模型,移动设备被配置为提供授权或拒绝用户的一致决定。在一个或多个实施例中,会话的一致决定基于应用到所有片段和变换后的片段的分数的投票方案或元学习模型。
最后,在步骤S145处,移动设备被配置为通过执行一个或多个软件模块(例如,元学习模块175)来基于投票或元学习步骤确定用户是否是授权用户。如前所述,根据在注册期间训练以识别已知用户的机器学习模型作为输出给出的类概率对片段和变换后的片段进行评分。因此,基于对相应片段和变换后的片段的分数应用的投票方案或元学习器,处理器被配置为确定片段和变换后的片段是否属于特定(授权)用户,并且因此最终确定用户是授权用户还是未授权用户。本文公开的认证过程是指一对一的认证(用户验证)。在步骤S150处,用于基于运动传感器数据认证用户的方法结束。
实验结果
在本节中,根据一个或多个实施例呈现用本文公开的区分方法获得的实验结果。在以下实验中使用了两个不同的数据集。第一数据集(以下称为5x5数据库)由当5个人利用5个智能手机执行认证时来自5个智能手机的加速度计和陀螺仪记录的信号组成。要求这些个人在认证期间改变位置(即站起来,或坐下并使用右手或左手),从而执行不同的通用动作。在每个位置中,捕获了来自50次认证的信号,这意味着每个人在5个智能手机中的每个上总共执行了1000次认证,即会话总数为5000。第二数据集(以下称为3x3数据库)由与第一个相同的位置变化但由3个不同的人和3个不同的智能手机来形成。
来自每个数据库的信号在预处理阶段被划分为25个块。来源于5x5数据集的信号块用于训练5个Cycle-GAN,目的是往返5个设备变换信号。然后,从3x3数据库中获得的每个信号块都被馈送到经过训练的GAN,从而以此方式获得一组全新的信号。这些新的(变换后的)信号进一步划分为两个子集:一个用于训练,并且另一个用于测试ML系统,以基于运动信号进行用户识别。
众所周知,GAN训练是高度不稳定和困难的,因为GAN需要找到具有高维参数的非凸极小极大博弈的纳什均衡。然而,在这些实验中,观察到生成网络的损失函数单调下降,支持了达到平衡点的想法。
通过将信号划分为块,捕获了用户判别性特征,并将移动(动作)的重要性最小化。明确的证据是,通过将信号块(不应用GAN)馈送到ML系统中,观察到用户辨别的4%的准确度增加。跨不同移动设备变换用户行为(通过应用GAN)导致用户辨别准确度附加地增加另一3%(相对于仅使用信号块获得的准确度)。因此,可以得出结论,通过模拟来自各种设备的特征,获得了对设备特征更加稳健和不变的ML系统。
随着移动设备的数量的增长,攻击的频率显着上升。因此,近年来提出了各种用户行为分析算法,包括基于用户认证期间由运动传感器捕获的信号的系统。如今,基于运动传感器数据的算法面临的主要问题是,很难将特定于用户的特征与特定于动作和设备的特征区分开。本申请的系统和方法通过将运动信号划分为块并且通过使用变换算法(例如,Cycle-GAN)将信号变换为其他设备而不需要对用户注册过程进行任何改变来解决这个问题。
事实上,将信号划分为更小的块有助于减少动作(由用户执行)对ML系统的决策边界的影响,从而将用户识别准确度提高4%,如上面的示例所示。此外,众所周知,来自不同设备的传感器由于制造工艺而不同,即使这些设备是相同的品牌和型号,并且来自同一条生产线。这一事实导致移动设备传感器对用于用户识别的ML系统的决策边界的重要影响。根据一个或多个实施例,利用GAN的本文公开的系统和方法基于来自任意设备的记录的运动信号模拟来自多个设备的认证,减少移动设备对ML系统的影响,并增加特定于用户的特征的影响。所公开的系统和方法进一步将ML系统准确度改善约3%。因此,总体而言,在一个或多个实施例中,本系统和方法可以将性能提高7%,从而降低误报率和漏报率。
在以下项目中阐述了用于从运动信号中区分开设备的用户的判别性特征并且用于从运动信号在移动设备上认证用户的示例性系统和方法:
项目1、一种用于从由移动设备捕获的运动信号中区分开设备的用户的判别性特征的计算机实现的方法,所述移动设备具有一个或多个运动传感器、存储介质、存储在存储介质上的指令、以及通过执行指令而配置的处理器,包括:
用所述处理器将每个捕获的运动信号划分为片段;
用所述处理器使用一个或多个经过训练的变换算法将所述片段转换为变换后的片段;
用所述处理器将所述片段和所述变换后的片段提供给机器学习系统;以及
用所述处理器使用应用一个或多个特征提取算法的所述机器学习系统从所述片段和变换后的片段中提取所述用户的判别性特征。
项目2、根据项目1所述的方法,其中,所述用户的所述判别性特征用于在所述用户未来使用所述设备时识别所述用户。
项目3、根据前述项目所述的方法,其中,所述一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。
项目4、根据前述项目所述的方法,其中,所述一个或多个运动信号对应于所述用户和所述移动设备之间的一个或多个交互。
项目5、根据前述项目所述的方法,其中,所述运动信号包括所述用户的判别性特征、由所述用户执行的动作的判别性特征和所述移动设备的判别性特征。
项目6、根据项目5所述的方法,其中,将所述一个或多个捕获的运动信号划分为所述片段的步骤消除了由所述用户执行的动作的所述判别性特征。
项目7、根据项目5所述的方法,其中,将所述片段转换为所述变换后的片段的步骤消除了所述移动设备的所述判别性特征。
项目8、根据前述项目所述的方法,其中,所述一个或多个经过训练的变换算法包括一个或多个循环一致生成对抗网络(Cycle-GAN),并且其中所述变换后的片段包括模拟源自另一设备的运动信号的合成运动信号。
项目9、根据前述项目所述的方法,其中,将所述一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。
项目10、一种用于从由移动设备捕获的运动信号来在所述移动设备认证用户的计算机实现的方法,所述移动设备具有一个或多个运动传感器、存储介质、存储在存储介质上的指令、以及通过执行指令而配置的处理器,包括:
用所述处理器将所述一个或多个捕获的运动信号划分为片段;
用所述处理器使用一个或多个经过训练的变换算法将所述片段转换为变换后的片段;
用所述处理器将所述片段和所述变换后的片段提供给机器学习系统;以及
通过将分数分配给所述片段和变换后的片段中的每一个,用所述处理器将所述片段和变换后的片段分类为属于授权用户或属于未授权用户;以及
用所述处理器对分配给所述片段和变换后的片段的所述分数应用投票方案或元学习模型;以及
用所述处理器基于所述投票方案或元学习模型确定所述用户是否是授权用户。
项目11、根据项目10所述的方法,其中,评分的步骤包括:
将所述片段和变换后的片段与在登记过程期间从由所述授权用户提供的样本片段中提取的所述授权用户的特征进行比较,其中所述特征存储在所述存储介质上;以及
基于分类模型为每个片段分配分数。
项目12、根据项目10或11所述的方法,其中,所述一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。
项目13、根据项目10-12所述的方法,其中,将所述一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。
项目14、根据项目10-13所述的方法,其中,所述片段的至少一部分是重叠的。
项目15、根据项目10-14所述的方法,其中,所述一个或多个经过训练的变换算法包括一个或多个Cycle-GAN,并且其中转换的步骤包括:
经由第一生成器将所述片段变换为所述变换后的片段,其模仿在另一设备上生成的片段;以及
经由第二生成器重新变换所述变换后的片段以模仿在所述移动设备上生成的片段。
项目16、根据项目10-15所述的方法,其中,所述变换后的片段包括模拟源自另一设备的运动信号的合成运动信号。
项目17、根据项目10-16所述的方法,其中,提供的步骤包括:
用所述处理使用一个或多个特征提取技术从所述片段和变换后的片段中提取特征以形成特征向量;以及
对与所述片段和所述变换后的片段相对应的所述特征向量采用经过学习的分类模型。
项目18、一种用于从在具有至少一个运动传感器的移动设备上捕获的运动信号中区分开设备的用户的判别性特征并在所述移动设备上认证用户的系统,所述系统包括:
网络通信接口;
计算机可读存储介质;
处理器,其被配置为与所述网络通信接口和所述计算机可读存储介质交互并执行存储在所述存储介质上的一个或多个软件模块,包括:
分段模块,其在被执行时将所述处理器配置为将每个捕获的运动信号划分为片段;
转换模块,其在被执行时将所述处理器配置为使用一个或多个经过训练的循环一致生成对抗网络(Cycle-GAN)将所述片段转换为变换后的片段;
特征提取模块,其在被执行时将所述处理器配置为从所述片段和变换后的片段中提取所述用户的提取的判别性特征,其中所述处理器使用机器学习系统;
分类模块,其在被执行时将所述处理器配置为向所述片段和变换后的片段分配分数,并且基于这些片段的相应分数确定所述片段和变换后的片段属于授权用户还是未授权用户;
元学习模块,其在被执行时将所述处理器配置为基于与所述用户相对应的所存储的片段基于分配给所述片段和变换后的片段的所述分数应用投票方案或元学习模型。
项目19、根据项目18所述的系统,其中所述至少一个运动传感器包括陀螺仪和加速度计中的至少一个。
项目20、根据项目18-19所述的系统,其中所述转换模块将所述处理器配置为:经由第一生成器将所述片段变换为所述变换后的片段,其模仿在另一设备上生成的片段;并且经由第二生成器重新变换所述变换后的片段以模仿在所述移动设备上生成的片段。
项目21、根据项目18-20所述的系统,其中所述特征提取模块进一步被配置为对与所述片段和所述变换后的片段相对应的所提取的特征采用经过学习的分类模型。
此时,应注意,尽管前面的描述大部分都针对用于使用运动传感器数据来区分开用户的判别性特征和用户认证的系统和方法,但是本文公开的系统和方法可以类似地部署和/或实施在参考场景之外的场景、情况和设置中。
尽管本说明书包含许多具体的实施方式细节,但这些不应被解释为对任何实施方式的范围或可以要求保护的内容的限制,而是对可以特定于特定实施方式的特定实施例的特征的描述。在本说明书中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分离地实施或以任何合适的子组合来实施。此外,尽管特征可以在上面描述为以某些组合起作用,并且甚至最初如此要求保护,但在某些情况下,来自要求保护的组合的一个或多个特征可以从组合中删除,并且要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但这不应被理解为要求这些操作以所示的特定顺序或按顺序执行,或者所有说明的操作都被执行以获得期望的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各个系统部件的分离不应理解为在所有实施例中都需要此类分离,并且应理解的是,所描述的程序部件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。
本文使用的术语仅出于描述特定实施例的目的,并不旨在限制本发明。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定了所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件和/或它们的组。应注意的是,在权利要求中使用诸如“第一”、“第二”、“第三”等顺序术语来修饰权利要求元素本身并不意味着一个权利要求元素相比于另一个的任何优先级、优先序或顺序或执行方法的动作的时间顺序,而是仅用作标签以将具有特定名称的一个权利要求元素与具有相同名称(要不是使用序数术语)的另一元素区别开以将权利要求元素区别开。此外,本文使用的措辞和术语是出于描述的目的,并且不应被视为限制。本文中“包括”、“包含”或“具有”、“含有”、“涉及”及其变体的使用意在涵盖其后列出的项目及其等同物以及附加项目。应理解,附图中的相同数字在几幅图中表示相同的元件,并且并非所有实施例或布置都需要参考附图描述和说明的所有部件和/或步骤。
因此,所公开的系统和方法的示例性实施例和布置提供了用于使用运动传感器数据进行用户认证的计算机实现的方法、计算机系统和计算机程序产品。附图中的流程图和框图说明了根据各种实施例和布置的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示模块、片段或代码的一部分,其包括用于实施(一个或多个)指定逻辑功能的一个或多个可执行指令。还应注意,在一些替代实施方式中,框中标注的功能可以不按附图中标注的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,具体取决于所涉及的功能。还将注意,框图和/或流程图说明的每个框及框图和/或流程图说明中的框的组合可以由执行指定功能或动作的基于硬件的专用系统实施,或由专用硬件和计算机指令的组合实施。
上述主题仅以说明的方式提供并且不应被解释为限制性的。可以对本文描述的主题进行各种修改和改变,而不遵循说明和描述的示例实施例和应用,并且没有脱离在所附权利要求中阐述的本发明的真实精神和范围。
Claims (17)
1.一种用于从由具有一个或多个运动传感器的移动设备捕获的运动信号中区分开设备的用户的判别性特征的计算机实现的方法,包括:
在处理器处提供由所述移动设备捕获的一个或多个捕获的运动信号;
用所述处理器将每个捕获的运动信号划分为片段;
用所述处理器使用一个或多个经过训练的变换算法将所述片段转换为变换后的片段,其中所述一个或多个经过训练的变换算法包括一个或多个循环一致生成对抗网络,并且其中所述变换后的片段包括模拟源自另一设备的运动信号的合成运动信号;
用所述处理器将所述片段和所述变换后的片段作为输入提供给机器学习系统;以及
用所述处理器使用应用一个或多个特征提取算法的所述机器学习系统从所述片段和变换后的片段中提取所述用户的判别性特征,
所述运动信号包括所述用户的判别性特征、由所述用户执行的动作的判别性特征和所述移动设备的判别性特征,并且将所述一个或多个捕获的运动信号划分为所述片段的步骤消除了由所述用户执行的动作的所述判别性特征。
2.根据权利要求1所述的方法,其中,所述用户的所述判别性特征用于在所述用户未来使用所述设备时识别所述用户。
3.根据权利要求1所述的方法,其中,所述一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。
4.根据权利要求1所述的方法,其中,所述一个或多个捕获的运动信号对应于所述用户和所述移动设备之间的一个或多个交互。
5.根据权利要求1所述的方法,其中,将所述片段转换为所述变换后的片段并将所述片段和变换后的片段提供给所述机器学习系统的步骤有效地消除了所述移动设备的所述判别性特征。
6.根据权利要求1所述的方法,其中,将所述一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。
7.一种用于从由具有一个或多个运动传感器的移动设备捕获的运动信号来认证所述移动设备的用户的计算机实现的方法,包括:
在处理器处提供一个或多个捕获的运动信号;
用所述处理器将所述一个或多个捕获的运动信号划分为片段;
用所述处理器使用一个或多个经过训练的变换算法将所述片段转换为变换后的片段,其中所述一个或多个经过训练的变换算法包括一个或多个循环一致生成对抗网络,并且其中所述变换后的片段包括模拟源自另一设备的运动信号的合成运动信号;
用所述处理器将所述片段和所述变换后的片段作为输入提供给机器学习系统;以及
用所述处理器使用所述机器学习系统,通过将分数分配给所述片段和变换后的片段中的每一个,将所述片段和变换后的片段分类为属于授权用户或属于未授权用户;
用所述处理器对分配给所述片段和变换后的片段的所述分数应用投票方案或元学习模型;以及
用所述处理器基于所述投票方案或元学习模型确定所述用户是否是授权用户,
所述运动信号包括所述用户的判别性特征、由所述用户执行的动作的判别性特征和所述移动设备的判别性特征,并且将所述片段转换为所述变换后的片段并将所述片段和变换后的片段提供给所述机器学习系统的步骤有效地消除了所述移动设备的所述判别性特征。
8.根据权利要求7所述的方法,其中,分类的步骤包括:
将所述片段和变换后的片段与在登记过程期间从所述授权用户的样本片段中提取的所述授权用户的特征进行比较,其中所述特征存储在存储介质上;以及
基于分类模型为每个片段分配分数。
9.根据权利要求7所述的方法,其中,所述一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。
10.根据权利要求7所述的方法,其中,将所述一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。
11.根据权利要求7所述的方法,其中,所述片段的至少一部分是重叠的。
12.根据权利要求7所述的方法,其中,转换的步骤包括:
经由第一生成器将所述片段变换为所述变换后的片段,其模仿在另一设备上生成的片段;以及
经由第二生成器重新变换所述变换后的片段以模仿在所述移动设备上生成的片段。
13.根据权利要求7所述的方法,其中,所述提供的步骤包括:
用所述处理器使用一个或多个特征提取技术从所述片段和变换后的片段中提取特征以形成特征向量;以及
对与所述片段和所述变换后的片段相对应的所述特征向量采用经过学习的分类模型。
14.一种用于从在具有至少一个运动传感器的移动设备上捕获的运动信号中区分开设备的用户的判别性特征并认证所述移动设备的所述用户的系统,所述系统包括:
网络通信接口;
计算机可读存储介质;
处理器,其被配置为与所述网络通信接口和所述计算机可读存储介质交互并执行存储在所述存储介质上的一个或多个软件模块,所述软件模块包括:
分段模块,其在被执行时将所述处理器配置为将每个捕获的运动信号划分为片段;
转换模块,其在被执行时将所述处理器配置为使用一个或多个经过训练的循环一致生成对抗网络将所述片段转换为变换后的片段,其中所述变换后的片段包括模拟源自另一设备的运动信号的合成运动信号;
特征提取模块,其在被执行时将所述处理器配置为从所述片段和变换后的片段中提取所述用户的提取的判别性特征,其中所述处理器使用机器学习系统;
分类模块,其在被执行时将所述处理器配置为向所述片段和变换后的片段分配分数,并且基于这些片段的相应分数确定所述片段和变换后的片段属于授权用户还是未授权用户;
元学习模块,其在被执行时将所述处理器配置为基于与所述用户相对应的所存储的片段对分配给所述片段和变换后的片段的所述分数应用投票方案或元学习模型,
所述运动信号包括所述用户的判别性特征、由所述用户执行的动作的判别性特征和所述移动设备的判别性特征,并且将一个或多个捕获的运动信号划分为所述片段消除了由所述用户执行的动作的所述判别性特征。
15.根据权利要求14所述的系统,其中,所述至少一个运动传感器包括陀螺仪和加速度计中的至少一个。
16.根据权利要求14所述的系统,其中,所述转换模块将所述处理器配置为:经由第一生成器将所述片段变换为所述变换后的片段,其模仿在另一设备上生成的片段;并且经由第二生成器重新变换所述变换后的片段以模仿在所述移动设备上生成的片段。
17.根据权利要求14所述的系统,其中,所述特征提取模块进一步被配置为对与所述片段和所述变换后的片段相对应的所提取的特征采用经过学习的分类模型。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US62/957,653 | 2020-01-06 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK40081046A HK40081046A (zh) | 2023-05-12 |
| HK40081046B true HK40081046B (zh) | 2025-11-14 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10877568B2 (en) | Three-dimensional in-the-air finger motion based user login framework for gesture interface | |
| US11188628B2 (en) | Biometric challenge-response authentication | |
| US9294475B2 (en) | System and method for generating a biometric identifier | |
| JP7684975B2 (ja) | モーションセンサデータに記録されるユーザ、動作、および機器に特有な特徴を解きほぐすシステムおよび方法 | |
| EP3254232B1 (en) | Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices | |
| KR101997371B1 (ko) | 신원 인증 방법 및 장치, 단말기 및 서버 | |
| US20160057138A1 (en) | System and method for determining liveness | |
| KR101242390B1 (ko) | 사용자를 인증하기 위한 방법, 장치, 및 컴퓨터 판독 가능한 기록 매체 | |
| CN112639809A (zh) | 生物测定认证的用户自适应 | |
| Li et al. | CNN-based continuous authentication on smartphones with conditional Wasserstein generative adversarial network | |
| KR102401170B1 (ko) | 복합 인증 장치 및 방법 | |
| Li et al. | Adaptive deep feature fusion for continuous authentication with data augmentation | |
| Smith-Creasey et al. | Continuous face authentication scheme for mobile devices with tracking and liveness detection | |
| Fenu et al. | Controlling user access to cloud-connected mobile applications by means of biometrics | |
| CN107615301A (zh) | 指纹相关元素的安全存储 | |
| WO2016033184A1 (en) | System and method for determining liveness | |
| Hamme et al. | AI for biometric authentication systems | |
| Upadhyaya | Advancements in Computer Vision for Biometrics Enhancing Security and Identification | |
| KR102913394B1 (ko) | 모션 센서 데이터에 기록된 사용자, 동작 및 장치에 특유한 특징을 구분하기 위한 시스템 및 방법 | |
| HK40081046B (zh) | 用於区分开运动传感器数据中记录的特定於用户、动作和设备的特徵的系统和方法 | |
| HK40081499B (zh) | 用於解除专用於记录在运动感测数据中的用户、动作和设备的特徵的系统和方法 | |
| HK40081499A (zh) | 用於解除专用於记录在运动感测数据中的用户、动作和设备的特徵的系统和方法 | |
| HK40081046A (zh) | 用於区分开运动传感器数据中记录的特定於用户、动作和设备的特徵的系统和方法 | |
| US20250247241A1 (en) | Authentication based on makeup application technique | |
| Tambay | Testing fuzzy extractors for face biometrics: generating deep datasets |