User verification method, system, and program
A global verification model using behavioral embedding on mobile devices addresses inefficiencies in user verification by projecting user-specific data into a shared space, enhancing cybersecurity through continuous identity verification and reducing resource consumption.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-09
- Publication Date
- 2026-03-04
AI Technical Summary
Current user verification methods on mobile devices are inefficient in preventing credential theft and hijacking during sessions, and building user-specific models lead to memory overload and resource consumption issues.
A global verification model is trained using behavioral embedding that projects user-specific interaction data into a shared feature space, allowing continuous verification without individual user models, reducing resource consumption and facilitating model maintenance.
The global model effectively verifies user identities throughout sessions, reducing resource consumption and improving cybersecurity by adapting to various users while preserving individual behavioral patterns.
Smart Images

Figure 0007824012000001 
Figure 0007824012000002 
Figure 0007824012000003
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to the field of cybersecurity, and more particularly to user verification on mobile devices. [Background technology]
[0002] Most of today's sensitive systems, such as bank accounts and social media accounts, can be accessed via mobile devices. Authentication methods typically used by sensitive systems include passwords (with or without second-factor authentication), fingerprints, and one-time passwords. Currently, these methods are not yet able to effectively prevent credential theft. Furthermore, authenticated sessions can be hijacked through cookie theft, man-in-the-middle (MitM) attacks, social engineering, and other methods. Furthermore, once a user is authenticated, most authentication mechanisms cannot continuously verify the user's identity throughout the session, which may prevent attacks from occurring after the initial authentication. A user verification system based on mobile interactions could enable the user's identity to be verified throughout the session, preventing credential theft. Summary of the Invention
[0003] The present disclosure recognizes drawbacks and problems associated with user verification on mobile devices. Specifically, problems associated with current user verification approaches that require building one model per user within the system can cause memory overload and create problems associated with debugging, updating, and analyzing many different verification models in parallel. Accordingly, embodiments of the present disclosure provide methods and systems for user verification on mobile devices that do not require building one model per user. This is achieved by using an embedded system that can be implemented with a mobile behavioral verification method that has the benefits of a single model-for-all approach.
[0004]
[0009] The shortcomings of the prior art are overcome and additional advantages are provided by providing a computer-implemented method for user verification on a mobile device, the method including: receiving, by one or more processors, interaction data associated with a user of an application running on the mobile device, the interaction data generated during an interactive session between the user and the application on the mobile device; extracting, by the one or more processors, a plurality of features from the interaction data; generating, by the one or more processors, one or more feature vectors; aggregating, by the one or more processors, the plurality of features into the one or more feature vectors; embedding, by the one or more processors, the plurality of features within each feature vector; projecting, by the one or more processors, the plurality of embedded features into a global feature space by comparing a history of interactive sessions associated with the user with a plurality of different users to generate a global training dataset; and generating, by the one or more processors, a validation model as a global binary classification model using the global training dataset.
[0005] Another embodiment of the present disclosure provides a computer program product for user verification in a mobile device based on the above-described method.
[0006] Another embodiment of the present disclosure provides a computer system for user verification in a mobile device based on the above-described method.
[0007] The following detailed description, given by way of example and not limitation of the present invention, is best understood in conjunction with the accompanying drawings, in which: [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram illustrating a networked computer environment according to one embodiment of the present disclosure. [Figure 2A] FIG. 1 illustrates components of a behavioral embedding system for user verification on a mobile device, according to one embodiment of the present disclosure. [Figure 2B] FIG. 1 illustrates the conversion of user touch data into an embedded dataset for training a global validation model, according to one embodiment of the present disclosure. [Figure 3] 1 is a flowchart illustrating steps of a computer-implemented method for user verification using behavioral embedding, according to one embodiment of the present disclosure. [Figure 4] FIG. 1 is a block diagram of internal and external components of a computer system according to one embodiment of the present disclosure. [Figure 5] FIG. 1 is a block diagram of an exemplary cloud computing environment, according to one embodiment of the present disclosure. [Figure 6] FIG. 6 is a block diagram of functional layers of the exemplary cloud computing environment of FIG. 5, in accordance with one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0009] The drawings are not necessarily to scale. The drawings are merely schematic and are not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention. In the drawings, like numbering represents like elements.
[0010] Although detailed embodiments of the claimed structures and methods are disclosed herein, it will be understood that the disclosed embodiments are merely exemplary of the claimed structures and methods, which may be embodied in various forms. The present invention may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. The description may omit details of well-known features and techniques so as not to unnecessarily obscure the presented embodiments.
[0011] In one example, interaction histories, such as behavioral biometrics, provide a way to verify or profile users while they interact with electronic systems. Specifically, behavioral biometrics can help continuously verify a user's identity based on their interaction patterns with a mobile device during a session with an application running on the mobile device. Most behavioral biometric technologies for mobile devices build a model of each user based on data obtained from various sensors available on the mobile device, such as touchscreen interaction sensors and motion sensors. From this data, meaningful features can be extracted to learn and model the user's behavior. Exemplary features include average speed, maximum acceleration, total distance traveled, or pressure standard deviation, or a combination thereof. These features are then used to generate a model for each user to model their specific patterns. However, implementing personalized behavioral biometric models in large-scale real-time systems can result in excessive memory consumption, processing utilization, and storage and execution time delays.
[0012] Previous global models could be used in behavioral biometrics, for example, to distinguish between humans and bots, but could not be used for user verification. Global models have many advantages, and it would be desirable to train a global model to continuously verify a specific user based on data from multiple different users. By performing this verification, systems based on behavioral biometrics can utilize models with limited memory consumption and storage.
[0013] However, behavioral data for user verification varies greatly from user to user. Therefore, using a global verification model that fits behavioral data from many different users may ignore important individual characteristics related to a particular user's behavior. Note that the term "behavioral data" refers to data corresponding to the history of touch-based or motion-based interactions performed by a user on a mobile device that can be used to model the user's touch patterns.
[0014] Therefore, embodiments of the present invention provide methods, systems, and computer program products for continuously verifying users of mobile devices using touch-based behavioral embedding. The exemplary embodiments described below provide, among other things, systems, methods, and computer program products for extracting user-specific interaction data from touch sensors on a mobile device, embedding the user-specific interaction data into a feature vector, and generating a model for user verification based on the embedded feature vector containing user-specific interaction data from the user's history. Embodiments of the present disclosure add a preprocessing step (i.e., behavioral embedding) to the traditional model-building process (i.e., data collection, feature extraction, model training, and model testing), where interaction data is embedded so that it can be used to train a global classification model to verify specific users, including users not necessarily seen before. Once the embedded dataset is generated, any statistical, machine learning, or deep learning model can be trained as a binary classification model.
[0015] Therefore, this embodiment has the potential to improve the field of cybersecurity by deriving a cost-effective semi-global verification model for continuous user verification that preserves the individual behavioral patterns associated with each user without training and maintaining a user-based model. This can significantly reduce resource consumption and facilitate model maintenance, evaluation, debugging, and monitoring. Furthermore, the proposed verification model can work not only for the users on which the model was trained, but also for any users in the system (i.e., users in the training dataset or new users).
[0016] Referring now to Figure 1, an exemplary networked computing environment 100 is shown in accordance with one embodiment of the present disclosure. Figure 1 is provided merely as an illustration of one embodiment and is not intended to suggest any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by one skilled in the art without departing from the scope of the present invention as defined in the claims.
[0017] The networked computing environment 100 may include a client computer 102 and a communications network 110. The client computer 102 may include a processor 104 capable of executing a behavioral embedding program 108 and a data storage device 106. The client computer 102 may be, for example, a mobile device, a smartphone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, or any type of mobile computing device capable of accessing a network.
[0018] The networked computing environment 100 may also include a server computer 114 having a processor 118 capable of executing the software program 112, and a data storage device 120. In some embodiments, the server computer 114 may be a resource management server, a web server, or any other electronic device capable of sending and receiving data over the communications network 110. In other embodiments, the server computer 114 may represent a server computing system that utilizes multiple computers as server systems, such as in a cloud computing environment. Note that in some embodiments, the behavioral embedding process performed by the behavioral embedding program 108 may be implemented on the server computer 114. In other embodiments, the behavioral embedding process performed by the behavioral embedding program 108 may be implemented on the client computer 102. Note also that most (raw) data collection occurs on the client computer 102.
[0019] A behavioral embedding program 108 running on a client computer 102 may communicate with a software program 112 running on a server computer 114 via a communications network 110. As described with reference to FIG. 4, the client computer 102 and the server computer 114 may include internal and external components.
[0020] The networked computing environment 100 may include multiple client computers 102 and server computers 114, only one of which is shown. The communications network 110 may include various types of communications networks according to embodiments of the present disclosure, such as a local area network (LAN), a wide area network (WAN) such as the Internet, a public switched telephone network (PSTN), a cellular or mobile data network (e.g., wireless Internet provided by third or fourth generation cellular mobile communications), a private branch exchange (PBX), any combination thereof, or any combination of connections and protocols supporting communications between the client computers 102 and the server computers 114. The communications network 110 may include wired, wireless, or fiber optic connections. As known to those skilled in the art, the networked computing environment 100 may include additional computing devices, servers, or other devices not shown.
[0021] For components, operations, or structures described herein as a single instance, multiple instances may be provided. Boundaries between various components, operations, and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are contemplated and may fall within the scope of the invention. In general, structures and functions presented as separate components in illustrative configurations may be implemented as combined structures or components. Similarly, structures and functions presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements may fall within the scope of the invention.
[0022] 2A, components of a system 200 for user verification on a mobile device based on interaction history are illustrated, according to one embodiment of the present disclosure. As shown, the system 200 includes a data collection module 220, a feature extraction module 230, a database 250 that stores historical sessions 260 associated with one or more users, a behavior embedding module 240, and a model generation module 270.
[0023] According to one embodiment, the data collection module 220 collects data from the mobile device 210. The data collected by the data collection module 220 relates to a user (not shown) of the mobile device 210. More specifically, the data collection module 220 extracts interaction data from a touch sensor on the mobile device 210, where the interaction data relates to actions, gestures, or touch events performed by the user during an interactive session with an application running on the mobile device 210. In this embodiment, the touch events include, for example, swipe actions or press / push / click actions performed by the user on the mobile device 210. For each recorded touch event, the data collection module 220 extracts at least one of time-stamped raw X, Y coordinates, the size of the user's finger, and the pressure applied by the user's finger on the mobile device 210.
[0024] It should be noted that data collection from mobile device 210 is done with the user's consent, for example, using opt-in and opt-out features. Additionally, the user may choose to stop the collection or use of their information. In some embodiments, the user may be notified each time data is collected. It is assumed that the collected data is protected and will not be shared with anyone without prior consent. For purposes of illustration only, and not intended to be limiting, only one mobile device 210 is illustrated. It will be understood that system 200 may receive data from any number of mobile devices associated with one or more users.
[0025] After collecting user touch interaction data from the mobile device 210, the feature extraction module 230 analyzes the collected interaction data and defines features to be extracted. In one embodiment, the features extracted from the collected interaction data include, for example, swipe direction, gradient, Euclidean distance, average velocity, maximum acceleration, curvature, and similar features. Note that the extracted features are specific to the user of the mobile device 210, as they relate to the user's touch behavior during an interactive session with the mobile device 210. According to one embodiment, for each touch event (e.g., swipe or press), the feature extraction module 230 constructs a feature vector using methods well known in the art.
[0026] The feature vector is then fed to the behavior embedding module 240, which uses an embedding layer to embed user-specific features within the feature vector and project the embedded features into a global feature space (i.e., a global dataset). According to one embodiment, the embedding process is performed in two steps during the training phase:
[0027] In a first step, the behavior embedding module 240 crosses each user session with the user's own past sessions 260. The behavior embedding module 240 projects this data into a new global feature space with positive labels. More specifically, the behavior embedding module 240 compares the user's current session on the mobile device 210 with the user's corresponding past sessions 260 for each extracted user-specific feature to create a user-specific dataset that can be used, along with other user-specific datasets, to train a model or to verify the identity of a particular user.
[0028] In the second step, the behavioral embedding module 240 intersects the data from each user session 260 with sessions of other (different) users. This data is then projected into a new global feature space with negative labels that can be used to indicate atypical activity. For each session, a feature vector can be extracted and transformed into the new global feature space using the current session compared to past sessions 260 associated with other (different) users.
[0029] According to one embodiment, to generate positive data for the global training set, n sessions [s1, s2, ..., s n ], s j ∈R D User u with i where D is the dimension of the feature vector and [s1,s2,...,s n ] are sorted by creation date. First, we intersect the different sessions with all the behavioral sessions in the user's history. For example, s j is [s1,s2,...,s j-1 ] and s for past sessions 260 j The statistical features of, for example, s j The features of [s1,s2,...,sj-1 ], converted to percentiles relative to past values in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
[0030] Similarly, the behavior embedding module 240 generates negative data for the global training set. Specifically, given a set of users X, the behavior of user x in X is i For each, a random subset K of users is selected (|K|<|X|), and another user x in K m For each user x i The session from is an impostor session, and the past session 260 is a session from another user x m The above steps for constructing negative data are applied as sessions corresponding to X. This process generates K imposter feature vectors for each user in X, for a total of |X|*|K| negative feature vectors. By performing the above steps, user-specific data can be embedded within the feature vectors generated by feature extraction module 230.
[0031] FIG. 2B illustrates the process of creating the dataset described above. In this illustration, three different users (User 1, User 2, and User 3) are identified by the behavioral embedding module 240, and each of the three different users (User 1, User 2, and User 3) is associated with four sessions. Two positive feature vectors (indicated by dashed arrows) are constructed: s14 is constructed for its previous three feature vectors, and s33 is constructed for its previous two feature vectors. Two negative sessions (indicated by continuous arrows) are also constructed: User 1's s14 is selected as the imposter session for User 2, and User 2's s23 is selected as the second imposter session for User 3. Therefore, s14 and s23 are embedded in statistical features (e.g., percentiles) calculated for the other users' data. Note that any number of users can be used to create a dataset for behavioral embedding. For illustrative purposes only and without limitation, three users were selected in the described example.
[0032] The embedding process described above embeds user-specific interactive features into the user history, which the model generation module 270 can use to train a global model as a binary classification model. The global validation model may include, for example, a statistical model, a machine learning model, or a deep learning model. According to one embodiment, the global validation model can train itself to distinguish between a user's own activity (benign) and a user's other users' activity (impostor).
[0033] In some embodiments, the global verification model can be divided into a finite (small) number of models based on common user characteristics. For example, touch events can be divided into two categories: swipe events and click events. Because these two categories can have different feature distributions, the above steps can be applied to two different semi-global models: one global verification model for clicks and another global verification model for swipes. Note that in some embodiments, there can be differences between iOS and Android devices. Thus, in such embodiments, the above steps can be applied to create a global verification model for iOS devices and another global verification model for Android devices.
[0034] According to another embodiment, a clustering method can be used to split the global validation model into several models. Specifically, a clustering technique (e.g., k-means, DBSCAN, etc.) can be used to cluster users in the system into k groups based on their behavioral characteristics. After clustering the users into k clusters, k global models can be constructed, i.e., one global model for each cluster of users in the system. In this embodiment, for example, a total of k semi-global models can be used for the entire dataset. However, even with the split, the number of models remains fixed and is much less than the number of users. The semi-global models can include any statistical, machine learning, or deep learning model, including random forests, gradient boosting, SVM, etc.
[0035] Thus, in this embodiment, after embedding the behavioral data and training each of the semi-global models, the trained semi-global models can be used as follows: When a user enters the application, the data collection module 220 begins collecting interaction data. This data, along with the user's historical data (i.e., past sessions 260) stored in the database 250, is sent to the semi-global model (or related semi-global models, if there are multiple). The raw data can then be passed through the feature extraction module 230 and the behavior embedding module 240. The final preprocessing step is to calculate statistical features relating the user's current session to their past sessions 260. The output of this process can be a feature vector that is fed into the trained semi-global model. The semi-global model generates a score or prediction that correlates with the probability that the tested data is benign or fake, allowing the service provider to restrict or ban the user.
[0036] Referring now to FIG. 3, a flowchart 300 illustrating steps of a computer-implemented method for behavioral embedding is shown, according to one embodiment of the present disclosure.
[0037] The method begins at step 302 by receiving interaction data associated with a user of an application running on a mobile device, such as mobile device 210 of FIG. 2A. The interaction data is generated during an interactive session between the user and the application on the mobile device. According to one embodiment, the interaction data includes a plurality of touch events corresponding to swipes and presses performed by the user on the mobile device. For each of the plurality of touch events, at least one of time-stamped raw X, Y coordinates, a size of the user's finger, and a pressure applied by the user's finger on the mobile device is extracted.
[0038] In step 304, a plurality of features are extracted from the interaction data. According to one embodiment, exemplary features of the plurality of features extracted from the interaction data include swipe direction, gradient, Euclidean distance, average velocity, maximum acceleration, and curvature. In step 306, one or more feature vectors are generated, and the plurality of features are aggregated into one or more feature vectors.
[0039] The method proceeds to step 308 by embedding a plurality of features into each feature vector and projecting the embedded plurality of features into a global feature space by comparing a history of interactive sessions associated with the user with a history of interactive sessions associated with a plurality of different users to generate a global training dataset. As described above with reference to FIG. 2A, in a first step, the behavioral embedding process includes comparing interaction data associated with the user's interactive session with a database of past sessions associated with the user and projecting the interaction data associated with the user's interactive session into the global feature space with positive labels. In a second step, the behavioral embedding process includes comparing interaction data associated with the user's interactive session with a database of past sessions associated with a plurality of different users and projecting data from each interactive session associated with the user, along with the database of past sessions associated with a plurality of different users, into the global feature space with negative labels. In some embodiments, additional aggregation calculations can be performed on the global feature space to generate a transformed feature space.
[0040] The generated global training dataset is used to generate a validation model as a global (user-independent) binary classification model in step 310. Finally, in step 312, the trained validation model can be used to continuously validate the identity of one or more users of the application.
[0041] In some embodiments, the verification model can be split into a finite number of models based on additional system-related characteristics. Exemplary system-related characteristics that can be used to split the verification models include common behavioral biometric features, operating system, screen dpi, screen height, etc. In general, any metadata can be used to split the verification system. In other embodiments, the verification model can be split into multiple verification models by using clustering techniques to cluster multiple users into k clusters based on behavioral characteristics and building a verification model for each of the k clusters. In other embodiments, the split can be based on device type (e.g., iOS / Android or press / swipe).
[0042] Therefore, the proposed embodiments provide a method, system, and computer program product for embedding user-specific data derived from touch events into feature vectors that can be used to train a verification model. The verification model is constructed as a one-class, binary, or multi-class classification model that is adaptable to large-scale real-time systems and can support millions of users daily while preserving individual user behaviors and characteristics. Furthermore, the proposed embodiments introduce an embedding layer that can be integrated into existing learning pipelines to embed user-based data into a global dataset, which can then be used to build a global model for mobile continuous verification using behavioral biometric data. A global model is constructed based on the projected data, which can verify the identities of many users from within and across data.
[0043] Referring now to Figure 4, a block diagram of client computer 102 and server computer 114 components of networked computing environment 100 of Figure 1 is shown in accordance with one embodiment of the present disclosure. It should be understood that Figure 4 is merely an illustration of one implementation and is not intended to suggest any limitations with regard to the environment in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
[0044] The client computer 102 and the server computer 114 may include one or more processors 402, one or more computer-readable RAMs 404, one or more computer-readable ROMs 406, one or more computer-readable storage media 408, device drivers 412, read / write drives or interfaces 414, and network adapters or interfaces 416, all interconnected through a communications fabric 418. The communications fabric 418 may be implemented with any architecture designed to pass data and / or control information between processors (e.g., microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components in the system.
[0045] One or more operating systems 410 and one or more application programs 411 are stored in one or more computer-readable storage media 408 for execution by one or more of the processors 402 through one or more of the respective RAMs 404 (which typically include cache memory). In the illustrated embodiment, each of the computer-readable storage media 408 may be an internal hard drive magnetic disk storage device, a CD-ROM, a DVD, a Memory Stick®, a magnetic tape, a magnetic disk, an optical disk, a semiconductor storage device such as a RAM, a ROM, an EPROM, a flash memory, or any other computer-readable tangible storage device capable of storing computer programs and digital information.
[0046] The client computer 102 and the server computer 114 may also include a R / W drive or interface 414 for reading from and writing to one or more portable computer-readable storage media 426. Application programs 411 on the client computer 102 and the server computer 114 may be stored on one or more of the portable computer-readable storage media 426, read via the respective R / W drive or interface 414, and loaded into the respective computer-readable storage media 408.
[0047] The client computer 102 and the server computer 114 may also include a network adapter or interface 416, such as a TCP / IP adapter card or a wireless communication adapter (such as a 4G wireless communication adapter using OFDMA technology), for connection to a network 428. Application programs 411 on the client computer 102 and the server computer 114 may be downloaded to the computing devices from an external computer or external storage device via a network (e.g., the Internet, a local area network, or other wide area network or wireless network) and the network adapter or interface 416. The programs may be loaded from the network adapter or interface 416 into the computer-readable storage medium 408. The network may include copper wire, optical fiber, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof.
[0048] The client computer 102 and the server computer 114 may also include a display screen 420, a keyboard or keypad 422, and a computer mouse or touchpad 424. The device driver 412 interfaces to the display screen 420 for imaging, to the keyboard or keypad 422, to the computer mouse or touchpad 424, or to the display screen 420 for alphanumeric entry and pressure sensing of user selections, or a combination thereof. The device driver 412, the R / W drive or interface 414, and the network adapter or interface 416 may include hardware and software (stored in the computer-readable storage medium 408 or the ROM 406, or both).
[0049] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that implementation of the teachings recited herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be implemented in conjunction with any other type of computing environment now known or later developed.
[0050] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with a service provider. The cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0051] The features are as follows:
[0052] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed, without requiring human interaction with the provider of the service.
[0053] Broad Network Access: Capabilities are available over the network and are accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0054] Resource Pooling: Pooling a provider's computing resources to serve multiple consumers using a multi-tenant model where various physical and virtual resources are dynamically allocated and reallocated according to demand. The consumer generally has no control over or knowledge of the exact location of the resources provided, although there is a sense of location independence in that the location may be identifiable at a higher level of abstraction (e.g., country, state, or data center).
[0055] Rapid Elasticity: Capacity can be rapidly and elastically provisioned, sometimes automatically, to quickly scale out and rapidly release to quickly scale in. To the consumer, provisionable capacity often appears unlimited and can be purchased in any quantity at any time.
[0056] Metered Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, managed, and reported to provide transparency to both providers and consumers of utilized services.
[0057] The service model is as follows:
[0058] Software as a Service (SaaS): The consumer is offered the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application features, with the possible exception of limited user-specific application configuration settings.
[0059] Platform as a Service (PaaS): The ability offered to consumers is to deploy applications they create or acquire, written using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the application hosting environment configuration.
[0060] Infrastructure as a Service (IaaS): The ability offered to consumers is to provision processing, storage, network, and other basic computing resources onto which they can deploy and run any software, which can include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they do have control over the operating systems, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).
[0061] The deployment model is as follows:
[0062] Private Cloud: Cloud infrastructure is operated exclusively for an organization. It is managed by the organization or a third party and can reside on-premise or off-premise.
[0063] Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community with common concerns (e.g., mission, security requirements, policies, and compliance considerations). It may be managed by the organization or a third party and may reside on-premise or off-premise.
[0064] Public Cloud: Cloud infrastructure is made available to the general public or large industry groups and is owned by an organization that sells cloud services.
[0065] Hybrid Cloud: A cloud infrastructure is a composite of two or more clouds (private, community, or public) that remain unique entities but are joined by standardized or proprietary technologies that allow for data and application portability (e.g., cloud bursting for load balancing between clouds).
[0066] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0067] Referring now to FIG. 5, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10, with which local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or mobile phone 54A, a desktop computer 54B, a laptop computer 54C, or an automotive computer system 54N, or combinations thereof, may communicate. The nodes 10 may communicate with each other. They may be grouped physically or virtually in one or more networks (not shown), such as, for example, the private cloud, community cloud, public cloud, or hybrid cloud described above, or combinations thereof. This enables the cloud computing environment 50 to provide infrastructure-as-a-service, platform-as-a-service, or software-as-a-service, or combinations thereof, without requiring cloud consumers to maintain resources on their local computing devices. It should be understood that the types of computing devices 54A-N shown in FIG. 5 are intended to be exemplary only, and that computing node 10 and cloud computing environment 50 can communicate with any type of computerized device over any type of network and / or network-addressable connection (e.g., using a web browser).
[0068] Referring now to Figure 6, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 5) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 6 are intended to be exemplary only, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0069] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes 61, RISC (reduced instruction set computer) architecture-based servers 62, servers 63, blade servers 64, storage devices 65, and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0070] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.
[0071] In one example, the management layer 80 may provide the following functions: Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and accounting or billing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 provides allocation and management of cloud computing resources so that requested service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides advance arrangement and procurement of cloud computing resources anticipated for future requests according to SLAs.
[0072] The workload layer 90 provides examples of functionality for which cloud computing environments are utilized. Examples of workloads and functions provided from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instruction delivery 93, data analytics processing 94, transaction processing 95, and a system for user verification using behavioral embedding 96.
[0073] The programs described herein are identified based on the applications in which they are implemented in particular embodiments of the invention. However, it should be understood that any specific program names herein are used for convenience only and therefore should not limit the invention to use in any particular application identified and / or implied by such names.
[0074] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of code, including one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order depicted. For example, depending on the functionality involved, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may possibly be executed in the reverse order. It should also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, can be implemented by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.
[0075] The present invention may be a system, method, or computer program product, or combination thereof, integrated at any possible level of technical detail. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to carry out aspects of the present invention.
[0076] A computer-readable storage medium may be any tangible device capable of retaining and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick®, floppy® disk, mechanically encoded devices such as punch cards or grooved ridge structures having instructions recorded thereon, and any suitable combination thereof. Computer-readable storage medium, as used herein, should not be construed as a transitory signal per se, such as, for example, radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through fiber optic cable), or electrical signals transmitted over wires.
[0077] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, fiber optic transmission cables, wireless transmission cables, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.
[0078] Computer-readable program instructions for carrying out the operations of the present invention may be source or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, C++, and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the last scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing state information of the computer readable program instructions to execute the computer readable program instructions to perform aspects of the present invention.
[0079] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0080] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to create a machine, where the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may be stored on a computer-readable storage medium and capable of directing a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored comprises an article of manufacture containing instructions for performing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0081] The computer-readable program instructions may be loaded into a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to create a computer-implemented process, such that the instructions, which execute on the computer, other programmable apparatus, or other device, perform the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams.
[0082] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order depicted. For example, depending on the functionality involved, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may possibly be executed in the reverse order. It will also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, can be implemented by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.
[0083] Although steps of the disclosed methods and components of the disclosed systems and environments are identified sequentially or consecutively using numbers and letters, such numbering or lettering does not indicate that such steps must be performed in the order listed, but is merely provided to facilitate clear reference to the method steps. Additionally, steps of the present methods may be performed in parallel to perform their described functions.
[0084] The description of various embodiments of the present invention has been presented for purposes of illustration and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terms used herein are chosen to best explain the principles of the embodiments, practical applications, or technical improvements over commercially available technologies, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. A user verification method using computer information processing, comprising: In a computing environment that may include a mobile device and a server computer connected via a communications network, receiving, by one or more processors included in the mobile device and / or the server computer, interaction data related to a user of an application running on the mobile device, the interaction data being generated during an interactive session between the user and the application on the mobile device; extracting, by the one or more processors, a plurality of features from the interaction data; generating, by the one or more processors, one or more feature vectors; aggregating, by the one or more processors, the plurality of features into the one or more feature vectors; embedding, by the one or more processors, the plurality of features into each feature vector; and projecting the embedded plurality of features into a global feature space by comparing a history of interactive sessions associated with the user with a history of interactive sessions associated with a plurality of different users to generate a global training dataset. generating, by the one or more processors, a validation model as a global binary classification model using the global training dataset; A method comprising:
2. and subsequently, by the one or more processors, verifying the identity of one or more users using the verification model. The method of claim 1 further comprising:
3. Embedding the plurality of features into each feature vector includes: comparing, by the one or more processors, the interaction data associated with the interactive session of the user with a database of past interactive sessions associated with the user; projecting, by the one or more processors, the interaction data associated with the interactive session of the user into the global feature space with positive labels; The method of claim 1 further comprising:
4. Embedding the plurality of features within each feature vector further comprises: comparing, by the one or more processors, the interaction data associated with the interactive session of the user with a database of past interactive sessions associated with the plurality of different users; projecting, by the one or more processors, data from each interactive session associated with the user, along with the database of past sessions associated with the plurality of different users, with negative labels, into the global feature space, wherein additional aggregation calculations may be performed on the global feature space to generate a transformed feature space; The method of claim 3 further comprising:
5. The method of claim 1 , wherein the interaction data comprises a plurality of touch events comprising at least one of a swipe and a press action performed by the user on the mobile device.
6. Receiving the interaction data includes extracting, by the one or more processors, for each of the plurality of touch events, at least one of time-stamped raw X, Y coordinates, a size of the user's finger, and pressure applied by the user's finger on the mobile device. The method of claim 5 further comprising:
7. The method of claim 1 , wherein the plurality of features extracted from the interaction data includes swipe direction, gradient, Euclidean distance, average velocity, maximum acceleration, and curvature.
8. and dividing the validation model into a finite number of models based on additional system-related characteristics after generating the validation model by the one or more processors. The method of claim 1 further comprising:
9. After generating the verification model, dividing the verification model into a plurality of semi-global verification models by the one or more processors, Clustering the plurality of users into k clusters based on behavioral characteristics using a clustering technique; building a semi-global validation model for each of the k clusters; The dividing is carried out by The method of claim 1 further comprising:
10. 1. A computer system for user verification, comprising: A computer system including a mobile device and / or a server computer connected to said mobile device via a communications network, said computer system including one or more processors provided on said mobile device and / or said server computer, one or more computer-readable memories, one or more computer-readable tangible storage devices, and program instructions stored in at least one of said one or more storage devices for execution by at least one of said one or more processors via at least one of said one or more memories, said computer system being capable of executing a method, said method comprising: receiving, by one or more processors, interaction data associated with a user of an application running on a mobile device, the interaction data generated during an interactive session between the user and the application on the mobile device; extracting, by the one or more processors, a plurality of features from the interaction data; generating, by the one or more processors, one or more feature vectors; aggregating, by the one or more processors, the plurality of features into the one or more feature vectors; embedding, by the one or more processors, the plurality of features into each feature vector; and projecting the embedded plurality of features into a global feature space by comparing a history of interactive sessions associated with the user with a history of interactive sessions associated with a plurality of different users to generate a global training dataset. generating, by the one or more processors, a validation model as a global binary classification model using the global training dataset; 1. A computer system comprising:
11. and subsequently generating the verification model, by the one or more processors, continuously verifying the identity of one or more users using the trained verification model.
11. The computer system of claim 10, further comprising:
12. Embedding the plurality of features into each feature vector includes: comparing, by the one or more processors, the interaction data associated with the interactive session of the user with a database of past interactive sessions associated with the user; projecting, by the one or more processors, the interaction data associated with the interactive session of the user into the global feature space with positive labels; 11. The computer system of claim 10, further comprising:
13. Embedding the plurality of features within each feature vector further comprises: comparing, by the one or more processors, the interaction data associated with the interactive session of the user with a database of past interactive sessions associated with the plurality of different users; projecting, by the one or more processors, data from each interactive session associated with the user, along with the database of past sessions associated with the plurality of different users, with negative labels, into the global feature space, wherein additional aggregation calculations may be performed on the global feature space to generate a transformed feature space; 13. The computer system of claim 12, further comprising:
14. The computer system of claim 10 , wherein the interaction data comprises a plurality of touch events comprising at least one of a swipe and a press action performed by the user on the mobile device.
15. Receiving the interaction data includes extracting, by the one or more processors, for each of the plurality of touch events, at least one of time-stamped raw X, Y coordinates, a size of the user's finger, and pressure applied by the user's finger on the mobile device.
15. The computer system of claim 14, further comprising:
16. The computer system of claim 10 , wherein the plurality of features extracted from the interaction data include swipe direction, gradient, Euclidean distance, average velocity, maximum acceleration, and curvature.
17. and dividing the validation model into a finite number of models based on additional system-related characteristics after generating the validation model by the one or more processors.
11. The computer system of claim 10, further comprising:
18. After generating the verification model, dividing the verification model into a plurality of semi-global verification models by the one or more processors, Clustering the plurality of users into k clusters based on behavioral characteristics using a clustering technique; building a semi-global validation model for each of the k clusters; The dividing is carried out by 11. The computer system of claim 10, further comprising:
19. 1. A computer program product for user verification, comprising: one or more computer-readable storage media; and program instructions collectively stored on the one or more computer-readable storage media, the program instructions comprising: program instructions, by one or more processors included in a mobile device and / or a server computer, for receiving interaction data associated with a user of an application running on a mobile device, the interaction data being generated during an interactive session between the user and the application on the mobile device; program instructions for extracting, by the one or more processors, a plurality of features from the interaction data; program instructions for generating, by the one or more processors, one or more feature vectors; program instructions for aggregating, by the one or more processors, the plurality of features into the one or more feature vectors; program instructions for embedding, by the one or more processors, the plurality of features into each feature vector; and projecting the plurality of embedded features into a global feature space by comparing a history of interactive sessions associated with the user with a history of interactive sessions associated with a plurality of different users to generate a global training dataset; program instructions for generating, by the one or more processors, a validation model as a global binary classification model using the global training dataset; 1. A computer program product comprising:
20. program instructions for continuously verifying, by the one or more processors, the identity of one or more users using the trained verification model; 20. The computer program product of claim 19, further comprising:
Citation Information
Patent Citations
Information processing apparatus, authentication system, authentication method and program
JP2019008369A
Seamless driver authentication using an in-vehicle camera in conjunction with a trusted mobile computing device - Patent Application 20070122999
JP2021531521A
Authentication of a user based on analyzing touch interactions with a device
US20200275271A1
User identity authentication techniques for on-line content or access
WO2015179428A1