HK40081046B - System and method for disentangling features specific to users, actions and devices recorded in motion sensor data - Google Patents
System and method for disentangling features specific to users, actions and devices recorded in motion sensor dataInfo
- 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
相关申请的交叉引用Cross-references to related applications
本申请基于2020年1月6日提交的题为“System and Method for DisentanglingFeatures Specific to Users,Actions and Devices Recorded in Motion SensorData”的美国临时专利申请序列第62/957,653号,并要求其优先权,其内容通过引用并入本文,就好像在本文中明确阐述了其全部内容一样。This application is based on and claims priority to U.S. Provisional Patent Application Serial No. 62/957,653, filed January 6, 2020, entitled “System and Method for Disentangling Features Specific to Users, Actions and Devices Recorded in Motion Sensor Data,” the contents of which are incorporated herein by reference as if their entire contents were expressly set forth herein.
技术领域Technical Field
本申请涉及用于提取用户的特征的系统和方法,并且特别地涉及用于从与用户相关的运动传感器数据中提取设备的用户的判别性特征的系统和方法。This application relates to systems and methods for extracting user features, and more particularly to systems and methods for extracting discriminative features of a device user from motion sensor data associated with the user.
背景技术Background Technology
当攻击者试图在所有者的智能手机上进行认证时,为基于运动传感器数据的智能手机用户(所有者)识别和认证而设计的标准机器学习(ML)系统遭受严重的性能和准确度下降(例如,高于10%)。当ML系统不能将用户的判别性特征与智能手机设备的判别性特征或通用动作的判别性特征(例如,将手机从桌子上拿开、接听电话等)区分开(disentangle)时,这个问题自然会发生。问题是由运动传感器(例如,加速度计和陀螺仪)在认证会话期间记录的信号同时包含所有这些特征(代表用户、动作和设备)而引起的。When an attacker attempts to authenticate on an owner's smartphone, standard machine learning (ML) systems designed for smartphone user (owner) identification and authentication based on motion sensor data suffer severe performance and accuracy degradation (e.g., greater than 10%). This problem naturally occurs when the ML system fails to distinguish the user's discriminative characteristics from those of the smartphone device or from the discriminative characteristics of general actions (e.g., taking the phone off a table, answering a call, etc.). The problem arises because the signals recorded by motion sensors (e.g., accelerometers and gyroscopes) during the authentication session simultaneously contain all these characteristics (representing the user, action, and device).
解决此问题的一种方法是在用户注册期间通过以下方式收集附加运动信号:(a)要求用户在执行不同动作(例如,坐在椅子上、站立、换手等)时在多个设备上进行认证,或者(b)要求智能手机所有者让另一人进行一些认证(以模拟潜在的攻击)。然而,这两个选项对于用户来说是不方便的。One approach to this problem is to collect additional motion signals during user registration by either (a) requiring the user to authenticate on multiple devices while performing different actions (e.g., sitting in a chair, standing, switching hands, etc.) or (b) requiring the smartphone owner to have another person perform some authentication (to simulate a potential attack). However, both of these options are inconvenient for users.
因此,需要一种更可靠和更有效的方式来提取移动设备的用户的判别性特征。Therefore, a more reliable and effective way is needed to extract the discriminative features of mobile device users.
发明内容Summary of the Invention
在第一方面,提供了一种用于从由移动设备捕获的运动信号中区分开设备的用户的判别性特征的计算机实现的方法。移动设备具有一个或多个运动传感器、存储介质、存储在存储介质上的指令、以及通过执行指令而配置的处理器。在该方法中,用处理器将每个捕获的运动信号划分为片段。然后,用处理器使用一个或多个经过训练的变换算法将片段转换为变换后的片段。然后,用处理器将片段和变换后的片段提供给机器学习系统。然后,用处理器使用应用一个或多个特征提取算法的机器学习系统从片段和变换后的片段中提取用户的判别性特征。In a first aspect, a computer-implemented method is provided for distinguishing discriminative features of a user of a mobile device from motion signals captured by the mobile device. The mobile device has one or more motion sensors, a storage medium, instructions stored on the storage medium, and a processor configured to execute the instructions. In this method, each captured motion signal is segmented into segments by the processor. The segments are then transformed into transformed segments by the processor using one or more trained transformation algorithms. The segments and the transformed segments are then provided to a machine learning system by the processor. The discriminative features of the user are then extracted from the segments and the transformed segments by the machine learning system, which applies one or more feature extraction algorithms.
在另一方面,用户的判别性特征用于在用户未来使用设备时识别用户。在另一方面,一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。在另一方面,一个或多个运动信号对应于用户和移动设备之间的一个或多个交互。On the other hand, the user's discriminative characteristics are used to identify the user when the user uses the device in the future. On the other hand, one or more motion sensors include at least one of a gyroscope and an accelerometer. On the other hand, one or more motion signals correspond to one or more interactions between the user and the mobile device.
在另一方面,运动信号包括用户的判别性特征、由用户执行的动作的判别性特征和移动设备的判别性特征。在进一步方面,将一个或多个捕获的运动信号划分为片段的步骤消除了由用户执行的动作的判别性特征。在进一步方面,将片段转换为变换后的片段的步骤消除了移动设备的判别性特征。On the other hand, the motion signal includes discriminative features of the user, discriminative features of the actions performed by the user, and discriminative features of the mobile device. In a further aspect, the step of dividing one or more captured motion signals into segments eliminates the discriminative features of the actions performed by the user. In a further aspect, the step of converting the segments into transformed segments eliminates the discriminative features of the mobile device.
在另一方面,一个或多个经过训练的变换算法包括一个或多个循环一致生成对抗网络(Cycle-GAN),并且变换后的片段包括模拟源自另一设备的运动信号的合成运动信号。On the other hand, one or more trained transformation algorithms include one or more Cycle-GANs, and the transformed fragments include synthetic motion signals that simulate motion signals originating from another device.
在另一方面,将一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。On the other hand, the step of dividing one or more captured motion signals into segments includes dividing each motion signal into a fixed number of segments, wherein each segment has a fixed length.
在第二方面,提供了一种用于从由移动设备捕获的运动信号来在移动设备上认证用户的计算机实现的方法。移动设备具有一个或多个运动传感器、存储介质、存储在存储介质上的指令、以及通过执行指令而配置的处理器。在该方法中,用处理器将一个或多个捕获的运动信号划分为片段。用处理器使用一个或多个经过训练的变换算法将片段转换为变换后的片段。用处理器将片段和变换后的片段提供给机器学习系统。然后,通过将分数分配给片段和变换后的片段中的每一个,用处理器将片段和变换后的片段分类为属于授权用户或属于未授权用户。然后,用处理器对分配给片段和变换后的片段的分数应用投票方案或元学习模型。然后,用处理器基于投票方案或元学习模型确定用户是否是授权用户。In a second aspect, a computer-implemented method is provided for authenticating a user on a mobile device from motion signals captured by the mobile device. The mobile device has one or more motion sensors, a storage medium, instructions stored on the storage medium, and a processor configured to execute the instructions. In this method, the processor divides one or more captured motion signals into segments. The processor transforms the segments into transformed segments using one or more trained transformation algorithms. The processor provides the segments and transformed segments to a machine learning system. Then, by assigning scores to each of the segments and transformed segments, the processor classifies the segments and transformed segments as belonging to an authorized user or an unauthorized user. The processor then applies a voting scheme or a meta-learning model to the scores assigned to the segments and transformed segments. Finally, the processor determines whether the user is an authorized user based on the voting scheme or the meta-learning model.
在另一方面,分类的步骤包括:将片段和变换后的片段与在登记(enrollment)过程期间从由授权用户提供的样本片段中提取的授权用户的特征进行比较,其中特征存储在存储介质上;以及基于分类模型为每个片段分配分数。On the other hand, the classification steps include: comparing the fragments and the transformed fragments with features of the authorized user extracted from sample fragments provided by the authorized user during the enrollment process, wherein the features are stored on a storage medium; and assigning a score to each fragment based on a classification model.
在另一方面,一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。在另一方面,将一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,并且每个片段具有固定长度。在另一方面,片段的至少一部分是重叠的。In another aspect, the one or more motion sensors include at least one of a gyroscope and an accelerometer. In another aspect, the step of dividing the one or more captured motion signals into segments includes dividing each motion signal into a fixed number of segments, and each segment having a fixed length. In another aspect, at least a portion of the segments overlaps.
在另一方面,一个或多个经过训练的变换算法包括一个或多个Cycle-GAN,并且转换的步骤包括:经由第一生成器将片段变换为变换后的片段,其模仿在另一设备上生成的片段;以及经由第二生成器重新变换变换后的片段以模仿在移动设备上生成的片段。On the other hand, one or more trained transformation algorithms include one or more Cycle-GANs, and the transformation steps include: transforming a fragment into a transformed fragment via a first generator, which mimics a fragment generated on another device; and transforming the transformed fragment again via a second generator to mimic a fragment generated on a mobile device.
在另一方面,变换后的片段包括模拟源自另一设备的运动信号的合成运动信号。在另一方面,提供的步骤包括:用处理使用一个或多个特征提取技术从片段和变换后的片段中提取特征以形成特征向量;以及对与片段和变换后的片段相对应的特征向量采用经过学习的分类模型。On the other hand, the transformed segment includes a synthetic motion signal simulating motion signals originating from another device. On another hand, the provided steps include: extracting features from the segment and the transformed segment using one or more feature extraction techniques to form a feature vector; and applying a learned classification model to the feature vectors corresponding to the segment and the transformed segment.
在第三方面,提供了一种用于从在移动设备上捕获的运动信号中区分开设备的用户的判别性特征并在移动设备上认证用户的系统,其中移动设备具有至少一个运动传感器。该系统包括网络通信接口、计算机可读存储介质、处理器,该处理器被配置为与网络通信接口和计算机可读存储介质交互并执行存储在存储介质上的一个或多个软件模块。软件模块包括:In a third aspect, a system is provided for distinguishing discriminative features of a user of a mobile device from motion signals captured on the mobile device and authenticating the user on the mobile device, wherein the mobile device has at least one motion sensor. The system includes a network communication interface, a computer-readable storage medium, and a processor configured to interact with the network communication interface and the computer-readable storage medium and execute one or more software modules stored on the storage medium. The software modules include:
分段模块,其在被执行时将处理器配置为将每个捕获的运动信号划分为片段;The segmentation module, when executed, configures the processor to divide each captured motion signal into segments;
转换模块,其在被执行时将处理器配置为使用一个或多个经过训练的循环一致生成对抗网络(Cycle-GAN)将片段转换为变换后的片段;The transformation module, when executed, configures the processor to use one or more trained Cyclic Consistent Generative Adversarial Networks (Cycle-GANs) to transform the fragments into transformed fragments.
特征提取模块,其在被执行时将处理器配置为从片段和变换后的片段中提取用户的提取的判别性特征,其中处理器使用机器学习系统;The feature extraction module, when executed, configures the processor to extract the user-extracted discriminative features from the fragments and the transformed fragments, wherein the processor uses a machine learning system;
分类模块,其在被执行时将处理器配置为向片段和变换后的片段分配分数,并且基于这些片段的相应分数确定片段和变换后的片段属于授权用户还是未授权用户;The classification module, when executed, configures the processor to assign scores to fragments and transformed fragments, and determines whether the fragments and transformed fragments belong to authorized users or unauthorized users based on the corresponding scores of these fragments;
元学习模块,其在被执行时将处理器配置为基于与用户相对应的所存储的片段对分配给片段和变换后的片段的分数应用投票方案或元学习模型。The meta-learning module, when executed, configures the processor to apply a voting scheme or meta-learning model to the scores assigned to fragments and transformed fragments based on the stored fragments corresponding to the user.
在另一方面,至少一个运动传感器包括陀螺仪和加速度计中的至少一个。On the other hand, at least one motion sensor includes at least one of a gyroscope and an accelerometer.
在另一方面,转换模块将处理器配置为:经由第一生成器将片段变换为变换后的片段,其模仿在另一设备上生成的片段;并且经由第二生成器重新变换变换后的片段以模仿在移动设备上生成的片段。On the other hand, the conversion module configures the processor to: transform a fragment into a transformed fragment via a first generator, which mimics a fragment generated on another device; and re-transform the transformed fragment via a second generator to mimic a fragment generated on a mobile device.
在另一方面,特征提取模块进一步被配置为对与片段和变换后的片段相对应的所提取的特征采用经过学习的分类模型。On the other hand, the feature extraction module is further configured to apply a learned classification model to the extracted features corresponding to the fragment and the transformed fragment.
附图说明Attached Figure Description
图1A公开了根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的系统的概要(high-level)图;Figure 1A discloses a high-level diagram of a system for distinguishing discriminative features of a user of a device from motion sensor data and authenticating the user from motion sensor data, according to at least one embodiment disclosed herein.
图1B是根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的计算机系统的框图;Figure 1B is a block diagram of a computer system for distinguishing discriminative features of a user of a device from motion sensor data and authenticating the user from motion sensor data, according to at least one embodiment disclosed herein.
图1C是根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的软件模块的框图;Figure 1C is a block diagram of a software module for distinguishing discriminative features of a user of a device from motion sensor data and authenticating the user from motion sensor data, according to at least one embodiment disclosed herein.
图1D是根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的计算机系统的框图;Figure 1D is a block diagram of a computer system for distinguishing discriminative features of a user of a device from motion sensor data and authenticating the user from motion sensor data, according to at least one embodiment disclosed herein.
图2是示出根据一个或多个实施例的基于机器学习的示例性标准智能手机用户识别系统和流程图的图;Figure 2 is a diagram illustrating an exemplary standard smartphone user identification system and flowchart based on machine learning according to one or more embodiments;
图3是示出根据一个或多个实施例的用于通过基于机器学习去除区分动作的特征来识别用户的示例性移动设备系统和流程图的图;Figure 3 is a diagram illustrating an exemplary mobile device system and flowchart for identifying a user by removing features that distinguish actions based on machine learning, according to one or more embodiments;
图4是根据一个或多个实施例的用于信号到信号变换的示例性循环一致生成对抗网络(Cycle-GAN)的图;Figure 4 is a diagram of an exemplary Cycle-GAN for signal-to-signal transformation according to one or more embodiments;
图5A-图5D示出根据一个或多个实施例的用于从运动传感器数据中区分开移动设备的用户的判别性特征并且从运动传感器数据认证用户的系统和流程图;Figures 5A-5D illustrate a system and flowchart according to one or more embodiments for distinguishing discriminative features of a user of a mobile device from motion sensor data and authenticating the user from motion sensor data;
图6A公开了示出根据本文公开的至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征的计算流程的概要框图;并且Figure 6A discloses a schematic block diagram illustrating a calculation flow for distinguishing discriminative features of a user of a device from motion sensor data, according to at least one embodiment disclosed herein; and
图6B公开了示出根据本文公开的至少一个实施例的用于从运动传感器数据在移动设备上认证用户的计算流程的概要框图。Figure 6B discloses a summary block diagram illustrating a computational flow for authenticating a user on a mobile device from motion sensor data according to at least one embodiment disclosed herein.
具体实施方式Detailed Implementation
通过概述和介绍的方式,本文公开了用于从运动信号中提取或区分开智能手机用户的判别性特征并将它们与可用于区分动作和区分设备的特征分离而不需要用户在注册期间执行任何附加认证的示例性系统和方法。根据该方法的一个或多个实施例,在第一阶段,通过将信号切割成更小的块并且通过对这些块中的每一个独立地应用机器学习系统来消除区分动作的特征。应理解,术语“消除”不一定意味着与动作(或设备)相关的信号特征从得到的(一个或多个)运动数据信号中去除。相反,该过程通过对信号块的独立处理来混淆那些判别性特征,从而有效地消除了动作的判别性特征。换句话说,由于系统不能从小块中重构回整个信号,因此与运动信号相对应的用户的动作(例如,手指滑动、手势)不再能够被恢复和识别,并且因此被有效地消除。在第二阶段,通过采用生成模型(例如生成对抗网络)模拟一组预定义的设备上的认证会话来有效地消除区分设备的特征。生成模型被训练以将来自设备的信号块作为输入,并且提供类似的信号块作为输出,这些类似的信号块将输入设备的特征替换为预定义组中其他设备的判别性特征。在将来自不同设备的特征注入到某个用户的信号中后,机器学习系统可以从原始信号块和模拟的信号块中学习哪些特征跨设备不改变。这些是在区分相关用户时有用的特征。This document discloses, through an overview and introduction, exemplary systems and methods for extracting or distinguishing discriminative features of smartphone users from motion signals and separating them from features that can be used to distinguish actions and devices without requiring any additional authentication by the user during registration. According to one or more embodiments of the method, in a first stage, action-distinguishing features are eliminated by cutting the signal into smaller blocks and applying a machine learning system independently to each of these blocks. It should be understood that the term "elimination" does not necessarily mean removing action (or device)-related signal features from the resulting motion data signal(s). Rather, the process effectively eliminates action-distinguishing features by obfuscating those discriminative features through independent processing of the signal blocks. In other words, since the system cannot reconstruct the entire signal from the smaller blocks, the user's actions corresponding to the motion signal (e.g., finger swipes, gestures) can no longer be recovered and recognized, and are therefore effectively eliminated. In a second stage, device-distinguishing features are effectively eliminated by employing a generative model (e.g., a generative adversarial network) to simulate authentication sessions on a predefined set of devices. The generative model is trained to take signal blocks from different devices as input and output similar signal blocks that replace features from the input device with discriminative features from other devices in a predefined group. After injecting features from different devices into a user's signal, the machine learning system can learn from the original and simulated signal blocks which features remain unchanged across devices. These are the features useful for distinguishing relevant users.
例如,本文描述的方法和系统可以插入到为智能手机用户(所有者)识别和认证而设计的任何机器学习系统中。所描述的方法和系统关注于用户的判别性特征,同时消除了区分设备和动作的特征。这些方法和系统在一组实验中得到证实,并且益处也得到了经验证明。For example, the methods and systems described in this paper can be plugged into any machine learning system designed for smartphone user (owner) identification and authentication. The described methods and systems focus on the discriminative features of the user while eliminating features that distinguish between devices and actions. These methods and systems are validated in a set of experiments, and their benefits are empirically demonstrated.
图1A公开了根据至少一个实施例的用于从运动传感器数据中区分开设备的用户的判别性特征并且从运动传感器数据认证用户的本系统100的概要图。本方法可以使用本系统100的一个或多个方面来实施,如下文进一步详细描述的。在一些实施方式中,系统100包括基于云的系统服务器平台,该平台与由用户操作的固定PC、服务器和设备(诸如智能手机、平板电脑和膝上型电脑)通信。Figure 1A discloses a schematic diagram of a system 100 according to at least one embodiment for distinguishing discriminative features of a user from motion sensor data and authenticating the user from motion sensor data. This method can be implemented using one or more aspects of the system 100, as described in further detail below. In some embodiments, the system 100 includes a cloud-based system server platform that communicates with user-operated fixed PCs, servers, and devices such as smartphones, tablets, and laptops.
在一种布置中,系统100包括系统服务器(后端服务器)105和包括一个或多个移动设备101的一个或多个用户设备。虽然本系统和方法一般被描述为部分地用移动设备(例如,智能手机)来执行,但在至少一个实施例中,本系统和方法可以在其他类型的计算设备(诸如工作站、个人计算机、膝上型计算机、访问控制设备或其他适当的数字计算机)上实施。例如,虽然像移动设备101这样的面向用户的设备通常捕获运动信号,但示例性处理操作中的一个或多个旨在从运动信号中区分开用户的判别性特征,并且可以由系统服务器105执行认证/识别。系统100还可以包括一个或多个远程计算设备102。In one arrangement, system 100 includes a system server (back-end server) 105 and one or more user devices including one or more mobile devices 101. While the system and methods are generally described as being implemented in part with mobile devices (e.g., smartphones), in at least one embodiment, the system and methods can be implemented on other types of computing devices (such as workstations, personal computers, laptops, access control devices, or other suitable digital computers). For example, while user-facing devices like mobile devices 101 typically capture motion signals, one or more of the exemplary processing operations are designed to distinguish discriminative features of a user from the motion signals, and authentication/identification can be performed by system server 105. System 100 may also include one or more remote computing devices 102.
系统服务器105实际上可以是能够与用户设备和远程计算设备通信并接收、传输和存储电子信息和处理请求的任何计算设备或数据处理装置,如本文进一步描述的。类似地,远程计算设备102实际上可以是能够与系统服务器或用户设备通信并接收、传输和存储电子信息和处理请求的任何计算设备或数据处理装置,如本文进一步描述的。还应理解,系统服务器或远程计算设备可以是任意数量的联网或基于云的计算设备。System server 105 can be any computing device or data processing apparatus capable of communicating with user equipment and remote computing devices and receiving, transmitting, and storing electronic information and processing requests, as further described herein. Similarly, remote computing device 102 can be any computing device or data processing apparatus capable of communicating with system server or user equipment and receiving, transmitting, and storing electronic information and processing requests, as further described herein. It should also be understood that system server or remote computing device can be any number of networked or cloud-based computing devices.
在一个或多个实施例中,(一个或多个)用户设备、(一个或多个)移动设备101可以被配置为彼此通信,与系统服务器105或远程计算设备102通信,向其传输电子信息并从其接收电子信息。用户设备可以被配置为捕获和处理来自用户的运动信号,例如,对应于来自用户124的一个或多个手势(交互)。In one or more embodiments, one or more user devices and one or more mobile devices 101 may be configured to communicate with each other, communicate with system server 105 or remote computing device 102, transmit electronic information to and receive electronic information from it. The user devices may be configured to capture and process motion signals from the user, such as one or more gestures (interactions) from the user 124.
(一个或多个)移动设备101可以是能够体现本文描述的系统和方法的任何移动计算设备或数据处理装置,包括但不限于个人计算机、平板计算机、个人数字助理、移动电子设备、蜂窝手机或智能手机设备等。One or more mobile devices 101 may be any mobile computing device or data processing apparatus capable of embodying the systems and methods described herein, including but not limited to personal computers, tablet computers, personal digital assistants, mobile electronic devices, cellular phones, or smartphones.
应注意,虽然图1A描绘了用于区分开用户的判别性特征和关于(一个或多个)移动设备101和远程计算设备102的用户认证的系统100,但是任何数量的此类设备都可以以本文描述的方式与系统交互。还应注意,虽然图1A描绘了用于区分开用户的判别性特征和关于用户124的认证的系统100,但是任何数量的用户都可以以本文描述的方式与系统交互。It should be noted that although Figure 1A depicts a system 100 for discriminative characteristics to distinguish users and for user authentication with respect to one or more mobile devices 101 and remote computing devices 102, any number of such devices can interact with the system in the manner described herein. It should also be noted that although Figure 1A depicts a system 100 for discriminative characteristics to distinguish users and for authentication with respect to user 124, any number of users can interact with the system in the manner described herein.
应进一步理解,虽然本文引用的各种计算设备和机器(包括但不限于(一个或多个)移动设备101和系统服务器105以及远程计算设备102)在本文中被称为个体或单个设备和机器,但在某些实施方式中,引用的设备和机器以及它们的相关联或伴随的操作、特征和功能可以跨多个此类设备或机器组合或布置或以其他方式采用,诸如通过网络连接或有线连接,如本领域技术人员已知的。It should be further understood that while the various computing devices and machines referenced herein (including, but not limited to, one or more mobile devices 101 and system server 105 and remote computing device 102) are referred to herein as individuals or single devices and machines, in some embodiments, the referenced devices and machines, as well as their associated or accompanying operations, features and functions, may be combined or arranged across multiple such devices or machines or otherwise employed, such as via network or wired connections, as known to those skilled in the art.
还应理解,本文在(一个或多个)移动设备101(也称为智能手机)的上下文中描述的示例性系统和方法不具体限于移动设备并且可以使用其他启用的计算设备来实施。It should also be understood that the exemplary systems and methods described herein in the context of one or more mobile devices 101 (also known as smartphones) are not specifically limited to mobile devices and can be implemented using other enabled computing devices.
现在参考图1B,系统100的移动设备101包括用于使系统能够操作的各种硬件和软件部件,包括一个或多个处理器110、存储器120、麦克风125、显示器140、相机145、音频输出155、存储装置190和通信接口150。处理器110用于执行可以加载到存储器120中的软件指令形式的客户端应用程序。处理器110可以是任意数量的处理器、中央处理单元CPU、图形处理单元GPU、多处理器核或任何其他类型的处理器,具体取决于实施方式。Referring now to FIG1B, the mobile device 101 of system 100 includes various hardware and software components for enabling the system to operate, including one or more processors 110, memory 120, microphone 125, display 140, camera 145, audio output 155, storage device 190, and communication interface 150. Processor 110 is used to execute client applications in the form of software instructions that can be loaded into memory 120. Processor 110 can be any number of processors, a central processing unit (CPU), a graphics processing unit (GPU), a multi-processor core, or any other type of processor, depending on the implementation.
优选地,存储器120和/或存储装置190可由处理器110访问,从而使处理器能够接收和执行在存储器中和/或存储装置上编码的指令,以使移动设备及其各种硬件部件执行下面将更详细地描述的系统和方法的方面的操作。例如,存储器可以是随机存取存储器(RAM)或任何其他合适的易失性或非易失性计算机可读存储介质。此外,存储器可以是固定的或可移除的。存储装置190可以采取各种形式,具体取决于实施方式。例如,存储装置可以包含一个或多个部件或设备,诸如硬盘驱动器、闪存、可重写光盘、可重写磁带或以上的某种组合。存储装置也可以是固定的或可移除的。Preferably, the memory 120 and/or storage device 190 are accessible by the processor 110, enabling the processor to receive and execute instructions encoded in the memory and/or storage device to cause the mobile device and its various hardware components to perform aspects of the systems and methods described in more detail below. For example, the memory may be random access memory (RAM) or any other suitable volatile or non-volatile computer-readable storage medium. Furthermore, the memory may be fixed or removable. The storage device 190 may take various forms depending on the implementation. For example, the storage device may include one or more components or devices such as a hard disk drive, flash memory, rewritable optical disk, rewritable magnetic tape, or some combination thereof. The storage device may also be fixed or removable.
一个或多个软件模块130可以被编码在存储装置190和/或存储器120中。软件模块130可以包括一个或多个软件程序或具有计算机程序代码或在处理器110中执行的一组指令的应用程序。在示例性实施例中,如图1C所描绘的,优选地,被包括在软件模块130中的是由处理器110执行的用户接口模块170、特征提取模块172、分段模块173、分类模块174、元学习模块175、数据库模块176、通信模块177和转换模块178。此类计算机程序代码或指令将处理器110配置为执行本文公开的系统和方法的操作,并且可以以一个或多个编程语言的任何组合编写。One or more software modules 130 may be encoded in storage device 190 and/or memory 120. Software module 130 may include one or more software programs or application programs having computer program code or a set of instructions that execute in processor 110. In an exemplary embodiment, as depicted in FIG1C, preferably included in software module 130 are a user interface module 170, a feature extraction module 172, a segmentation module 173, a classification module 174, a meta-learning module 175, a database module 176, a communication module 177, and a conversion module 178 that are executed by processor 110. Such computer program code or instructions configure processor 110 to perform the operations of the systems and methods disclosed herein and may be written in any combination of one or more programming languages.
具体地,用户接口模块170可以包括一个或多个算法,以用于执行与从用户捕获运动信号和认证用户的身份相关的步骤。特征提取模块172可以包括一个或多个特征提取算法(例如,机器学习算法),以用于执行与从用户的运动信号的片段和变换后的片段中提取用户的判别性特征相关的步骤。分段模块173可以包括一个或多个算法,以用于执行与将捕获的运动信号划分为片段相关的步骤。转换模块178包括一个或多个变换算法,以用于执行与将运动信号的片段转换为变换后的片段相关的步骤。分类模块174包括一个或多个算法,以用于执行与对片段和变换后的片段进行评分(例如,向其分配类概率)相关的步骤。元学习模块175包括一个或多个算法(例如,投票方案或元学习模型),以用于执行与整合分配给片段和变换后的片段的分数以便识别或拒绝尝试认证的用户相关的步骤。数据库模块176包括一个或多个算法,以用于将与运动信号、片段或变换后的片段相关的数据存储或保存到数据库185或存储装置190。通信模块177包括一个或多个算法,以用于在系统100的计算设备101、102和/或105之间传输和接收信号。Specifically, user interface module 170 may include one or more algorithms for performing steps related to capturing motion signals from a user and authenticating the user's identity. Feature extraction module 172 may include one or more feature extraction algorithms (e.g., machine learning algorithms) for performing steps related to extracting discriminative features of the user from segments and transformed segments of the user's motion signal. Segmentation module 173 may include one or more algorithms for performing steps related to segmenting the captured motion signal into segments. Transformation module 178 includes one or more transformation algorithms for performing steps related to transforming segments of the motion signal into transformed segments. Classification module 174 includes one or more algorithms for performing steps related to scoring segments and transformed segments (e.g., assigning class probabilities to them). Meta-learning module 175 includes one or more algorithms (e.g., voting schemes or meta-learning models) for performing steps related to integrating the scores assigned to segments and transformed segments to identify or reject users attempting authentication. Database module 176 includes one or more algorithms for storing or saving data related to motion signals, segments, or transformed segments to database 185 or storage device 190. The communication module 177 includes one or more algorithms for transmitting and receiving signals between computing devices 101, 102 and/or 105 of the system 100.
程序代码可以完全在移动设备101上作为独立软件包执行,部分在移动设备上执行,部分在系统服务器105上执行,或者完全在系统服务器或另一远程计算机或设备上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到移动设备101,该网络包括局域网(LAN)或广域网(WAN)、移动通信网络、蜂窝网络,或者该连接可以被用于外部计算机(例如,通过互联网使用互联网服务提供商)。The program code can execute entirely as a standalone software package on mobile device 101, partially on mobile device, partially on system server 105, or entirely on system server or another remote computer or device. In the latter case, the remote computer can connect to mobile device 101 via any type of network, including local area network (LAN) or wide area network (WAN), mobile communication network, cellular network, or the connection can be used for external computers (e.g., using an internet service provider via the internet).
在一个或多个实施例中,软件模块130和一个或多个计算机可读存储设备(诸如存储器120和/或存储装置190)的程序代码形成可以根据本发明制造和/或分发的计算机程序产品,如本领域普通技术人员已知的。In one or more embodiments, the program code of software module 130 and one or more computer-readable storage devices (such as memory 120 and/or storage device 190) forms a computer program product that can be made and/or distributed according to the present invention, as known to those skilled in the art.
在一些示例性实施例中,软件模块130中的一个或多个可以经由通信接口150通过网络从另一设备或系统下载到存储装置190以在系统100内使用。此外,应注意,与本系统和方法的操作相关的其他信息和/或数据(诸如数据库185)也可以存储在存储装置上。优选地,此类信息被存储在加密数据存储库上,该加密数据存储库被专门分配用于安全存储由执行安全认证应用程序的处理器收集或生成的信息。优选地,加密措施用于将信息本地存储在移动设备存储装置上并将信息传输到系统服务器105。例如,可以使用1024位多态密码或(根据导出控制)使用AES256位加密方法来加密此类数据。此外,可以使用远程密钥(种子)或本地密钥(种子)执行加密。如本领域技术人员所理解的,可以使用替代的加密方法,例如SHA256。In some exemplary embodiments, one or more of the software modules 130 may be downloaded from another device or system to storage device 190 via a network through communication interface 150 for use within system 100. Furthermore, it should be noted that other information and/or data (such as database 185) related to the operation of this system and method may also be stored on the storage device. Preferably, such information is stored on an encrypted data repository specifically allocated for securely storing information collected or generated by a processor performing a secure authentication application. Preferably, encryption measures are used to store information locally on the mobile device storage and to transmit information to system server 105. For example, such data may be encrypted using a 1024-bit polymorphic cipher or (depending on the derived control) AES 256-bit encryption method. Furthermore, encryption may be performed using a remote key (seed) or a local key (seed). As those skilled in the art will understand, alternative encryption methods, such as SHA256, may be used.
此外,可以使用用户的运动传感器数据或移动设备信息作为加密密钥来加密存储在(一个或多个)移动设备101和/或系统服务器105上的数据。在一些实施方式中,前述的组合可以用于为用户创建复杂的唯一密钥,该密钥可以在移动设备上使用椭圆曲线密码术(优选地长度至少为384位)进行加密。此外,该密钥可以用于保护存储在移动设备或系统服务器上的用户数据。Furthermore, user motion sensor data or mobile device information can be used as an encryption key to encrypt data stored on one or more mobile devices 101 and/or system server 105. In some embodiments, the foregoing combination can be used to create a complex, unique key for the user, which can be encrypted using elliptic curve cryptography (preferably at least 384 bits in length) on the mobile device. Additionally, this key can be used to protect user data stored on the mobile device or system server.
此外,在一个或多个实施例中,数据库185被存储在存储装置190上。如下文将更详细描述的,数据库185包含或维持贯穿用于区分开用户的判别性特征和用户认证的系统100和方法的各个操作使用的各种数据项和元素。存储在数据库中的信息可以包括但不限于用户运动传感器数据模板和简档信息,如本文将更详细描述的。应注意,虽然数据库被描绘为被本地配置到移动设备101,但在某些实施方式中,数据库或存储在其中的各种数据元素可以附加地或替代地远程定位(诸如在远程设备102或系统服务器105上—未示出)并以本领域普通技术人员已知的方式通过网络连接到移动设备。Furthermore, in one or more embodiments, database 185 is stored on storage device 190. As will be described in more detail below, database 185 contains or maintains various data items and elements used throughout the various operations of system 100 and methods for distinguishing users' discriminative characteristics and user authentication. The information stored in the database may include, but is not limited to, user motion sensor data templates and profile information, as will be described in more detail herein. It should be noted that although the database is depicted as being locally configured to mobile device 101, in some embodiments, the database or the various data elements stored therein may be additionally or alternatively remotely located (such as on remote device 102 or system server 105—not shown) and connected to the mobile device via a network in a manner known to those skilled in the art.
用户接口115也可操作地连接到处理器。接口可以是一个或多个输入或输出设备,例如(一个或多个)开关、(一个或多个)按钮、(一个或多个)键、触摸屏、麦克风等,如电子计算设备的领域中将理解的。用户接口115用于促进从用户捕获命令,诸如开关命令或与系统100的操作相关的用于用户辨别的用户信息和设置。例如,在至少一个实施例中,接口115可以用于促进从(一个或多个)移动设备101捕获某些信息,诸如用于向系统登记的个人用户信息,以便创建用户简档。User interface 115 is also operatively connected to the processor. The interface may be one or more input or output devices, such as one or more switches, buttons, keys, touchscreens, microphones, etc., as will be understood in the field of electronic computing devices. User interface 115 is used to facilitate the capture of commands from the user, such as switch commands, or user information and settings related to the operation of system 100 for user identification. For example, in at least one embodiment, interface 115 may be used to facilitate the capture of certain information from one or more mobile devices 101, such as personal user information for registering with the system in order to create a user profile.
移动设备101还可以包括显示器140,其也可操作地连接到处理器110。显示器包括屏幕或任何其他此类呈现设备,其使得系统能够关于系统100的用于区分开用户的判别性特征和用户认证的操作指导用户或以其他方式向用户提供反馈。通过示例的方式,显示器可以是数字显示器,诸如点阵显示器或其他二维显示器。Mobile device 101 may also include display 140, which is also operatively connected to processor 110. The display includes a screen or any other such presentation device that enables the system to guide the user or otherwise provide feedback to the user regarding discriminative characteristics and user authentication of system 100. By way of example, the display may be a digital display, such as a dot-matrix display or other two-dimensional display.
通过进一步示例的方式,如在智能手机(诸如移动设备101)中常见的那样,接口和显示器可以集成到触摸屏显示器中。因此,显示器还用于示出图形用户接口,该接口可以显示各种数据并提供包括允许用户输入信息的字段的“表格”。在与图形用户接口的显示相对应的位置处对触摸屏的触摸允许人与设备交互以输入数据、改变设置、控制功能等。因此,当触摸屏被触摸时,用户接口将该改变传送到处理器,并且可以改变设置,或者可以捕获用户输入的信息并将其存储在存储器中。As further exemplified, as is common in smartphones (such as mobile device 101), the interface and display can be integrated into a touchscreen display. Therefore, the display also serves to show a graphical user interface (GUI), which can display various data and provide "tables" including fields allowing users to input information. Touching the touchscreen at a location corresponding to the GUI display allows the user to interact with the device to input data, change settings, control functions, etc. Thus, when the touchscreen is touched, the user interface transmits this change to the processor, and can either change settings or capture user input and store it in memory.
移动设备101还可以包括能够捕获数字图像的相机145。移动设备101或相机145还可以包括一个或多个光或信号发射器(例如,LED,未示出),例如可见光发射器或红外光发射器等。相机可以集成到移动设备中,诸如包含传感器(例如并且不限于CCD或CMOS传感器)的前置相机或后置相机。如本领域技术人员将理解的,相机145还可以包括附加硬件,诸如镜头、测光表(例如,照度计)和其他常规硬件和软件特征,这些特征可用于调整图像捕获设置,诸如变焦、聚焦、光圈、曝光、快门速度等。替代地,相机可以在移动设备101的外部。相机和光发射器的可能变体将被本领域技术人员理解。此外,如本领域技术人员将理解的,移动设备还可以包括一个或多个麦克风125,以用于捕获音频记录。Mobile device 101 may also include a camera 145 capable of capturing digital images. Mobile device 101 or camera 145 may also include one or more light or signal emitters (e.g., LEDs, not shown), such as visible light emitters or infrared light emitters. The camera may be integrated into the mobile device, such as a front-facing or rear-facing camera containing a sensor (e.g., but not limited to, a CCD or CMOS sensor). As those skilled in the art will understand, camera 145 may also include additional hardware such as lenses, light meters (e.g., lux meters), and other conventional hardware and software features that can be used to adjust image capture settings such as zoom, focus, aperture, exposure, shutter speed, etc. Alternatively, the camera may be external to mobile device 101. Possible variations of the camera and light emitter will be understood by those skilled in the art. Furthermore, as those skilled in the art will understand, the mobile device may also include one or more microphones 125 for capturing audio recordings.
音频输出155也可操作地连接到处理器110。音频输出可以是被配置为播放电子音频文件的任何类型的扬声器系统,如本领域技术人员将理解的。音频输出可以集成到移动设备101中或移动设备101的外部。Audio output 155 is also operatively connected to processor 110. The audio output can be any type of speaker system configured to play electronic audio files, as those skilled in the art will understand. The audio output can be integrated into or external to mobile device 101.
各种硬件设备或传感器160也可以可操作地连接到处理器。例如,传感器160可以包括:用于跟踪一天中的时间等的机载时钟;用于确定移动设备的位置的启用GPS的设备;用于检测地球的磁场以确定移动设备的三维取向的重力磁力计;用于检测移动设备与其他物体之间的距离的接近传感器;用于检测RF辐射水平的RF辐射传感器;以及如本领域技术人员将理解的其他此类设备。Various hardware devices or sensors 160 may also be operatively connected to the processor. For example, sensors 160 may include: an onboard clock for tracking the time of day, etc.; a GPS-enabled device for determining the location of a mobile device; a gravimeter for detecting the Earth's magnetic field to determine the three-dimensional orientation of the mobile device; a proximity sensor for detecting the distance between the mobile device and other objects; an RF radiation sensor for detecting RF radiation levels; and other such devices as those skilled in the art will understand.
(一个或多个)移动设备101还包括加速度计135和/或陀螺仪136,它们被配置为捕获来自用户124的运动信号。在至少一个实施例中,加速度计还可以被配置为跟踪移动设备的取向和加速度。移动设备101可以被设置(配置)为向执行各种软件模块130(包括例如特征提取模块172、分类模块174和元学习模块175)的处理器110提供加速度计和陀螺仪值。One or more mobile devices 101 also include an accelerometer 135 and/or a gyroscope 136 configured to capture motion signals from the user 124. In at least one embodiment, the accelerometer may also be configured to track the orientation and acceleration of the mobile device. The mobile device 101 may be configured to provide accelerometer and gyroscope values to a processor 110 executing various software modules 130, including, for example, a feature extraction module 172, a classification module 174, and a meta-learning module 175.
通信接口150也可操作地连接到处理器110并且可以是能够在移动设备101和包括系统服务器105的外部设备、机器和/或元件之间进行通信的任何接口。优选地,通信接口包括但不限于,调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器(例如蓝牙、蜂窝、NFC)、卫星通信发射器/接收器、红外端口、USB连接和/或用于将移动设备连接到其他计算设备和/或通信网络(诸如私用网络和互联网)的任何其他此类接口。此类连接可以包括有线连接或无线连接(例如,使用802.11标准),但应理解,通信接口实际上可以是能够往返移动设备进行通信的任何接口。Communication interface 150 is also operatively connected to processor 110 and can be any interface capable of communication between mobile device 101 and external devices, machines, and/or components, including system server 105. Preferably, the communication interface includes, but is not limited to, modems, network interface cards (NICs), integrated network interfaces, radio frequency transmitters/receivers (e.g., Bluetooth, cellular, NFC), satellite communication transmitters/receivers, infrared ports, USB connections, and/or any other such interfaces for connecting mobile devices to other computing devices and/or communication networks (such as private networks and the Internet). Such connections can include wired or wireless connections (e.g., using the 802.11 standard), but it should be understood that the communication interface can in practice be any interface capable of communicating to and from the mobile device.
在系统100的用于区分开用户的判别性特征和用户认证的操作期间的各个点,移动设备101可以与一个或多个计算设备(诸如系统服务器105和/或远程计算设备102)通信。此类计算设备向移动设备101传输数据和/或从移动设备101接收数据,从而优选地启动、维持和/或增强系统100的操作,如下面将更详细描述的。At various points during the discriminative characteristics and user authentication operations of system 100, mobile device 101 may communicate with one or more computing devices (such as system server 105 and/or remote computing device 102). Such computing devices transmit data to and/or receive data from mobile device 101, thereby preferably initiating, maintaining, and/or enhancing the operation of system 100, as will be described in more detail below.
图1D是说明系统服务器105的示例性配置的框图。系统服务器105可以包括处理器210,该处理器210可操作地连接到各种硬件和软件部件,这些硬件和软件部件用于使系统100能够操作以用于区分开用户的判别性特征和用户辨别。处理器210用于执行指令以执行与用户辨别相关的各种操作,如将在下面更详细地描述的。处理器210可以是多个处理器、多处理器核或一些其他类型的处理器,具体取决于特定实施方式。Figure 1D is a block diagram illustrating an exemplary configuration of system server 105. System server 105 may include processor 210 operatively connected to various hardware and software components that enable system 100 to operate for distinguishing discriminative features and user identification. Processor 210 is used to execute instructions to perform various operations related to user identification, as will be described in more detail below. Processor 210 may be multiple processors, multiprocessor cores, or some other type of processor, depending on the specific implementation.
在某些实施方式中,处理器210可访问存储器220和/或存储装置290,从而使处理器210能够接收和执行存储在存储器220和/或存储装置290上的指令。存储器220可以是,例如,随机存取存储器(RAM)或任何其他合适的易失性或非易失性计算机可读存储介质。此外,存储器220可以是固定的或可移除的。存储装置290可以采取各种形式,具体取决于特定实施方式。例如,存储装置290可以包含一个或多个部件或设备,诸如硬盘驱动器、闪存、可重写光盘、可重写磁带或以上的某种组合。存储装置290也可以是固定的或可移除的。In some implementations, processor 210 may access memory 220 and/or storage device 290, thereby enabling processor 210 to receive and execute instructions stored on memory 220 and/or storage device 290. Memory 220 may be, for example, random access memory (RAM) or any other suitable volatile or non-volatile computer-readable storage medium. Furthermore, memory 220 may be fixed or removable. Storage device 290 may take various forms depending on the specific implementation. For example, storage device 290 may include one or more components or devices such as hard disk drives, flash memory, rewritable optical discs, rewritable magnetic tapes, or some combination thereof. Storage device 290 may also be fixed or removable.
一个或多个软件模块230被编码在存储装置290和/或存储器220中。软件模块230中的一个或多个可以包括一个或多个软件程序或具有计算机程序代码或在处理器210中执行的一组指令的应用程序。在一个实施例中,软件模块230可以包括软件模块130中的一个或多个。用于执行本文公开的系统和方法的方面的操作的此类计算机程序代码或指令可以以一个或多个编程语言的任意组合来编写,如本领域技术人员将理解的。程序代码可以完全在系统服务器105上作为独立软件包执行,部分在系统服务器105上执行并且部分在远程计算设备(诸如远程计算设备102和/或(一个或多个)移动设备101)上执行,或者完全在此类远程计算设备上执行。在一个或多个实施例中,如图1B所描绘的,优选地,被包括在软件模块230中的是可以由系统服务器的处理器210执行的特征提取模块172、分段模块173、分类模块174、元学习模块175、数据库模块176、通信模块177,和转换模块178。One or more software modules 230 are encoded in storage device 290 and/or memory 220. One or more of the software modules 230 may include one or more software programs or application programs having computer program code or a set of instructions that execute in processor 210. In one embodiment, software module 230 may include one or more of the software modules 130. Such computer program code or instructions for performing aspects of the systems and methods disclosed herein may be written in any combination of one or more programming languages, as will be understood by those skilled in the art. The program code may execute entirely as a standalone software package on system server 105, partially on system server 105 and partially on remote computing devices (such as remote computing device 102 and/or (one or more) mobile devices 101), or entirely on such remote computing devices. In one or more embodiments, as depicted in FIG1B, preferably, included in software module 230 are a feature extraction module 172, a segmentation module 173, a classification module 174, a meta-learning module 175, a database module 176, a communication module 177, and a conversion module 178 that can be executed by the processor 210 of the system server.
此外,优选地,存储在存储装置290上的是数据库280。如下文将更详细描述的,数据库280包含或维持贯穿系统100的各种操作使用的各种数据项和元素,包括但不限于,用户简档,如将在本文中更详细描述的。应注意,尽管数据库280被描绘为被本地配置到计算设备105,但在某些实施方式中,数据库280或存储在其中的各种数据元素可以存储在计算机可读存储器或存储介质上,该计算机可读存储器或存储介质远程定位并且以本领域普通技术人员已知的方式通过网络(未示出)连接到系统服务器105。Furthermore, preferably, the data stored on storage device 290 is database 280. As will be described in more detail below, database 280 contains or maintains various data items and elements used throughout the various operations of system 100, including but not limited to user profiles, as will be described in more detail herein. It should be noted that although database 280 is depicted as being locally configured to computing device 105, in some embodiments, database 280 or the various data elements stored therein may be stored on a computer-readable storage medium or storage medium that is remotely located and connected to system server 105 via a network (not shown) in a manner known to those skilled in the art.
通信接口250也可操作地连接到处理器210。通信接口250可以是能够在系统服务器105和外部设备、机器或元件之间进行通信的任何接口。在某些实施方式中,通信接口250包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器(例如,蓝牙、蜂窝、NFC)、卫星通信发射器/接收器、红外端口、USB连接或用于将计算设备105连接到其他计算设备或通信网络(诸如专私用网络和互联网)的任何其他此类接口。此类连接可以包括有线连接或无线连接(例如,使用802.11标准),但应理解,通信接口250实际上可以是能够往返处理器210进行通信的任何接口。Communication interface 250 is also operatively connected to processor 210. Communication interface 250 can be any interface capable of communicating between system server 105 and external devices, machines, or components. In some implementations, communication interface 250 includes, but is not limited to, modems, network interface cards (NICs), integrated network interfaces, radio frequency transmitters/receivers (e.g., Bluetooth, cellular, NFC), satellite communication transmitters/receivers, infrared ports, USB connections, or any other such interfaces for connecting computing device 105 to other computing devices or communication networks (such as private networks and the Internet). Such connections can include wired or wireless connections (e.g., using the 802.11 standard), but it should be understood that communication interface 250 can, in effect, be any interface capable of communicating to and from processor 210.
系统100及其各种元件和部件的操作可以参考以下例如参考图2、图3、图4、图5A-图5D、图6A-图6B描述的用于使用运动传感器数据来区分开用户的判别性特征和用户认证的方法来进一步理解。本文描绘的过程是从移动设备101和/或系统服务器105的角度示出的,然而,应理解,这些过程可以全部或部分地由(一个或多个)移动设备101、系统服务器105和/或其他计算设备(例如,远程计算设备102)或前述的任何组合来执行。应理解,可以执行比图中所示和本文所述的更多或更少的操作。这些操作也可以以不同于本文描述的顺序来执行。还应理解,步骤中的一个或多个可以由移动设备101和/或在其他计算设备(例如,系统服务器105和远程计算设备102)上执行。The operation of system 100 and its various elements and components can be further understood with reference to, for example, the methods for using motion sensor data to distinguish discriminative characteristics of users and for user authentication described in Figures 2, 3, 4, 5A-5D, and 6A-6B. The processes depicted herein are shown from the perspective of mobile device 101 and/or system server 105; however, it should be understood that these processes may be performed wholly or partially by mobile device(s) 101, system server 105, and/or other computing devices (e.g., remote computing device 102), or any combination thereof. It should be understood that more or fewer operations may be performed than those shown in the figures and described herein. These operations may also be performed in a different order than those described herein. It should also be understood that one or more of the steps may be performed by mobile device 101 and/or on other computing devices (e.g., system server 105 and remote computing device 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”。然而,此类模型是在从智能手机用户收集的数据集上进行评估的,每个设备具有一个用户(合法所有者)。Several motion sensor-based user behavior authentication (UBA) systems for smartphone users have been proposed in recent literature. Modern systems achieving top-tier accuracy rely on machine learning (ML) and deep learning principles to learn discriminative models, as illustrated in "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". However, such models are evaluated on datasets collected from smartphone users, with each device having one user (legitimate owner).
图2显示了根据一个或多个实施例的示出基于机器学习的标准智能手机用户识别系统的混合系统和过程流程图。具体地,图2显示了可以使用智能手机实施的典型UBA系统300的执行流程。如图2所示,在典型UBA系统300中,加速度计或陀螺仪信号在每个认证或注册会话期间被记录。然后将信号作为输入提供给机器学习系统。系统300在用户注册期间收集的一组训练样本上提取特征并学习模型。在用户认证期间,经过训练的模型将信号分类为属于所有者(授权会话)或属于不同的用户(拒绝会话)。UBA系统300的具体示例步骤如下所示:Figure 2 shows a hybrid system and process flowchart illustrating a standard smartphone user identification system based on machine learning, according to one or more embodiments. Specifically, Figure 2 shows the execution flow of a typical UBA system 300 that can be implemented using a smartphone. As shown in Figure 2, in the typical UBA system 300, accelerometer or gyroscope signals are recorded during each authentication or registration session. The signals are then provided as input to a machine learning system. System 300 extracts features and learns a model from a set of training samples collected during user registration. During user authentication, the trained model classifies the signals as belonging to the owner (authorized session) or belonging to a different user (rejected session). Specific example steps of the UBA system 300 are shown below:
1.在用户注册或认证期间,捕获来自内置传感器(诸如加速度计和陀螺仪)的信号。1. Capture signals from built-in sensors (such as accelerometers and gyroscopes) during user registration or authentication.
2.在ML系统内部,采用一组特征提取技术从信号中提取相关特征。2. Within the ML system, a set of feature extraction techniques are used to extract relevant features from the signal.
3.在注册期间,在ML系统内部,在与用户注册期间记录的信号对应的特征向量上训练分类模型。3. During the registration period, within the ML system, a classification model is trained on the feature vectors corresponding to the signals recorded during the user registration period.
4.在认证期间,在ML系统内部,对对应的特征向量采用经过学习的分类模型以将合法用户(智能手机所有者)与潜在的攻击者区别开。4. During authentication, within the ML system, a learned classification model is used on the corresponding feature vectors to distinguish legitimate users (smartphone owners) from potential attackers.
在这种设置中,ML系统的决策边界可能会受到设备或动作的判别性特征的影响,而不是受用户的判别性特征的影响。进行了实验以检验该假设。实证结果表明,实际上依赖于与设备相对应的特征比依赖于与用户相对应的特征更容易。这个问题在以前的文献中没有被指出或解决。但是,当攻击者可以占有合法用户拥有的智能手机并且他们尝试对受UBA系统保护的应用程序进行认证时,此问题就会出现问题。此外,攻击者可以在对认证期间执行的移动进行彻底分析和模仿后冒充合法用户。如果ML系统依赖于表征设备或动作的更突出的特征,它很可能会授予攻击者对应用程序的访问权限。因此,ML系统将具有增加的误报率,并且将不能拒绝此类攻击。In this setup, the decision boundary of the ML system may be influenced by the discriminative characteristics of the device or action, rather than the discriminative characteristics of the user. Experiments were conducted to test this hypothesis. Empirical results show that it is indeed easier to rely on device-specific characteristics than user-specific characteristics. This problem has not been pointed out or addressed in previous literature. However, this problem arises when an attacker can take possession of a smartphone owned by a legitimate user and attempt to authenticate applications protected by a UBA system. Furthermore, an attacker can impersonate a legitimate user after thoroughly analyzing and mimicking the movements performed during authentication. If the ML system relies on more salient characteristics representing the device or action, it is likely to grant the attacker access to the application. Therefore, the ML system will have an increased false positive rate and will be unable to reject such attacks.
为了解决这个问题,系统300可以被配置为要求用户在多个设备上使用不同的移动(例如,用左手、右手,坐着时、站立时等进行认证)进行认证,并且为了从同一设备获得负样本,系统300可以提示用户让其他人在他自己的设备上进行几次认证会话。然而,所有这些都是不切实际的解决方案,导致繁琐的注册过程。To address this issue, system 300 could be configured to require users to authenticate using different movements on multiple devices (e.g., with the left hand, right hand, sitting, standing, etc.), and to obtain negative samples from the same device, system 300 could prompt the user to have someone else conduct several authentication sessions on their own device. However, all of these are impractical solutions, resulting in a cumbersome registration process.
因此,本文提供了方法和系统,其为基于运动传感器的UBA系统固有的问题提供了实用的两阶段解决方案,即,通过将用户的判别性特征与设备和动作的判别性特征区分开。在本申请的一个或多个实施例中,所公开的方法由以下两个主要处理阶段组成:Therefore, this document provides a method and system that offer a practical two-stage solution to the inherent problems of motion sensor-based UBA systems, namely, by distinguishing the discriminative characteristics of the user from the discriminative characteristics of the device and the action. In one or more embodiments of this application, the disclosed method consists of the following two main processing stages:
1.为了消除区分用户的移动或动作的特征(例如,手指滑动、手势),运动信号被切割成非常小的块,并对个体块中的每一个应用ML系统。由于无法从这些块中重构回整个信号,因此不能再识别移动(用户执行的一般动作)。然而,原始信号的这些小块仍然包含用户和设备的判别性特征。1. To eliminate features that distinguish user movements or actions (e.g., finger swipes, gestures), the motion signal is broken into very small blocks, and an ML system is applied to each individual block. Since the entire signal cannot be reconstructed from these blocks, movement (general actions performed by the user) can no longer be identified. However, these small blocks of the original signal still contain discriminative features of the user and the device.
2.为了消除区分设备的特征,应用了一组变换算法(例如,生成模型,诸如循环一致生成对抗网络,用于短Cycle-GAN),以便模拟一组预定义的设备上的认证会话。生成模型被训练以将信号块作为输入,并提供类似的块作为输出,该类似的块包括来自我们预定义组的设备的特征。在将来自不同设备的特征注入到特定用户的信号中后,ML系统可以了解哪些特征不会跨设备改变。这些是有助于区分相应用户的特征。2. To eliminate device-distinguishing features, a set of transformation algorithms (e.g., generative models, such as Cyclic Consistent Generative Adversarial Networks for short Cycle-GANs) are applied to simulate authentication sessions on a predefined set of devices. The generative models are trained to take a block of signals as input and output a similar block containing features from our predefined set of devices. After injecting features from different devices into the signals of a particular user, the ML system can learn which features do not change across devices. These are the features that help distinguish the corresponding user.
通过使用一个或多个变换算法,诸如Cycle-GAN,在第二阶段,实现了智能手机到智能手机的用户行为变换,这有助于掩盖描述智能手机传感器的特征并揭示塑造用户行为的特征。澄清合法用户行为的积极后果是UBA系统变得更加警惕并且更难被欺骗,即误报率降低。在一个或多个实施例中,所公开的系统(例如,系统100)和方法提供了增强的UBA系统,或者可以替代地结合到常规UBA系统中以增强现有的UBA系统。In the second stage, by using one or more transformation algorithms, such as Cycle-GAN, a smartphone-to-smartphone user behavior transformation is achieved. This helps to mask features describing smartphone sensors and reveal characteristics shaping user behavior. A positive consequence of clarifying legitimate user behavior is that the UBA system becomes more vigilant and harder to fool, i.e., the false alarm rate is reduced. In one or more embodiments, the disclosed system (e.g., system 100) and method provide an enhanced UBA system, or can alternatively be incorporated into conventional UBA systems to enhance existing UBA systems.
常规地,常见移动设备认证机制(诸如PIN、图形密码和指纹扫描)提供了有限的安全性。这些机制容易受到猜测(或在指纹扫描的情况下为欺骗)并容易受到侧信道攻击(诸如涂抹、反射和视频捕获攻击)的影响。因此,基于行为生物特征信号的连续认证方法在学术界和工业领域都受到关注。Conventionally, common mobile device authentication mechanisms such as PINs, pattern passwords, and fingerprint scanning offer limited security. These mechanisms are susceptible to guessing (or, in the case of fingerprint scanning, spoofing) and are vulnerable to side-channel attacks such as smearing, reflection, and video capture attacks. Therefore, continuous authentication methods based on behavioral biometric signals have attracted attention in both academia and industry.
第一篇分析加速度计数据以辨别移动设备用户的步态的研究文章是“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”。The first research paper analyzing accelerometer data to identify the gait of mobile device users is "E. Vildjiounaite, S.-M. Makela, M. Lindholm, R. Riihimaki, V. Kyllonen, J. Mantyjarvi, H. Ailisto. Unobtrusive multimodal biometrics for ensuring privacy and information security with personal devices. In: Proceedings of International Conference 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”,其专注于机器或深度学习技术。Subsequently, the research community proposed various UBA systems, such as: "N. Clarke, S. Furnell. Advanced user authentication for mobile devices. Computers & Security, vol. 26, no. 2, 2007" and "P. Campisi, E. Maiorana, M. Lo Bosco, A. Neri. User authentication using keystroke dynamics for cellular phones. Signal Processing." "IET, vol.3, no.4, 2009", which focuses on keystroke dynamics, and "C. Shen, T. Yu, S. Yuan, S., Y. Li, X. Guan. Performance analysis of motion-sensor behavior for user authentication on smartphones. Sensors, vol.16, no.3, pp.345-365, 2016", and "A. Buriro, B. Crispo, F. Del Frari, K. Wrona. Hold & Sign: A Novel". “Behavioral Biometrics for Smartphone User Authentication. In: Proceedings of Security and Privacy Workshops, 2016”, “G. Canfora, P. di Notte, F. Mercaldo, C.A. Visaggio. A Methodology for Silent and Continuous Authentication in Mobile Environment. In: Proceedings of International Conference on E-Business and Telecommunications, pp. 241-265, 2016”, “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”, which focuses on machine or deep learning technologies.
研究文献或专利中提出的方法没有解决总共包含特定于用户、动作和设备的特征的运动信号的问题。在最近的工作中报告了当用户各自在他们自己的设备上执行认证时的高性能水平。在这种设置中,尚不清楚机器学习模型的高准确率是否是由于模型区分用户或区分设备的能力。出现此问题是因为每个用户都在他自己的设备上进行认证,并且设备未在用户之间共享。The methods proposed in research literature or patents do not address the issue of motion signals that collectively contain user-, action-, and device-specific characteristics. Recent work has reported high performance levels when users perform authentication on their own devices. In this setting, it is unclear whether the high accuracy of the machine learning model is due to the model's ability to distinguish between users or devices. This problem arises because each user authenticates on their own device, and devices are not shared among users.
对一组用户在一组设备上执行认证使得每个用户在每个设备上进行认证而进行的实验揭示了,实际上区分设备(准确度约为98%)比区分用户(准确度为约93%)更容易。这暗示研究文献和专利中提出的UBA系统更有可能是因为它们依赖于特定于设备的功能而不是特定于用户的特征而良好地执行。当攻击者对从所有者那里窃取的设备执行认证时,此类系统倾向于高误报率(攻击者被授权进入系统)。Experiments involving authenticating a group of users on a set of devices, with each user authenticating on each device, revealed that distinguishing devices (with approximately 98% accuracy) is actually easier than distinguishing users (with approximately 93% accuracy). This suggests that the UBA systems proposed in research literature and patents are more likely to perform well because they rely on device-specific features rather than user-specific characteristics. Such systems tend to have high false positive rates when an attacker performs authentication on a device stolen from the owner (where the attacker is authorized to enter the system).
由于该问题尚未在文献中讨论,至少在基于智能手机传感器的运动信号的用户识别的上下文中,所公开的系统和方法是解决区分开特定于用户、动作和设备的特征的任务的第一者。在至少一个实施例中,该方法包括两个阶段/途径中的一个或多个,一个阶段/途径将特定于用户和设备的特征与特定于动作的特征区分开,并且一个阶段/途径将特定于用户的特征与特定于设备的特征区分开。Since this problem has not been discussed in the literature, the disclosed systems and methods are first-time solutions to the task of distinguishing user-, action-, and device-specific features, at least in the context of user recognition based on motion signals from smartphone sensors. In at least one embodiment, the method includes one or more of two stages/paths, one stage/path distinguishing user- and device-specific features from action-specific features, and another stage/path distinguishing user-specific features from device-specific features.
后一种途径受到基于生成对抗网络的图像风格转移的最近研究的启发。在“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”的方法在目标分布与源分布之间添加了循环一致性损失。然而,这些现有的方法是特定于图像风格转移的。The latter approach is inspired by recent research on image style transfer based on generative adversarial networks (GANs). In “I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, Y. Bengio. Generative Adversarial Nets. In: Proceedings of Advances in Neural Information Processing Systems, pp. 2672-2680, 2014,” the authors introduce GANs, a model consisting of two neural networks, a generator, and a discriminator, which learns the distribution of training samples by minimizing the Kullback-Leibler divergence to generate new (realistic) images. Several other GAN-based approaches are proposed for mapping the distribution of a set of source images to a set of target images (i.e., performing style transfer). For example, methods such as “J.Y. Zhu, T. Park, P. Isola, A.A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. In: Proceedings of IEEE International Conference on Computer Vision, pp. 2223-2232, 2017” and “J. Kim, M. Kim, H. Kang, K. Lee. U-GAT-IT: Unsupervised generative attentional networks with adaptive layer-instance normalization for image-to-image translation. arXiv preprint arXiv:1907.10830, 2019” add a cycle-consistency loss between the target and source distributions. However, these existing methods are specific to image style transfer.
在本申请的一个或多个实施例中,深度生成神经网络通过专注于在时域中从运动传感器数据信号到信号转移特征来适应运动信号数据。更具体地,作为深度生成神经网络的中心部件的卷积层和池化层被修改为仅在时域中分别执行卷积和池化操作。此外,在至少一个实施例中,循环一致GAN用于在多域设置(例如,可以包括3个或更多设备的多设备设置)中转移信号。相比之下,现有的GAN在图像域中运行,并且应用于仅在两个域之间(例如,自然图像和绘画之间)转移风格。In one or more embodiments of this application, a deep generative neural network adapts to motion signal data by focusing on signal transfer features from motion sensor data signals in the temporal domain. More specifically, the convolutional and pooling layers, which are central components of the deep generative neural network, are modified to perform convolution and pooling operations only in the temporal domain, respectively. Furthermore, in at least one embodiment, a recurrent consistent GAN is used to transfer signals in a multi-domain setting (e.g., a multi-device setting that may include three or more devices). In contrast, existing GANs operate in the image domain and are applied to transfer style only between two domains (e.g., between natural images and paintings).
根据一个或多个实施例,并且如上所述,为了将用户的判别性特征与设备和动作的判别性特征区分开,提供了一种两阶段方法。According to one or more embodiments, and as described above, a two-stage method is provided to distinguish discriminative features of a user from discriminative features of a device and actions.
第一阶段主要基于预处理信号,然后将它们作为输入提供给ML系统。预处理包括将信号划分成几个块。块的数量、它们的长度以及用于选择块的间隔是所提出的预处理阶段的参数,并且它们可以对准确度和时间具有直接影响。例如,设置固定数量的块和每个块的固定长度。在这种情况下,用于提取块的间隔是通过考虑信号长度从信号中计算出来的。较快的认证将产生较短的信号并且块可能会重叠,而较慢的认证将产生较长的信号并且块可能不覆盖整个信号(某些部分将丢失)。另一示例是固定间隔和信号长度,从而根据输入信号长度获得不同数量的块。又一个示例是固定块的数量并计算间隔和对应的长度以覆盖整个输入信号。所有举例的情况(以及进一步类似的情况)都被所公开的系统执行的本申请的预处理途径所覆盖。如图3所说明的,得到的块进一步经受示例性UBA系统的特征提取和分类流水线。The first stage primarily involves preprocessing the signals before feeding them as input to the ML system. Preprocessing includes dividing the signal into several blocks. The number of blocks, their lengths, and the intervals used for block selection are parameters of the proposed preprocessing stage, and they can have a direct impact on accuracy and time. For example, a fixed number of blocks and a fixed length for each block are set. In this case, the intervals used to extract the blocks are calculated from the signal, taking into account the signal length. Faster authentication will produce shorter signals and the blocks may overlap, while slower authentication will produce longer signals and the blocks may not cover the entire signal (some parts will be lost). Another example is a fixed interval and signal length, resulting in a different number of blocks depending on the length of the input signal. Yet another example is a fixed number of blocks and the calculation of intervals and corresponding lengths to cover the entire input signal. All the exemplified cases (and further similar cases) are covered by the preprocessing approach of this application performed by the disclosed system. As illustrated in Figure 3, the resulting blocks are further subjected to the feature extraction and classification pipeline of the exemplary UBA system.
图3显示了根据一个或多个实施例的示出用于通过基于机器学习去除区分动作的特征来进行用户识别的示例性移动设备系统和过程流程图305的图。在一个实施例中,可以使用系统100的一个或多个元件(例如,移动设备100,单独或结合系统服务器105)来实施该过程。如图3所示,加速度计或陀螺仪信号(运动信号)310在每个认证会话期间由移动设备101记录。然后信号310被系统(例如,移动设备100和/或系统服务器105的处理器)划分为N个更小的(可能重叠的)块或片段315。块315被认为是个体样本并且作为输入被提供给机器学习系统。然后,机器学习系统在用户注册期间收集的一组训练样本上提取特征并学习模型。在用户认证期间,机器学习系统将块315分类为属于所有者或属于不同用户。可以对分配给块(从认证会话期间记录的信号中提取)的标签或分数应用元学习途径或(加权)多数投票来授权或拒绝会话。Figure 3 shows a flowchart 305 illustrating an exemplary mobile device system and process for user identification by removing features that distinguish actions based on machine learning, according to one or more embodiments. In one embodiment, the process may be implemented using one or more components of system 100 (e.g., mobile device 100, system server 105 alone or in combination). As shown in Figure 3, accelerometer or gyroscope signals (motion signals) 310 are recorded by mobile device 101 during each authentication session. Signal 310 is then divided by the system (e.g., the processor of mobile device 100 and/or system server 105) into N smaller (potentially overlapping) blocks or fragments 315. Blocks 315 are considered individual samples and are provided as input to a machine learning system. The machine learning system then extracts features and learns a model on a set of training samples collected during user registration. During user authentication, the machine learning system classifies blocks 315 as belonging to the owner or to a different user. Meta-learning pathways or (weighted) majority voting may be applied to the labels or scores assigned to the blocks (extracted from the signals recorded during the authentication session) to authorize or deny the session.
本文公开的示例性系统和方法可以使用在隐式和/或显式认证会话期间捕获的运动传感器数据来实施。显式认证是指其中提示用户使用移动设备执行规定动作的认证会话。相比之下,隐式认证是指在没有明确提示用户执行任何动作的情况下执行的用户认证会话。将运动信号310划分为块315(即应用上述预处理)的目的是消除区分动作的特征。在显式或隐式认证期间,用户可以执行不同的操作,尽管显式认证可以表现出较低的可变性。实际上,在显式认证会话中,用户很可能总是执行相同的步骤,例如,扫描QR码、将智能手机指向面部、将手指放在指纹扫描仪上等。然而,这些步骤可以使用一只手(左或右)或两只手来执行,用户可以坐在椅子上、站立或行走时执行它们。在这些情况的每一个中,记录的运动信号将不同。如果用户在注册期间用一只手执行认证步骤,并且在认证期间用另一只手执行认证步骤,则可能出现问题,因为经过训练的ML模型将不会很好地概括此类改变。在这种情况下,常规系统将拒绝合法用户,因此具有高误报率。同样的情况在隐式用户认证中更为普遍,即,当用户与一些数据敏感的应用程序(例如银行应用程序)交互时。在此设置中,例如不仅手移动的方式或用户姿势可以不同,用户执行的动作(在屏幕上的不同位置上的敲击手势、不同方向的滑动手势等)也可以不同。分离(分类)此类动作的最直接方式是查看运动信号从记录的开始到结束随时间的改变。然而,这里的目的是消除系统分离动作的能力。如果运动信号310被分离成小块315,这些小块被独立处理,如所公开的用于从运动信号中区分开智能手机用户的判别性特征的系统的一个或多个实施例实施的途径,则ML系统将不再具有将整个记录的信号视为整体的机会。由于不知道哪个块去了哪里,ML系统将不能辨别动作,动作只能通过查看整个记录来识别。发生这种情况是因为将块以不同的顺序放回到一起将对应于不同的动作。观察到,当用户在训练ML系统时执行一组动作并且在测试期间执行一组不同的动作时,本方法的信号预处理阶段将辨别准确度改善了4%。由于ML系统为每个块做出决策(例如,生成标签或计算分数),因此系统可以对与认证相对应的一组决策应用投票方案或元学习模型,以便确定执行认证的用户是否合法。The exemplary systems and methods disclosed herein can be implemented using motion sensor data captured during implicit and/or explicit authentication sessions. Explicit authentication refers to an authentication session in which the user is prompted to perform a prescribed action using a mobile device. In contrast, implicit authentication refers to a user authentication session performed without explicitly prompting the user to perform any action. The purpose of dividing the motion signal 310 into blocks 315 (i.e., applying the preprocessing described above) is to eliminate features that distinguish actions. During explicit or implicit authentication, the user can perform different actions, although explicit authentication may exhibit lower variability. In fact, during an explicit authentication session, the user is likely to always perform the same steps, such as scanning a QR code, pointing the smartphone at their face, placing their finger on a fingerprint scanner, etc. However, these steps can be performed using one hand (left or right) or both hands, and the user can perform them while sitting in a chair, standing, or walking. In each of these cases, the recorded motion signal will be different. Problems may arise if the user performs authentication steps with one hand during registration and with the other hand during authentication, because the trained ML model will not generalize such changes well. In this scenario, a conventional system would reject legitimate users, resulting in a high false positive rate. The same situation is even more prevalent in implicit user authentication, i.e., when a user interacts with data-sensitive applications (such as banking applications). In this setup, not only can the way the hand moves or the user's posture differ, but the actions the user performs (tapping gestures at different locations on the screen, swiping gestures in different directions, etc.) can also differ. The most straightforward way to separate (classify) such actions is to observe the change in motion signal over time from the beginning to the end of the recording. However, the aim here is to eliminate the system's ability to separate actions. If the motion signal 310 is separated into small pieces 315, and these pieces are processed independently, as implemented in one or more embodiments of the disclosed system for distinguishing discriminative features of a smartphone user from motion signals, the ML system will no longer have the opportunity to treat the entire recorded signal as a whole. Since it is unknown where each piece went, the ML system cannot discern actions; actions can only be identified by examining the entire recording. This occurs because putting the pieces back together in different orders will correspond to different actions. It was observed that the signal preprocessing stage of this method improved discrimination accuracy by 4% when the user performed a set of actions during training the ML system and a different set of actions during testing. Since the ML system makes decisions for each block (e.g., generating labels or calculating scores), the system can apply a voting scheme or meta-learning model to a set of decisions corresponding to authentication in order to determine whether the user performing the authentication is legitimate.
众所周知,由于内置缺陷,硬件传感器可以通过查看这些传感器产生的输出容易识别,如在“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%)容易得多。As is well known, due to their inherent defects, hardware sensors can be easily identified by examining their outputs, as detailed in “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 for physical devices. Digital Investigation, vol.3, pp.17-28, 2006”. For example, in "K.R. Akshatha, A.K. Karunakar, H. Anitha, U. Raghavendra, D. Shetty. Digital camera identification using PRNU: A feature-based approach. Digital Investigation, vol. 19, pp. 69-77, 2016", the authors describe a method for identifying smartphone cameras by analyzing captured photos. In "A. Ferreira, L.C. Navarro, G. Pinheiro, J.A. dos Santos, A. Rocha. Laserprinter attribute: Exploring new features and beyond. Forensic Science International, vol. 247, pp. 105-125, 2015", the authors propose a method for identifying laser printers by analyzing printed pages. Similarly, accelerometer and gyroscope sensors can be uniquely identified by analyzing the generated motion signals. This means that motion signals recorded during user registration and authentication will inherently contain discriminative characteristics of the device. Based on data from previous systems, it has been determined that identifying smartphones based on recorded motion signals (98% accuracy) is much easier than identifying users (93% accuracy) or actions (92% accuracy).
虽然将信号划分为块消除了区分动作的特征,但它没有缓解由区分设备的特征引起的问题。主要问题是设备的判别性特征和用户(智能手机所有者)的判别性特征在用户注册期间记录的运动信号内和在我们预处理步骤后得到的块内纠缠在一起。While dividing the signal into blocks eliminates the distinguishing features of the action, it does not alleviate the problems caused by the distinguishing features of the device. The main problem is that the discriminative features of the device and the discriminative features of the user (smartphone owner) are entangled in the motion signals recorded during user registration and in the blocks obtained after our preprocessing steps.
根据进一步的突出方面,本文公开的用于将智能手机用户的判别性特征从运动信号区分开的系统和方法提供了对该问题的解决方案,该解决方案不需要用户(智能手机所有者)执行除了使用单个设备进行标准注册之外的附加步骤。所公开的用于将设备的用户的判别性特征从运动传感器数据区分开并且从运动传感器数据认证用户的方法和系统部分地受到利用风格转移在图像到图像变换中的循环一致生成对抗网络的成功的启发。如“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可以将图像的风格替换为不同的风格,同时保持其内容。以类似的方式,所公开的系统和方法将用于记录运动信号的设备替换为不同的设备,同时保持用户的判别性特征。然而,如上所述,现有方法特定于图像风格转移,而本文公开的途径专门针对在时域中将特征从特定设备的运动传感器数据信号转移到针对另一设备模拟的信号。Based on a further highlighted aspect, the system and method disclosed herein for distinguishing discriminative features of smartphone users from motion signals provides a solution to this problem that does not require the user (smartphone owner) to perform additional steps beyond standard registration using a single device. The disclosed method and system for distinguishing user discriminative features of a device from motion sensor data and authenticating the user from motion sensor data are partly inspired by the success of cycle-consistent generative adversarial networks (GANs) in image-to-image transformations, which leverage style transfer. As shown in “J.Y. Zhu, T. Park, P. Isola, A.A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. In: Proceedings of IEEE International Conference on Computer Vision, pp. 2223-2232, 2017”, Cycle-GAN can replace the style of an image with a different style while preserving its content. Similarly, the disclosed systems and methods replace the device used to record motion signals with a different device while preserving the user's discriminative characteristics. However, as mentioned above, existing methods are specific to image style transfer, while the approach disclosed herein is specifically for transferring features in the time domain from motion sensor data signals of a particular device to signals simulated for another device.
因此,在一个或多个实施例中,由系统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之后计算的重构误差。在至少一个实施例中,使用随机梯度下降(或其许多变体中的一个)执行优化,随机梯度下降一种通常用于优化神经网络的算法,如本领域技术人员将理解的。梯度是关于损失函数计算的并且使用链式法则通过神经网络反向传播,如本领域技术人员将理解的。在一个或多个实施例中,可以使用进化算法来执行神经网络的优化。然而,应理解,所公开的方法不限于通过梯度下降或进化算法进行的优化。Therefore, in one or more embodiments, system 100 implements at least one transformation algorithm (such as Cycle-GAN) for signal-to-signal transformation, as illustrated in FIG4. Specifically, FIG4 is an exemplary Cyclic Consistent Generative Adversarial Network (Cycle-GAN) 400 for signal-to-signal transformation according to one or more embodiments. As shown in FIG4 and according to at least one embodiment, an input signal x recorded on device X is transformed using generator G to make it appear as if it were recorded on a different device Y. The signal is transformed back to the original device X using generator F. Discriminator DY distinguishes the signal recorded on device Y from the signal generated by G. Generator G is optimized to fool discriminator DY , which is optimized to separate samples in an adversarial manner. Furthermore, the generative adversarial network (formed by generators G and F and discriminator DY ) is optimized to reduce the reconstruction error computed after transforming signal x back to the original device X. In at least one embodiment, optimization is performed using stochastic gradient descent (or one of its many variations), an algorithm commonly used to optimize neural networks, as those skilled in the art will understand. The gradient is calculated with respect to the loss function and backpropagated through the neural network using the chain rule, as those skilled in the art will understand. In one or more embodiments, an evolutionary algorithm may be used to perform optimization of the neural network. However, it should be understood that the disclosed methods are not limited to optimizations performed via gradient descent or evolutionary algorithms.
将重构误差添加到整体损失函数中确保循环一致性。除了从设备X变换为设备Y之外,Cycle-GAN同时被训练以从设备Y转移到设备X。因此,最终,所公开的系统和方法在两个方向上变换信号。在一个或多个实施例中,用于训练Cycle-GAN在两个方向上进行信号到信号变换的损失函数是:Reconstruction error is added to the overall loss function to ensure cycle consistency. In addition to transforming from device X to device Y, Cycle-GAN is simultaneously trained to transform from device Y to device X. Therefore, the disclosed system and method ultimately transform signals in both directions. In one or more embodiments, the loss function used to train Cycle-GAN to perform signal-to-signal transformations in both directions is:
,其中:,in:
·G和F是生成器;G and F are generators;
·DX和DY是区分器;· DX and SY are discriminators;
·x和y分别是来自设备X和设备Y的运动信号(块);• x and y are motion signals (blocks) from device X and device Y, respectively;
·λ是控制循环一致性相对于GAN损失的重要性的参数;λ is a parameter that controls the importance of cycle consistency relative to the GAN loss;
·是与从设备X到设备Y的变换相对应的交叉熵损失,其中E[■]是期望值,Pdata(■)是数据样本的概率分布;• is the cross-entropy loss corresponding to the transformation from device X to device Y, where E[■] is the expected value and Pdata(■) is the probability distribution of the data sample;
·是与从设备Y到设备X的变换相对应的交叉熵损失;• This is the cross-entropy loss corresponding to the transformation from device Y to device X;
·是两个变换的循环一致性损失的总和,其中||■||1是l1范数。· is the sum of the cycle consistency losses of the two transformations, where ||■|| 1 is the l- 1 norm.
作为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的损失函数是:As an addition to or alternative to Cycle GAN, the U-GAT-IT model, introduced in "J. Kim, M. Kim, H. Kang, K. Lee. U-GAT-IT: Unsupervised generative attentional networks with adaptive layer-instance normalization for image-to-image translation. arXiv preprint arXiv:1907.10830,2019", can be incorporated into current systems and methods for signal-to-signal transformation. The U-GAT-IT model incorporates attention modules in both the generator and discriminator, and also incorporates a normalization function (adaptive layer instance normalization) to improve the transformation from the source domain to the target domain. The attention map is obtained using an auxiliary classifier, while the parameters of the normalization function are learned during training. In at least one embodiment, the loss function used to train U-GAT-IT is:
其中:in:
·G和F是生成器;G and F are generators;
·DX和DY是区分器;· DX and SY are discriminators;
·x和y分别是来自设备X和设备Y的运动信号(块);• x and y are motion signals (blocks) from device X and device Y, respectively;
·λ1、λ2、λ3和λ4是控制各种损失分量的重要性的参数; λ1 , λ2 , λ3 and λ4 are parameters that control the importance of various loss components;
·是与从设备X到设备Y的变换相对应的最小二乘损失;• It is the least squares loss corresponding to the transformation from device X to device Y;
·是与从设备Y到设备X的变换相对应的最小二乘损失;• It is the least squares loss corresponding to the transformation from device Y to device X;
·是两个变换的循环一致性损失的总和并且||■||1是l1范数;• is the sum of the cycle consistency losses of the two transformations and ||■|| 1 is the l- 1 norm;
·是确保输入和输出信号的幅度分布相似的身份损失的总和;• It is the sum of identity losses that ensure the amplitude distributions of the input and output signals are similar;
·是引入注意力地图的最小二乘损失的总和。• is the sum of least squares losses introduced by the attention map.
在一个或多个实施例中,为了获得跨多个设备泛化的转移结果,使用几个Cycle-GAN(或U-GAT-IT)模型在几个设备对之间转移信号。在至少一个实施例中,设置固定数量的智能手机T并且从T个设备中的每一个收集运动信号。在一个或多个实施例中,设置在T个设备中的每一个上执行注册的固定数量的用户。数据收集是在UBA系统部署到生产之前完成的,即从不要求最终用户在T个设备上执行注册,该注册将是不可行的。经过训练的Cycle-GAN的数量是T,使得每个Cycle-GAN学习将信号从特定设备变换为所有其他设备,反之亦然,如图5A-图5D所说明的,这在下文将进一步详细讨论。In one or more embodiments, to obtain transfer results that generalize across multiple devices, several Cycle-GAN (or U-GAT-IT) models are used to transfer signals between several device pairs. In at least one embodiment, a fixed number of smartphones T are set up and motion signals are collected from each of the T devices. In one or more embodiments, a fixed number of users are set up to perform registration on each of the T devices. Data collection is completed before the UBA system is deployed to production, i.e., end users are never required to perform registration on the T devices, as such registration would be infeasible. The number of trained Cycle-GANs is T, such that each Cycle-GAN learns to transform signals from a particular device to all other devices and vice versa, as illustrated in Figures 5A-5D, which will be discussed in further detail below.
本文公开的系统和方法的一个目的是获得通用Cycle-GAN模型,该模型能够将在某个原始设备上捕获的信号变换为组中的T个设备中的一个,而与原始设备无关。在至少一个实施例中,可以通过使用不同的GAN架构、各种网络深度、学习率或优化算法来实现相同的范围。通过学习从多个设备变换为单个设备而不是仅仅学习从一个设备变换为另一设备来确保泛化能力。因此,在变换算法(例如Cycle-GAN模型)的训练期间,所公开的实施例的变换算法(例如,Cycle-GAN)可以应用于将在某个用户的设备上捕获的信号变换为组中的T个设备中的一个,而不需要知道用户或具有关于他/她正在使用的设备的信息。每次将原始信号变换为T个设备中的一个时,所有者的设备的特征都被替换为来自一组T个设备的某个设备的特征,同时保持特定于用户的特征。根据用于从运动传感器数据中区分开设备的用户的判别性特征的系统的一个或多个实施例,通过将原始信号和变换后的信号都馈送到ML系统,ML系统不再能够学习特定于原始设备的判别性特征。发生这种情况是因为ML系统被配置为将原始信号和变换后的信号放(分类)在同一类中,并且获得此类决策边界的最相关方式是通过查看区分用户的特征。One objective of the systems and methods disclosed herein is to obtain a general Cycle-GAN model capable of transforming a signal captured on an original device into one of T devices in a group, independent of the original device. In at least one embodiment, the same scope can be achieved by using different GAN architectures, various network depths, learning rates, or optimization algorithms. Generalization is ensured by learning to transform from multiple devices to a single device, rather than simply learning to transform from one device to another. Therefore, during the training of the transformation algorithm (e.g., the Cycle-GAN model), the transformation algorithm of the disclosed embodiments (e.g., Cycle-GAN) can be applied to transform a signal captured on a user's device into one of T devices in a group, without needing to know the user or have information about the device he/she is using. Each time the original signal is transformed into one of the T devices, the features of the owner's device are replaced with features from one of the T devices in the group, while retaining user-specific features. According to one or more embodiments of a system for distinguishing discriminative features of a user from motion sensor data, by feeding both the original and transformed signals to the ML system, the ML system is no longer able to learn discriminative features specific to the original device. This happens because the ML system is configured to classify the raw and transformed signals into the same class, and the most relevant way to obtain such decision boundaries is by looking at the features that distinguish the user.
示例性实施例Exemplary embodiments
本系统和方法的示例性实施例在下文参考图5A-图5D、图6A-图6B和图1A-图1D连同技术的实际应用以及其中可以应用用于基于由移动设备运动传感器捕获的运动信号来区分开设备的用户的判别性特征并认证的系统和方法的其他实际场景来进一步详细地讨论。Exemplary embodiments of this system and method are discussed in further detail below with reference to Figures 5A-5D, 6A-6B and 1A-1D, together with practical applications of the technology and other practical scenarios in which systems and methods can be applied to distinguish and authenticate users of a device based on motion signals captured by a motion sensor of a mobile device.
在一个或多个实施例中,本文公开的方法提供了修改的UBA执行流水线。修改的UBA执行流水线能够将用户的判别性特征与动作和设备的判别性特征区分开,如图5A-图5D所示。图5A-图5D示出根据一个或多个实施例的用于从运动传感器数据中区分开移动设备的用户的判别性特征并认证用户的系统和流程图。图5A-图5D的流程图中的步骤可以使用用于从包括例如系统100的移动设备101和/或系统服务器105的运动传感器数据中区分开设备的用户的判别性特征的示例性系统来执行。图5A-图5D的流程图中的步骤详述如下:In one or more embodiments, the methods disclosed herein provide a modified UBA execution pipeline. The modified UBA execution pipeline is capable of distinguishing discriminative characteristics of a user from discriminative characteristics of actions and devices, as shown in Figures 5A-5D. Figures 5A-5D illustrate a system and flowchart according to one or more embodiments for distinguishing discriminative characteristics of a user of a mobile device from motion sensor data and authenticating the user. The steps in the flowcharts of Figures 5A-5D can be performed using an exemplary system for distinguishing discriminative characteristics of a user of a device from motion sensor data including, for example, mobile device 101 of system 100 and/or system server 105. The steps in the flowcharts of Figures 5A-5D are detailed below:
1.在用户注册或认证期间,移动设备101从内置传感器(诸如加速度计和陀螺仪)捕获运动信号310。1. During user registration or authentication, the mobile device 101 captures motion signals 310 from built-in sensors such as accelerometers and gyroscopes.
2.将运动信号310划分为更小的块315。2. Divide the motion signal 310 into smaller blocks 315.
3.使用一组经过训练的Cycle-GAN 400,生成新信号500(变换后的信号),从而模拟用户在其他设备上的认证会话。3. Using a set of trained Cycle-GAN 400, generate a new signal 500 (the transformed signal) to simulate the user's authentication session on other devices.
4.在ML系统505内部,通过采用一组特征提取技术,从原始信号块和变换后的信号块中提取相关特征以形成特征向量。4. Within the ML system 505, a set of feature extraction techniques are employed to extract relevant features from the original signal block and the transformed signal block to form a feature vector.
5.在注册期间,在ML系统505内部,在与记录的和变换后的信号块500相对应的特征向量上训练分类模型。5. During registration, within the ML system 505, a classification model is trained on the feature vectors corresponding to the recorded and transformed signal blocks 500.
6.在认证期间,在ML系统505内部,对与记录的和变换后的信号块相对应的特征向量采用经过学习的分类模型。6. During the authentication process, within the ML system 505, a learned classification model is applied to the feature vectors corresponding to the recorded and transformed signal blocks.
7.在认证期间,为了将合法用户(智能手机所有者)与潜在攻击者区别开,对针对与认证会话相对应的记录的和变换后的块获得的分数或标签采用投票方案或元学习模型。7. During authentication, in order to distinguish legitimate users (smartphone owners) from potential attackers, a voting scheme or meta-learning model is used to evaluate the scores or labels obtained for the records and transformed blocks corresponding to the authentication session.
这些步骤和其他步骤在图6A-图6B的以下示例性方法中进一步描述和举例说明。These and other steps are further described and illustrated in the following exemplary methods in Figures 6A-6B.
根据一个或多个实施例,图6A公开了示出用于从运动传感器数据中区分开设备的用户的判别性特征的计算流程的概要框图。在一个或多个实施例中,图6A的方法可以由本系统执行,诸如图1A的示例性系统100。尽管许多以下步骤被描述为由移动设备101(图1A)执行,但在某些实施例中,以下步骤中的一个或多个可以由与移动设备101通信的系统服务器(后端服务器)105执行。According to one or more embodiments, FIG6A discloses a schematic block diagram illustrating a computational flow for distinguishing discriminative features of a user of a device from motion sensor data. In one or more embodiments, the method of FIG6A may be performed by a system such as the exemplary system 100 of FIG1A. Although many of the steps are described as being performed by a mobile device 101 (FIG. 1A), in some embodiments, one or more of the steps may be performed by a system server (back-end server) 105 communicating with the mobile device 101.
参考图5A和图1A-图1D,过程开始于步骤S105,其中移动设备101的处理器被配置为通过执行一个或多个软件模块(例如,用户接口模块170)使移动设备的至少一个运动传感器(例如,加速度计135、陀螺仪136)以一个或多个运动信号的形式从用户捕获数据。在一个或多个实施例中,运动信号是与在指定时域期间从移动设备的至少一个运动传感器收集的用户与设备的物理移动或交互相对应的多轴信号。用户的物理移动可以是“手势”的形式(例如,手指敲击或手指滑动)或与移动设备的其他物理交互(例如,拿起移动设备)的形式。例如,运动传感器可以收集或捕获与用户在空中书写他们的签名(“显式”交互)或用户敲击他们的手机(“隐式”交互)相对应的运动信号。因此,运动信号包含特定于(区分)用户、用户执行的动作(例如,手势)和特定移动设备的特征。Referring to Figures 5A and 1A-1D, the process begins at step S105, where the processor of mobile device 101 is configured to cause at least one motion sensor (e.g., accelerometer 135, gyroscope 136) of the mobile device to capture data from the user in the form of one or more motion signals by executing one or more software modules (e.g., user interface module 170). In one or more embodiments, the motion signal is a multi-axis signal corresponding to the user's physical movement or interaction with the device collected from at least one motion sensor of the mobile device during a specified time domain. The user's physical movement may be in the form of a "gesture" (e.g., tapping or swiping a finger) or other physical interaction with the mobile device (e.g., picking up the mobile device). For example, the motion sensor may collect or capture motion signals corresponding to the user writing their signature in the air ("explicit" interaction) or the user tapping their phone ("implicit" interaction). Thus, the motion signal contains characteristics specific to (distinguishing) the user, the action performed by the user (e.g., a gesture), and the specific mobile device.
在一个或多个实施例中,移动设备的运动传感器对运动信号的收集或捕获可以在一个或多个预定时间窗期间执行,该预定时间窗优选地是短时间窗。例如,在至少一个实施例中,时间窗可以是大约2秒。在至少一个实施例中,诸如在用户的登记期间,移动设备可以被配置为通过提示用户做出特定手势或显式交互来收集(捕获)来自用户的运动信号。此外,在至少一个实施例中,移动设备可以被配置为在不提示用户的情况下收集运动信号,使得收集的运动信号表示用户与移动设备的隐式手势或交互。在一个或多个实施例中,移动设备101的处理器可以被配置为通过执行一个或多个软件模块(例如,数据库模块176)来将捕获的运动信号保存在移动设备的数据库185中,或者替代地,捕获的运动信号可以保存在后端服务器105的数据库280中。In one or more embodiments, the collection or capture of motion signals by the motion sensor of the mobile device can be performed during one or more predetermined time windows, which are preferably short time windows. For example, in at least one embodiment, the time window may be approximately 2 seconds. In at least one embodiment, such as during user registration, the mobile device may be configured to collect (capture) motion signals from a user by prompting the user to make a specific gesture or explicit interaction. Furthermore, in at least one embodiment, the mobile device may be configured to collect motion signals without prompting the user, such that the collected motion signals represent implicit gestures or interactions between the user and the mobile device. In one or more embodiments, the processor of the mobile device 101 may be configured to store the captured motion signals in the mobile device's database 185 by executing one or more software modules (e.g., database module 176), or alternatively, the captured motion signals may be stored in the database 280 of the backend server 105.
在步骤S110处,移动设备的处理器被配置为通过执行一个或多个软件模块(例如,分段模块173)将一个或多个捕获的运动信号划分为片段。具体地,捕获的运动信号被划分为N个更小的块或片段。如前所讨论的,所公开的系统和方法被配置为部分地解决在运动信号中将特定于或专属于特定用户的特征和区分由用户执行的动作的特征区别开的问题。这样,通过将运动信号划分为片段,消除了由用户执行的动作的判别性特征。在一个或多个实施例中,将一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。在一个或多个实施例中,片段或块中的至少一些是重叠的片段或块。At step S110, the mobile device's processor is configured to divide one or more captured motion signals into segments by executing one or more software modules (e.g., segmentation module 173). Specifically, the captured motion signals are divided into N smaller blocks or segments. As discussed above, the disclosed systems and methods are configured to partially address the problem of distinguishing user-specific or user-exclusive features from user-performed actions in motion signals. Thus, by segmenting the motion signals, discriminative features of user-performed actions are eliminated. In one or more embodiments, the step of segmenting one or more captured motion signals includes dividing each motion signal into a fixed number of segments, where each segment has a fixed length. In one or more embodiments, at least some of the segments or blocks are overlapping segments or blocks.
继续参考图5A,在步骤S115处,移动设备的处理器被配置为通过执行一个或多个软件模块130(例如,转换模块178),使用一个或多个经过训练的变换算法(诸如循环一致生成对抗网络(Cycle-GAN))将片段转换为变换后的片段。如前所讨论的,本系统和方法被配置为部分地解决在运动信号中将特定于或专属于特定用户的特征和区分用户的移动设备的特征区别开的问题。通过使用Cycle-GAN将片段转换为变换后的片段,本方法有效地从提供给ML模型的(一个或多个)收集的运动数据信号中消除了移动设备的判别性特征。Referring again to Figure 5A, at step S115, the mobile device's processor is configured to transform the fragment into a transformed fragment by executing one or more software modules 130 (e.g., transformation module 178) using one or more trained transformation algorithms (such as Cyclic Consistent Generative Adversarial Networks (Cycle-GAN)). As previously discussed, this system and method are configured to partially address the problem of distinguishing user-specific or user-specific features from user-discriminating mobile device features in motion signals. By using Cycle-GAN to transform the fragment into a transformed fragment, this method effectively eliminates the discriminative features of the mobile device from the motion data signals(s) collected and provided to the ML model(s).
更具体地,根据一个或多个实施例,块/片段被认为是个体样本,并且这些块/片段作为输入被提供给一个或多个变换算法(例如,Cycle-GAN)。在利用Cycle-GAN的一个或多个实施例中,每个Cycle-GAN在一组预定义的T个不同的设备上收集的运动信号的分离的数据集上离线训练。给定片段作为输入,Cycle-GAN将每个片段转换为变换后的片段,使得变换后的片段对应于如将在来自该组预定义的T个设备的不同于用户的移动设备的设备上记录的片段。换言之,变换后的片段包括模拟源自另一设备的运动信号的一个或多个合成运动信号。例如,记录在设备X上的运动信号x的输入片段使用Cycle-GAN(生成器)G进行变换,以使其看起来像是记录在不同的设备Y上。More specifically, according to one or more embodiments, blocks/segments are considered individual samples, and these blocks/segments are provided as input to one or more transformation algorithms (e.g., Cycle-GAN). In one or more embodiments utilizing Cycle-GAN, each Cycle-GAN is trained offline on a separate dataset of motion signals collected from a predefined set of T different devices. Given a segment as input, Cycle-GAN transforms each segment into a transformed segment such that the transformed segment corresponds to a segment recorded on a device different from the user's mobile device from the predefined set of T devices. In other words, the transformed segment comprises one or more synthetic motion signals that simulate motion signals originating from another device. For example, an input segment of motion signal x recorded on device X is transformed using Cycle-GAN (generator) G to make it appear as if it were recorded on a different device Y.
每次使用Cycle-GAN中的一个变换原始片段时,用户自己的设备的特征都被替换为来自该组预定义的T个设备的某个设备的特征替换,同时保持特定于用户的特征。如前所述,该过程的一个目的是将运动信号中的特定于(区分)用户的特征与仅特定于(区分)用户利用的设备的那些特征分离。因此,根据至少一个实施例,为了获得特定于用户的结果,使得可以跨多个设备识别用户,使用几个Cycle-GAN模型(或U-GAT-IT或其他变换算法)来在几个设备之间变换片段。在一个或多个实施例中,设置设备(例如,智能手机)的固定数量T并且收集来自T个设备中的每一个的运动信号的片段。还设置了在T个设备中的每一个上执行注册的固定数量的用户。因此,训练了一定数量的Cycle-GAN,使得每个Cycle-GAN学习将片段从特定设备变换为组中的所有其他设备,反之亦然,如图5A所说明的。因此,根据至少一个实施例,本系统产生通用Cycle-GAN模型,该模型能够将在某个原始设备上捕获的信号变换为一组预定义的T个设备中的另一设备,而与原始设备无关。Each time a transformed original segment is used in a Cycle-GAN, the features of the user's own device are replaced with features from one of the T predefined devices in the group, while preserving user-specific features. As previously mentioned, one objective of this process is to separate user-specific (distinguishing) features in the motion signal from those specific to the device used only by the user. Therefore, according to at least one embodiment, to obtain user-specific results that allow user identification across multiple devices, several Cycle-GAN models (or U-GAT-IT or other transformation algorithms) are used to transform segments across several devices. In one or more embodiments, a fixed number T of devices (e.g., smartphones) are set and segments of motion signals are collected from each of the T devices. A fixed number of users are also set to register on each of the T devices. Thus, a number of Cycle-GANs are trained such that each Cycle-GAN learns to transform segments from a specific device to all other devices in the group and vice versa, as illustrated in Figure 5A. Therefore, according to at least one embodiment, the system generates a general Cycle-GAN model that can transform a signal captured on an original device into another device from a set of T predefined devices, regardless of the original device.
需要注意的是,在至少一个实施例中,该步骤可以通过使用不同的GAN架构、各种网络深度、学习率或优化算法来实现。通过学习从多个设备变换为单个设备而不是仅仅学习从一个设备变换为另一设备来确保泛化能力。因此,在Cycle-GAN的训练期间,Cycle-GAN可以应用于将在用户的设备上捕获的信号变换为该组T个设备中的另一设备,而不需要知道用户或具有关于他或她正在使用的设备的信息。每次将原始片段变换为该组中的T个设备中的一个时,用户的设备的特征都被替换为该组T个设备中的另一设备的特征替换,同时保持特定于用户的特征。It is important to note that, in at least one embodiment, this step can be implemented using different GAN architectures, various network depths, learning rates, or optimization algorithms. Generalization is ensured by learning to transform from multiple devices to a single device, rather than simply learning to transform from one device to another. Therefore, during the training of Cycle-GAN, Cycle-GAN can be applied to transform signals captured on a user's device into another device in the group of T devices, without needing to know the user or have information about the device he or she is using. Each time the original segment is transformed into one of the T devices in the group, the features of the user's device are replaced with the features of the other device in the group of T devices, while preserving user-specific features.
在步骤S115的一个或多个实施例中,一旦输入片段被变换,移动设备的处理器就被配置为通过执行一个或多个软件模块(例如,转换模块178)将片段变换回。例如,如前面的示例中所述,记录在设备X上的运动信号x的输入片段使用Cycle-GAN(生成器)G进行变换,以使其看起来像是记录在不同的设备Y上。然后使用Cycle-GAN(生成器)F将变换后的片段变换回原始设备X。根据至少一个实施例,区分器DY然后区分记录在设备Y上的信号和由Cycle-GAN(生成器)G生成的信号。生成器G被优化以欺骗区分器DY,而区分器DY被优化以便以对抗的方式分离样本。此外,在至少一个实施例中,整个系统被优化以减少在将信号x变换回原始设备X之后计算的重构误差。将重构误差添加到整体损失函数确保了循环一致性。In one or more embodiments of step S115, once the input segment is transformed, the mobile device's processor is configured to transform the segment back by executing one or more software modules (e.g., transformation module 178). For example, as described in the previous examples, an input segment of motion signal x recorded on device X is transformed using Cycle-GAN (generator) G to make it appear as if it were recorded on a different device Y. The transformed segment is then transformed back to the original device X using Cycle-GAN (generator) F. According to at least one embodiment, discriminator DY then distinguishes between the signal recorded on device Y and the signal generated by Cycle-GAN (generator) G. Generator G is optimized to fool discriminator DY , which is optimized to separate samples in an adversarial manner. Furthermore, in at least one embodiment, the entire system is optimized to reduce the reconstruction error calculated after transforming signal x back to the original device X. Adding the reconstruction error to the overall loss function ensures cycle consistency.
继续参考图5A,在步骤S120处,移动设备的处理器被配置为通过执行一个或多个软件模块(例如,特征提取模块172)来将片段和变换后的片段提供给机器学习系统。作为输入提供给机器学习系统的片段和变换后的片段被视为个体样本。Referring again to Figure 5A, at step S120, the mobile device's processor is configured to provide fragments and transformed fragments to the machine learning system by executing one or more software modules (e.g., feature extraction module 172). The fragments and transformed fragments provided as input to the machine learning system are considered individual samples.
在步骤S125处,移动设备的处理器然后被配置为通过执行一个或多个软件模块来使用应用一个或多个特征提取算法的机器学习系统从片段和变换后的片段中提取用户的判别性特征。例如,在用户注册过程期间的一个或多个实施例中,处理器被配置为使用一个或多个特征提取技术从片段和变换后的片段中提取相关特征以形成特征向量。在步骤S127处,处理器被配置为对与片段和变换后的片段相对应的特征向量采用和训练经过学习的分类模型。在至少一个实施例中,机器学习系统可以是端到端深度神经网络,包括特征提取(S125)和分类(S127)步骤。在一个或多个实施例中,机器学习系统可以由两个部件(特征提取器和分类器)或三个部件(特征提取器、特征选择方法—未示出—和分类器)形成。在任一实施例中,都存在可训练部件,即深度神经网络或分类器。可训练部件通常通过关于损失函数应用优化算法(例如梯度下降)在样本的数据集(运动信号块)和对应的标签(用户标识符)上进行训练,该损失函数表达可训练部件能够多好地预测用于训练数据样本的正确标签(在用户注册期间收集的原始或变换后的片段),如本领域技术人员将理解的。优化算法的目的是最小化损失函数,即改善可训练部件的预测能力。在步骤S130处,该方法结束。At step S125, the mobile device's processor is then configured to extract discriminative features of the user from the fragments and transformed fragments using a machine learning system that applies one or more feature extraction algorithms by executing one or more software modules. For example, in one or more embodiments during the user registration process, the processor is configured to extract relevant features from the fragments and transformed fragments to form feature vectors using one or more feature extraction techniques. At step S127, the processor is configured to apply and train a learned classification model on the feature vectors corresponding to the fragments and transformed fragments. In at least one embodiment, the machine learning system may be an end-to-end deep neural network, including feature extraction (S125) and classification (S127) steps. In one or more embodiments, the machine learning system may consist of two components (feature extractor and classifier) or three components (feature extractor, feature selection method—not shown—and classifier). In any embodiment, a trainable component, i.e., a deep neural network or a classifier, is present. The trainable part is typically trained on a dataset of samples (moving signal blocks) and their corresponding labels (user identifiers) by applying an optimization algorithm (e.g., gradient descent) with respect to a loss function that expresses how well the trainable part can predict the correct labels for the training data samples (raw or transformed fragments collected during user registration), as will be understood by those skilled in the art. The goal of the optimization algorithm is to minimize the loss function, i.e., to improve the predictive ability of the trainable part. At step S130, the method terminates.
图6B公开了示出根据至少一个实施例的用于从运动传感器数据在移动设备上认证用户的计算流程的概要框图。现在参考图5B,该方法开始于步骤S105。如图6B所示的步骤S105-S120是上面关于图6A所示的方法的描述的相同步骤。具体地,在步骤S105处,移动设备捕获来自用户的一个或多个运动信号,并且在步骤S110处,将一个或多个捕获的运动信号划分为片段。在步骤S115处,使用一个或多个经过训练的变换算法(例如,Cycle-GAN)将片段转换为变换后的片段,并且在步骤S120处,将片段和变换后的片段提供给机器学习系统。Figure 6B discloses a schematic block diagram illustrating a computational flow for authenticating a user on a mobile device from motion sensor data according to at least one embodiment. Referring now to Figure 5B, the method begins at step S105. Steps S105-S120 shown in Figure 6B are the same steps described above with respect to the method shown in Figure 6A. Specifically, at step S105, the mobile device captures one or more motion signals from the user, and at step S110, the one or more captured motion signals are segmented into segments. At step S115, the segments are transformed into transformed segments using one or more trained transformation algorithms (e.g., Cycle-GAN), and at step S120, the segments and the transformed segments are provided to a machine learning system.
继续参考图5B和图1A-图1D,在步骤S120之后,在步骤S135处,移动设备的处理器被配置为通过执行一个或多个软件模块(例如,分类模块174)来分类(例如,评分,将类概率分配给)片段和变换后的片段。更具体地,在一个或多个实施例中,对表示片段和变换后的片段的特征向量进行分析和评分。在一个或多个实施例中,片段和变换后的片段可以对应于认证会话,使得根据机器学习模型(例如,在图6A中的步骤S127处在用户注册期间收集的数据上先前训练的分类器或深度神经网络)对片段和变换后的片段进行评分。Referring again to Figures 5B and 1A-1D, after step S120, at step S135, the mobile device's processor is configured to classify (e.g., score, assign class probabilities to) the fragments and transformed fragments by executing one or more software modules (e.g., classification module 174). More specifically, in one or more embodiments, feature vectors representing the fragments and transformed fragments are analyzed and scored. In one or more embodiments, the fragments and transformed fragments may correspond to an authentication session, such that the fragments and transformed fragments are scored based on a machine learning model (e.g., a classifier or deep neural network previously trained on data collected during user registration at step S127 in Figure 6A).
在步骤S140处,移动设备被配置为通过执行一个或多个软件模块130(例如,元学习模块175)来对分配给在认证会话期间获得的片段和变换后的片段的分数(例如,类概率)应用投票方案或元学习模型。通过应用投票方案或元学习模型,移动设备被配置为提供授权或拒绝用户的一致决定。在一个或多个实施例中,会话的一致决定基于应用到所有片段和变换后的片段的分数的投票方案或元学习模型。At step S140, the mobile device is configured to apply a voting scheme or meta-learning model to the scores (e.g., class probabilities) assigned to fragments and transformed fragments obtained during the authentication session by executing one or more software modules 130 (e.g., meta-learning module 175). By applying the voting scheme or meta-learning model, the mobile device is configured to provide a consistent decision to authorize or deny the user. In one or more embodiments, the consistent decision of the session is based on the voting scheme or meta-learning model applied to the scores of all fragments and transformed fragments.
最后,在步骤S145处,移动设备被配置为通过执行一个或多个软件模块(例如,元学习模块175)来基于投票或元学习步骤确定用户是否是授权用户。如前所述,根据在注册期间训练以识别已知用户的机器学习模型作为输出给出的类概率对片段和变换后的片段进行评分。因此,基于对相应片段和变换后的片段的分数应用的投票方案或元学习器,处理器被配置为确定片段和变换后的片段是否属于特定(授权)用户,并且因此最终确定用户是授权用户还是未授权用户。本文公开的认证过程是指一对一的认证(用户验证)。在步骤S150处,用于基于运动传感器数据认证用户的方法结束。Finally, at step S145, the mobile device is configured to determine whether a user is an authorized user based on a voting or meta-learning step by executing one or more software modules (e.g., meta-learning module 175). As previously described, segments and transformed segments are scored based on class probabilities given as output by a machine learning model trained during registration to identify known users. Therefore, based on the voting scheme or meta-learner applied to the scores of the corresponding segments and transformed segments, the processor is configured to determine whether the segments and transformed segments belong to a specific (authorized) user, and thus ultimately determine whether the user is an authorized or unauthorized user. The authentication process disclosed herein refers to one-to-one authentication (user verification). At step S150, the method for authenticating users based on motion sensor data ends.
实验结果Experimental results
在本节中,根据一个或多个实施例呈现用本文公开的区分方法获得的实验结果。在以下实验中使用了两个不同的数据集。第一数据集(以下称为5x5数据库)由当5个人利用5个智能手机执行认证时来自5个智能手机的加速度计和陀螺仪记录的信号组成。要求这些个人在认证期间改变位置(即站起来,或坐下并使用右手或左手),从而执行不同的通用动作。在每个位置中,捕获了来自50次认证的信号,这意味着每个人在5个智能手机中的每个上总共执行了1000次认证,即会话总数为5000。第二数据集(以下称为3x3数据库)由与第一个相同的位置变化但由3个不同的人和3个不同的智能手机来形成。In this section, experimental results obtained using the discrimination method disclosed herein are presented according to one or more embodiments. Two different datasets were used in the following experiments. The first dataset (hereinafter referred to as the 5x5 database) consists of signals recorded from the accelerometers and gyroscopes of five smartphones when five people performed authentication using five smartphones. These individuals were asked to change positions during authentication (i.e., stand up, or sit down and use their right or left hand), thereby performing different common actions. Signals from 50 authentications were captured at each position, meaning that each person performed a total of 1000 authentications on each of the five smartphones, or a total of 5000 sessions. The second dataset (hereinafter referred to as the 3x3 database) consists of the same position variations as the first, but with three different people and three different smartphones.
来自每个数据库的信号在预处理阶段被划分为25个块。来源于5x5数据集的信号块用于训练5个Cycle-GAN,目的是往返5个设备变换信号。然后,从3x3数据库中获得的每个信号块都被馈送到经过训练的GAN,从而以此方式获得一组全新的信号。这些新的(变换后的)信号进一步划分为两个子集:一个用于训练,并且另一个用于测试ML系统,以基于运动信号进行用户识别。The signals from each database were divided into 25 blocks during the preprocessing stage. Blocks from the 5x5 dataset were used to train five Cycle-GANs, which transform the signals round trip across five devices. Then, each block from the 3x3 database was fed into the trained GAN, thus obtaining a completely new set of signals. These new (transformed) signals were further divided into two subsets: one for training and the other for testing the ML system for user recognition based on motion signals.
众所周知,GAN训练是高度不稳定和困难的,因为GAN需要找到具有高维参数的非凸极小极大博弈的纳什均衡。然而,在这些实验中,观察到生成网络的损失函数单调下降,支持了达到平衡点的想法。It is well known that GAN training is highly unstable and difficult because GANs need to find a Nash equilibrium in a non-convex minimax game with high-dimensional parameters. However, in these experiments, the loss function of the generative network was observed to decrease monotonically, supporting the idea of reaching an equilibrium point.
通过将信号划分为块,捕获了用户判别性特征,并将移动(动作)的重要性最小化。明确的证据是,通过将信号块(不应用GAN)馈送到ML系统中,观察到用户辨别的4%的准确度增加。跨不同移动设备变换用户行为(通过应用GAN)导致用户辨别准确度附加地增加另一3%(相对于仅使用信号块获得的准确度)。因此,可以得出结论,通过模拟来自各种设备的特征,获得了对设备特征更加稳健和不变的ML系统。By dividing the signal into blocks, user discriminative features are captured, and the importance of movement (action) is minimized. Clear evidence is that a 4% increase in user discrimination accuracy was observed when feeding signal blocks (without applying GAN) into the ML system. Varying user behavior across different mobile devices (by applying GAN) resulted in an additional 3% increase in user discrimination accuracy (compared to the accuracy obtained using only signal blocks). Therefore, it can be concluded that by simulating features from various devices, a more robust and invariant ML system to device characteristics is obtained.
随着移动设备的数量的增长,攻击的频率显着上升。因此,近年来提出了各种用户行为分析算法,包括基于用户认证期间由运动传感器捕获的信号的系统。如今,基于运动传感器数据的算法面临的主要问题是,很难将特定于用户的特征与特定于动作和设备的特征区分开。本申请的系统和方法通过将运动信号划分为块并且通过使用变换算法(例如,Cycle-GAN)将信号变换为其他设备而不需要对用户注册过程进行任何改变来解决这个问题。With the increasing number of mobile devices, the frequency of attacks has risen significantly. Therefore, various user behavior analysis algorithms have been proposed in recent years, including systems based on signals captured by motion sensors during user authentication. Currently, a major problem faced by motion sensor data-based algorithms is the difficulty in distinguishing user-specific features from action- and device-specific features. The system and method of this application address this problem by dividing the motion signal into blocks and transforming the signal for other devices using a transformation algorithm (e.g., Cycle-GAN) without requiring any changes to the user registration process.
事实上,将信号划分为更小的块有助于减少动作(由用户执行)对ML系统的决策边界的影响,从而将用户识别准确度提高4%,如上面的示例所示。此外,众所周知,来自不同设备的传感器由于制造工艺而不同,即使这些设备是相同的品牌和型号,并且来自同一条生产线。这一事实导致移动设备传感器对用于用户识别的ML系统的决策边界的重要影响。根据一个或多个实施例,利用GAN的本文公开的系统和方法基于来自任意设备的记录的运动信号模拟来自多个设备的认证,减少移动设备对ML系统的影响,并增加特定于用户的特征的影响。所公开的系统和方法进一步将ML系统准确度改善约3%。因此,总体而言,在一个或多个实施例中,本系统和方法可以将性能提高7%,从而降低误报率和漏报率。In fact, dividing the signal into smaller blocks helps reduce the impact of actions (performed by the user) on the decision boundary of the ML system, thereby improving user identification accuracy by 4%, as shown in the example above. Furthermore, it is well known that sensors from different devices differ due to manufacturing processes, even if these devices are of the same brand and model and come from the same production line. This fact leads to a significant impact of mobile device sensors on the decision boundary of the ML system used for user identification. According to one or more embodiments, the systems and methods disclosed herein utilizing GANs simulate authentication from multiple devices based on recorded motion signals from arbitrary devices, reducing the impact of mobile devices on the ML system and increasing the influence of user-specific features. The disclosed systems and methods further improve ML system accuracy by approximately 3%. Therefore, overall, in one or more embodiments, the systems and methods can improve performance by 7%, thereby reducing false positive and false negative rates.
在以下项目中阐述了用于从运动信号中区分开设备的用户的判别性特征并且用于从运动信号在移动设备上认证用户的示例性系统和方法:The following projects illustrate discriminative features for distinguishing users of a device from motion signals and exemplary systems and methods for authenticating users on mobile devices from motion signals:
项目1、一种用于从由移动设备捕获的运动信号中区分开设备的用户的判别性特征的计算机实现的方法,所述移动设备具有一个或多个运动传感器、存储介质、存储在存储介质上的指令、以及通过执行指令而配置的处理器,包括:Project 1. A computer-implemented method for distinguishing discriminative features of a user of a mobile device from motion signals captured by the mobile device, the mobile device having one or more motion sensors, a storage medium, instructions stored on the storage medium, and a processor configured to execute the instructions, comprising:
用所述处理器将每个捕获的运动信号划分为片段;The processor divides each captured motion signal into segments;
用所述处理器使用一个或多个经过训练的变换算法将所述片段转换为变换后的片段;The processor uses one or more trained transformation algorithms to convert the fragment into a transformed fragment;
用所述处理器将所述片段和所述变换后的片段提供给机器学习系统;以及The processor provides the fragment and the transformed fragment to the machine learning system; and
用所述处理器使用应用一个或多个特征提取算法的所述机器学习系统从所述片段和变换后的片段中提取所述用户的判别性特征。The processor uses the machine learning system, which applies one or more feature extraction algorithms, to extract the user's discriminative features from the fragment and the transformed fragment.
项目2、根据项目1所述的方法,其中,所述用户的所述判别性特征用于在所述用户未来使用所述设备时识别所述用户。Project 2, according to the method of Project 1, wherein the discriminative features of the user are used to identify the user when the user uses the device in the future.
项目3、根据前述项目所述的方法,其中,所述一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。Project 3, the method according to the preceding project, wherein the one or more motion sensors include at least one of a gyroscope and an accelerometer.
项目4、根据前述项目所述的方法,其中,所述一个或多个运动信号对应于所述用户和所述移动设备之间的一个或多个交互。Project 4. According to the method described in the preceding project, wherein the one or more motion signals correspond to one or more interactions between the user and the mobile device.
项目5、根据前述项目所述的方法,其中,所述运动信号包括所述用户的判别性特征、由所述用户执行的动作的判别性特征和所述移动设备的判别性特征。Project 5. According to the method described in the preceding project, wherein the motion signal includes the discriminative features of the user, the discriminative features of the action performed by the user, and the discriminative features of the mobile device.
项目6、根据项目5所述的方法,其中,将所述一个或多个捕获的运动信号划分为所述片段的步骤消除了由所述用户执行的动作的所述判别性特征。Project 6. According to the method of Project 5, wherein the step of dividing the one or more captured motion signals into the segments eliminates the discriminative features of the action performed by the user.
项目7、根据项目5所述的方法,其中,将所述片段转换为所述变换后的片段的步骤消除了所述移动设备的所述判别性特征。Project 7. According to the method of Project 5, wherein the step of converting the fragment into the transformed fragment eliminates the discriminative feature of the mobile device.
项目8、根据前述项目所述的方法,其中,所述一个或多个经过训练的变换算法包括一个或多个循环一致生成对抗网络(Cycle-GAN),并且其中所述变换后的片段包括模拟源自另一设备的运动信号的合成运动信号。Project 8. According to the method described in the preceding project, wherein the one or more trained transformation algorithms include one or more Cyclic Consistent Generative Adversarial Networks (Cycle-GANs), and wherein the transformed fragment includes a synthetic motion signal simulating motion signals originating from another device.
项目9、根据前述项目所述的方法,其中,将所述一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。Project 9. The method according to the preceding project, wherein the step of dividing the one or more captured motion signals into segments includes dividing each motion signal into a fixed number of segments, wherein each segment has a fixed length.
项目10、一种用于从由移动设备捕获的运动信号来在所述移动设备认证用户的计算机实现的方法,所述移动设备具有一个或多个运动传感器、存储介质、存储在存储介质上的指令、以及通过执行指令而配置的处理器,包括:Item 10. A computer-implemented method for authenticating a user on a mobile device from motion signals captured by the mobile device, the mobile device having one or more motion sensors, a storage medium, instructions stored on the storage medium, and a processor configured to execute the instructions, comprising:
用所述处理器将所述一个或多个捕获的运动信号划分为片段;The processor divides the one or more captured motion signals into segments;
用所述处理器使用一个或多个经过训练的变换算法将所述片段转换为变换后的片段;The processor uses one or more trained transformation algorithms to convert the fragment into a transformed fragment;
用所述处理器将所述片段和所述变换后的片段提供给机器学习系统;以及The processor provides the fragment and the transformed fragment to the machine learning system; and
通过将分数分配给所述片段和变换后的片段中的每一个,用所述处理器将所述片段和变换后的片段分类为属于授权用户或属于未授权用户;以及The processor categorizes the fragments and transformed fragments as belonging to authorized users or unauthorized users by assigning scores to each of the fragments and transformed fragments; and
用所述处理器对分配给所述片段和变换后的片段的所述分数应用投票方案或元学习模型;以及The processor applies a voting scheme or a meta-learning model to the scores assigned to the fragment and the transformed fragment; and
用所述处理器基于所述投票方案或元学习模型确定所述用户是否是授权用户。The processor determines whether the user is an authorized user based on the voting scheme or the meta-learning model.
项目11、根据项目10所述的方法,其中,评分的步骤包括:Item 11. According to the method described in Item 10, the scoring steps include:
将所述片段和变换后的片段与在登记过程期间从由所述授权用户提供的样本片段中提取的所述授权用户的特征进行比较,其中所述特征存储在所述存储介质上;以及The fragment and the transformed fragment are compared with features of the authorized user extracted from sample fragments provided by the authorized user during the registration process, wherein the features are stored on the storage medium; and
基于分类模型为每个片段分配分数。Each segment is assigned a score based on a classification model.
项目12、根据项目10或11所述的方法,其中,所述一个或多个运动传感器包括陀螺仪和加速度计中的至少一个。Item 12, the method according to Item 10 or 11, wherein the one or more motion sensors include at least one of a gyroscope and an accelerometer.
项目13、根据项目10-12所述的方法,其中,将所述一个或多个捕获的运动信号划分为片段的步骤包括将每个运动信号划分为固定数量的片段,其中每个片段具有固定长度。Item 13. The method according to Items 10-12, wherein the step of dividing the one or more captured motion signals into segments includes dividing each motion signal into a fixed number of segments, wherein each segment has a fixed length.
项目14、根据项目10-13所述的方法,其中,所述片段的至少一部分是重叠的。Item 14, the method according to Items 10-13, wherein at least a portion of the segments overlaps.
项目15、根据项目10-14所述的方法,其中,所述一个或多个经过训练的变换算法包括一个或多个Cycle-GAN,并且其中转换的步骤包括:Item 15. The method according to Items 10-14, wherein the one or more trained transformation algorithms include one or more Cycle-GANs, and wherein the transformation steps include:
经由第一生成器将所述片段变换为所述变换后的片段,其模仿在另一设备上生成的片段;以及The fragment is transformed into the transformed fragment via a first generator, which mimics a fragment generated on another device; and
经由第二生成器重新变换所述变换后的片段以模仿在所述移动设备上生成的片段。The transformed fragment is then re-transformed via a second generator to mimic the fragment generated on the mobile device.
项目16、根据项目10-15所述的方法,其中,所述变换后的片段包括模拟源自另一设备的运动信号的合成运动信号。Item 16. The method according to Items 10-15, wherein the transformed segment includes a synthetic motion signal simulating motion signals originating from another device.
项目17、根据项目10-16所述的方法,其中,提供的步骤包括:Item 17. The method described in Items 10-16, wherein the provided steps include:
用所述处理使用一个或多个特征提取技术从所述片段和变换后的片段中提取特征以形成特征向量;以及The processing employs one or more feature extraction techniques to extract features from the fragment and the transformed fragment to form a feature vector; and
对与所述片段和所述变换后的片段相对应的所述特征向量采用经过学习的分类模型。A learned classification model is applied to the feature vectors corresponding to the fragment and the transformed fragment.
项目18、一种用于从在具有至少一个运动传感器的移动设备上捕获的运动信号中区分开设备的用户的判别性特征并在所述移动设备上认证用户的系统,所述系统包括:Item 18, A system for distinguishing discriminative features of a user of a mobile device from motion signals captured on the mobile device having at least one motion sensor and authenticating the user on the mobile device, the system comprising:
网络通信接口;Network communication interface;
计算机可读存储介质;Computer-readable storage medium;
处理器,其被配置为与所述网络通信接口和所述计算机可读存储介质交互并执行存储在所述存储介质上的一个或多个软件模块,包括:A processor configured to interact with the network communication interface and the computer-readable storage medium and execute one or more software modules stored on the storage medium, comprising:
分段模块,其在被执行时将所述处理器配置为将每个捕获的运动信号划分为片段;The segmentation module, when executed, configures the processor to divide each captured motion signal into segments;
转换模块,其在被执行时将所述处理器配置为使用一个或多个经过训练的循环一致生成对抗网络(Cycle-GAN)将所述片段转换为变换后的片段;A transformation module, when executed, configures the processor to transform the fragment into a transformed fragment using one or more trained Cyclic Consistent Generative Adversarial Networks (Cycle-GANs);
特征提取模块,其在被执行时将所述处理器配置为从所述片段和变换后的片段中提取所述用户的提取的判别性特征,其中所述处理器使用机器学习系统;A feature extraction module, when executed, configures the processor to extract discriminative features extracted by the user from the fragment and the transformed fragment, wherein the processor uses a machine learning system;
分类模块,其在被执行时将所述处理器配置为向所述片段和变换后的片段分配分数,并且基于这些片段的相应分数确定所述片段和变换后的片段属于授权用户还是未授权用户;The classification module, when executed, configures the processor to assign scores to the fragments and transformed fragments, and determines whether the fragments and transformed fragments belong to authorized users or unauthorized users based on the corresponding scores of these fragments;
元学习模块,其在被执行时将所述处理器配置为基于与所述用户相对应的所存储的片段基于分配给所述片段和变换后的片段的所述分数应用投票方案或元学习模型。The meta-learning module, when executed, configures the processor to apply a voting scheme or meta-learning model based on the scores assigned to the stored fragments and the transformed fragments corresponding to the user.
项目19、根据项目18所述的系统,其中所述至少一个运动传感器包括陀螺仪和加速度计中的至少一个。Item 19. The system according to Item 18, wherein the at least one motion sensor includes at least one of a gyroscope and an accelerometer.
项目20、根据项目18-19所述的系统,其中所述转换模块将所述处理器配置为:经由第一生成器将所述片段变换为所述变换后的片段,其模仿在另一设备上生成的片段;并且经由第二生成器重新变换所述变换后的片段以模仿在所述移动设备上生成的片段。Item 20. The system according to Items 18-19, wherein the conversion module configures the processor to: transform the fragment into the transformed fragment via a first generator, which mimics a fragment generated on another device; and transform the transformed fragment again via a second generator to mimic a fragment generated on the mobile device.
项目21、根据项目18-20所述的系统,其中所述特征提取模块进一步被配置为对与所述片段和所述变换后的片段相对应的所提取的特征采用经过学习的分类模型。Item 21. The system according to Items 18-20, wherein the feature extraction module is further configured to apply a learned classification model to the extracted features corresponding to the fragment and the transformed fragment.
此时,应注意,尽管前面的描述大部分都针对用于使用运动传感器数据来区分开用户的判别性特征和用户认证的系统和方法,但是本文公开的系统和方法可以类似地部署和/或实施在参考场景之外的场景、情况和设置中。At this point, it should be noted that although most of the preceding descriptions pertain to systems and methods for using motion sensor data to distinguish discriminative characteristics of users and for user authentication, the systems and methods disclosed herein can be similarly deployed and/or implemented in scenarios, situations, and settings outside of the reference scenario.
尽管本说明书包含许多具体的实施方式细节,但这些不应被解释为对任何实施方式的范围或可以要求保护的内容的限制,而是对可以特定于特定实施方式的特定实施例的特征的描述。在本说明书中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分离地实施或以任何合适的子组合来实施。此外,尽管特征可以在上面描述为以某些组合起作用,并且甚至最初如此要求保护,但在某些情况下,来自要求保护的组合的一个或多个特征可以从组合中删除,并且要求保护的组合可以针对子组合或子组合的变体。Although this specification contains numerous specific details of implementation, these should not be construed as limiting the scope of any implementation or what may be claimed, but rather as descriptions of features specific to particular embodiments that may be specific to particular implementations. Certain features described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately in multiple embodiments or in any suitable sub-combination. Furthermore, although features may be described above as operating in certain combinations, and even initially claimed in this way, in some cases one or more features from the claimed combination may be removed from the combination, and the claimed combination may be for sub-combinations or variations thereof.
类似地,虽然在附图中以特定顺序描绘了操作,但这不应被理解为要求这些操作以所示的特定顺序或按顺序执行,或者所有说明的操作都被执行以获得期望的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各个系统部件的分离不应理解为在所有实施例中都需要此类分离,并且应理解的是,所描述的程序部件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。Similarly, although operations are depicted in a specific order in the accompanying drawings, this should not be construed as requiring these operations to be performed in the specific order shown or sequentially, or that all illustrated operations be performed to obtain the desired result. In some cases, multitasking and parallel processing can be advantageous. Furthermore, the separation of the various system components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
本文使用的术语仅出于描述特定实施例的目的,并不旨在限制本发明。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定了所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件和/或它们的组。应注意的是,在权利要求中使用诸如“第一”、“第二”、“第三”等顺序术语来修饰权利要求元素本身并不意味着一个权利要求元素相比于另一个的任何优先级、优先序或顺序或执行方法的动作的时间顺序,而是仅用作标签以将具有特定名称的一个权利要求元素与具有相同名称(要不是使用序数术语)的另一元素区别开以将权利要求元素区别开。此外,本文使用的措辞和术语是出于描述的目的,并且不应被视为限制。本文中“包括”、“包含”或“具有”、“含有”、“涉及”及其变体的使用意在涵盖其后列出的项目及其等同物以及附加项目。应理解,附图中的相同数字在几幅图中表示相同的元件,并且并非所有实施例或布置都需要参考附图描述和说明的所有部件和/或步骤。The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that, when used in this specification, the terms “comprising” and/or “including” specify the presence of the stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It should be noted that the use of ordinal terms such as “first,” “second,” “third,” etc., to modify a claim element itself in the claims does not imply any priority, precedence, or order of one claim element relative to another, or the chronological order of actions of the method of execution, but is merely used as labels to distinguish one claim element having a particular name from another element having the same name (or, if not, using ordinal terms). Furthermore, the wording and terminology used herein are for descriptive purposes and should not be considered limiting. The use of “comprising,” “including,” or “having,” “containing,” “involving,” and variations thereof herein is intended to cover the items listed thereafter and their equivalents, as well as additional items. It should be understood that the same numbers in the accompanying drawings represent the same elements in several figures, and not all embodiments or arrangements require reference to all parts and/or steps described and illustrated in the accompanying drawings.
因此,所公开的系统和方法的示例性实施例和布置提供了用于使用运动传感器数据进行用户认证的计算机实现的方法、计算机系统和计算机程序产品。附图中的流程图和框图说明了根据各种实施例和布置的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示模块、片段或代码的一部分,其包括用于实施(一个或多个)指定逻辑功能的一个或多个可执行指令。还应注意,在一些替代实施方式中,框中标注的功能可以不按附图中标注的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,具体取决于所涉及的功能。还将注意,框图和/或流程图说明的每个框及框图和/或流程图说明中的框的组合可以由执行指定功能或动作的基于硬件的专用系统实施,或由专用硬件和计算机指令的组合实施。Therefore, exemplary embodiments and arrangements of the disclosed systems and methods provide computer-implemented methods, computer systems, and computer program products for user authentication using motion sensor data. The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of the systems, methods, and computer program products according to various embodiments and arrangements. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code, including one or more executable instructions for implementing one or more specified logical functions. It should also be noted that in some alternative embodiments, the functions marked in the blocks may occur in a non-linear order as indicated in the drawings. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions involved. It will also be noted that each block illustrated in the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts, may be implemented by a hardware-based dedicated system performing the specified function or action, or by a combination of dedicated hardware and computer instructions.
上述主题仅以说明的方式提供并且不应被解释为限制性的。可以对本文描述的主题进行各种修改和改变,而不遵循说明和描述的示例实施例和应用,并且没有脱离在所附权利要求中阐述的本发明的真实精神和范围。The foregoing subject matter is provided by way of illustration only and should not be construed as limiting. Various modifications and changes may be made to the subject matter described herein without following the exemplary embodiments and applications described and without departing from the true spirit and scope of the invention as set forth in the appended claims.
Claims (17)
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 (en) | 2023-05-12 |
| HK40081046B true HK40081046B (en) | 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 (en) | System and method for disentangling user, action, and device specific features recorded in motion sensor data - Patents.com | |
| EP3254232B1 (en) | Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices | |
| KR101997371B1 (en) | Identity authentication method and apparatus, terminal and server | |
| US20160057138A1 (en) | System and method for determining liveness | |
| KR101242390B1 (en) | Method, apparatus and computer-readable recording medium for identifying user | |
| CN112639809A (en) | User adaptation for biometric authentication | |
| Li et al. | CNN-based continuous authentication on smartphones with conditional Wasserstein generative adversarial network | |
| KR102401170B1 (en) | Method and device for complex authentication | |
| 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 (en) | The safety storage of fingerprint coherent element | |
| 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 (en) | Systems and methods for distinguishing user, action, and device-specific characteristics recorded in motion sensor data | |
| HK40081046B (en) | System and method for disentangling features specific to users, actions and devices recorded in motion sensor data | |
| HK40081499B (en) | System and method for disentangling features specific to users, actions and devices recorded in motion sensor data | |
| HK40081499A (en) | System and method for disentangling features specific to users, actions and devices recorded in motion sensor data | |
| HK40081046A (en) | System and method for disentangling features specific to users, actions and devices recorded in motion sensor data | |
| US20250247241A1 (en) | Authentication based on makeup application technique | |
| Tambay | Testing fuzzy extractors for face biometrics: generating deep datasets |