Patent Description:
Today's life without Internet and online services is not imaginable. Web based services have taken an important role in the daily routine of many people. Therefore the number of websites and online services is growing daily. However, in consequence the number of Internet threats and fraud is equally growing. One particular danger in the online world are so-called robots. Robots are computer programs which try to pose themselves as humans. A well-known example of a robot is a program which creates a free email account for commercial or malicious activities such as SPAM-email. Such a robot may create hundreds or thousands of email accounts within a very short time, e.g. one hour.

While the misuse of a fake email account may be annoying to the email service provider and the recipient of the SPAM-email, this robot activity is one of the smaller threats. Robots may also disturb online polling processes, or block online shops, or perform so-called denial of service attacks on government or military servers.

CAPTCHAs have been developed to tell humans and robots apart. CAPTCHA technology provides a computer program that protects against robots by generating and grading tests that humans can pass but current computer programs cannot, see literature <NUM>. One example for a CAPTCHA task is a distorted text that humans are able to read; however, computers are currently unable to decipher.

The following CAPTCHAs are known to the skilled person: text based CAPTCHA, graphic based CAPTCHA, audio based CAPTCHA, game based CAPTCHA, video based CAPTCHA, advertise based CAPTCHA. Reference is made to literature <NUM> to <NUM> providing for the examples of CAPTCHA tests.

Millions of CAPTCHAs are solved by people every day. reCAPTCHA makes positive use of this human effort by channeling the time spent solving CAPTCHAs into digitizing text, annotating images, and building machine learning datasets. This in turn helps to preserve books, to improve maps, and to solve hard AI problems, see literature <NUM> to <NUM>.

In other words, current CAPTCHA programs present a task, which cannot be solved by a robot. However, virtually any task can be solved by a computer. Therefore, it is necessary that finding the solution is economically not interesting for the robot operator, from a perspective of computational effort.

<CIT> relates to a method for identifying a user of a mobile device having an acceleration sensing unit, comprises: predefining a pattern of a movement of the mobile device wherein pattern signals comprising pattern acceleration signals sensed by the acceleration sensing unit are recorded during regular physical activities of the user of the mobile device together with the mobile device; obtaining data based on ongoing signals comprising ongoing acceleration signals sensed by the acceleration sensing unit; comparing the obtained data with the predefined pattern; and initiating a security function if the obtained data does not correspond to the predefined pattern. The method allows for increasing security of data and of service access on mobile devices based on analysis of movement data captured by the mobile device. The method allows for on-line, implicit and continues protection of data and service access without burden of involving active attention of the user. On one hand, analysis physical movement data captured by the mobile device can indicate unexpected events which can lead to having the phone being lost, stolen or the like. On the other hand, analysis of physical movement data during the user's regular physical activities such as walking or the like can additionally allow for authenticating/identifying the user. The method can be an implicit authentication technique, i.e. it does not involve active attention of the user, and it is performed continuously as the user is regularly using or carrying the mobile device. Physical movement data is captured by the acceleration sensing unit such as accelerometer sensors commonly embedded in modem mobile devices, see also literature <NUM>.

<CIT> relates to a computing device processor configured with processor-executable instructions to implement methods of using behavioral analysis and machine learning techniques to identify, prevent, correct, or otherwise respond to malicious or performance-degrading behaviors of the computing device.

However, while it appears reasonable to extensively collect user data in a device to provide security services on said device, the method is not suitable for a CAPTCHA since the recorded data is a security risk, especially if transmitted to a third party for passing a CAPTCHA test.

<CIT> relates to methods of using behavioral analysis and machine learning techniques to identify, prevent, correct, or otherwise respond to malicious or performance-degrading behaviors of the computing device.

<CIT> relates to a method and a system for evaluating identification of a user based on behavioral patterns and time patterns, including an analysis component for analyzing data; an authentication component for authenticating the analyzed data; and a behavioral biometric device for collecting behavioral biometric data related to the user.

<CIT> relates to a system and a method for establishing user identities through continuously monitoring input device usage.

<CIT> relates to a system and method for distinguishing human input events from malware- generated events based on obtaining a first set of input events from a user utilizing the input device. The first input events are used to obtain or derive a feature indicative of the user, such as a multi-dimensional feature vector as provided by a support vector machine. Second input events are then obtained, and the second input events are classified against the feature to determine if either the user or malware initiated the second input events.

<NPL>; relates to extensions to the Kerberos authentication which allow systems to test whether or not they are interacting with a real person, optionally disregarding their identity.

Therefore it is an object of the present invention to provide an improved CAPTCHA test, which may not be dissolved by current and/or future computer technology and does not present a security risk.

This object is achieved by the features of the subject-matter of the independent claims. The dependent claims relate to further aspects of the invention. Any references in the following description to embodiments, objects, aspects and/or examples which are not covered by the appended claims are considered as not being part of the present invention.

The invention focuses on a CAPTCHA based on an analysis of a user behavior rather than presenting a test. The inventive concept is to record user behavior data and building a behavioral vector relating to the use data, which enables application behavior request processor unit to distinguish between a robot and a human. The use data may comprise sensor data, such as accelerometer data or, Gyro data, GPS data, and/or magnetometer data. The use data may also comprise application related data such as frequently opened applications, frequently used grammar in text messages or email, and/or any pattern of use from a browser or other computer program. A use pattern may comprise the number of interactions per predetermined time, the number of input, and/or other data relating to the use behavior of a computer program. Furthermore, the behavioral data may also comprise information about the outgoing or incoming connections, in particular the data connections of the mobile device.

Based on the statistics of the above behavioral data, a characteristic user behavioral vector is generated. By evaluating said vector the CAPTCHA-system can distinguish between a human and a robot. The CAPTCHA-system may also be able to detect whether the mobile device is operated by the owner or it is used by some other user and may be stolen. At the same time the vector merely contains statistical data on the user behavior and does not allow reconstructing any specific and/or critical user related data.

While some use data such as the data used in <CIT> is sufficient to identify a specific user, other data is not specific enough to distinguish between different users. The invention, however, builds on the fact that this data may still be used to distinguish between a human and a robot.

Mobile devices in general and smart phones and tablets in particular are equipped with many different sensors and advanced operation systems, e.g. Android, iOS and Windows. According to the invention many types of use data is recorded in order to build up a history based on user's behavior.

Already most of applications such as sport, running, cycling, health and climbing applications record the history of use data, e.g. a number of taken steps, to suggest a personal exercise plan. But also other applications already record the use data. In other words, every user has a history of his behavior on his mobile device. This data is already collected and saved on the mobile devices. The invention utilizes that information to distinguish between a human and a robot.

The CAPTCHA-system according to the invention is based on pattern recognition in the use data. A data analyzer unit searches for any patterns in the use data that relates to a user dependent behavior. The data analyzer unit extracts features from the use data to recognize characteristic patterns and merges the patterns to build up a user behavioral vector. This vector allows for distinguishing between human and robot and for preventing the access of a robot to a service. It may also prevent unauthorized users from access.

In one embodiment pattern recognition is performed on data relating to body movements of the user. Recorded data from an accelerometer and a GPS could be used, since the data itself comprises characteristic patterns, if the device is being used by a human and not merely operated by a software or a robot.

In case that the history of the mobile device is hacked, the system may compare the most recent data from a predetermined time period, e. last behavior of the past <NUM> minutes, with at least one other period from the history. Known methods of anomaly detection may be used to recognize any unusual activity the recent data to identify, whether or not the device is hacked by a robot or malware.

In one embodiment a pattern recognition is performed on data relating to the application use data. Every user has a specific behavior in terms of a number of times and a type of applications the user opens on the device as well as the time the user spends using a specific application per day or in specific period of time. This data is recorded by the data collector unit according to the invention. The data analyzer unit analyses this data with a pattern recognition algorithm to find the normal user behavior.

In one embodiment the use data of a navigation app may be used. The data regarding touch inputs, GPS tracking, and/or typical navigation destinations may be used to distinguish between a human and a robot.

In one embodiment the use data of a social-network app may be used. The data regarding frequently visited profiles and/or number, content and frequency of posts may be used to distinguish between a human and a robot.

To distinguish between a human and a robot the behavior request processor according to the invention receives the most recent data from a predetermined period, e.g. of the last <NUM> minutes, from a database in the device and compares it with the normal user's behavior patterns to find out whether there is an anomaly or not.

In one embodiment pattern recognition is performed on data relating to written SMS and messages. The data analyzer unit searches for a pattern among the written messages. The algorithm in the system finds the grammar rules and/or vocabulary domain which are frequently employed by a user in order to write a message and builds up a pattern upon this data.

Suitable and preferred algorithms for the statistical analysis of the use data of step a) are based on a Decision Tree, fast Fourier transform, a neural network, support vector machines, and/or a multi-layer perceptron.

<FIG> shows one embodiment of the invention. On a mobile device data <NUM> is, preferably continuously, recorded by a plurality of sensors. The data is collected by a data collection unit <NUM> of the system. The data is then analyzed in a data analyzer unit <NUM>. The data analyzer unit <NUM> searches for patterns in the collected data. Pattern recognition algorithms may be used by the data analyzer unit <NUM>. Characteristic patterns are identified and merged to build a user behavioral vector.

The analyzed data, i.e. the behavioral vector, is then saved in a database <NUM>. In case the device <NUM> requests an information from a third party, in particular a web service <NUM>, the web service may request information whether or not the user of the device <NUM> is a human or a robot, i.e. requesting a CAPTCHA. Therefore the web service <NUM> contacts the behavior request processor <NUM> of the system to receive a CAPTCHA response message.

The behavior request processor <NUM> retrieves the behavioral vector from the database. The behavior vector from a predetermined time may be requested. The predetermined time is preferably between <NUM> to <NUM> minutes. Based on a comparison with either a model and/or with at least one further behavioral vector from the database <NUM>, the behavior request processor <NUM> distinguishes between a human or a robot and sends the corresponding CAPTCHA response message to the web service <NUM>.

In one embodiment of the invention the behavior request processor <NUM> may be formed in the device. Preferably, the behavior request processor may be formed in a protected portion of the operating a system.

In one embodiment of the invention the behavior request processor <NUM> may be formed in a cloud service. Since the data stored in the database <NUM> does not allow for identification of a specific human being, i.e. a user, the data is not security sensitive and may even be transmitted by or unsecured connections. However, it is preferred to transmit data is in the system by or secure connections.

<FIG> shows data patterns of use data according to the invention. The shown patterns S1 to S6 correspond to accelerometer readings over a certain time for <NUM> different activities. Even without the use a sophisticated algorithm a profile difference between different activities is obvious.

However, according to the invention within each sample time frame S1 to S6 the data analyzer unit searches for characteristic patterns which are typical for use by a human, regardless of the actual profile of a specific activity.

The data in S1 relates to running; the data in S2 relates to resting during typing for <NUM> minute; the data in S3 relates to holding a mobile phone in a hand while looking at the display; the data in S4 relates to walking; the data in S5 relates to typing on a keyboard; and S6 relates to calling with a mobile phone holding it near to an ear.

The system searches for a pattern in each one of the above signals. For instance, the signal relating to running S1 has more peaks than the signal of typing on the keyboard S5. Amplitude and the time between the peaks in S1 are the factors to understand the speed and the amount of pressure on the feet when the user is running. These together indicates that the user runs and also teaches specifics about the way of the user's running.

The system analyzes the above signals for a period of time and deducts that the user is typing, running, relaxing or sitting and based on the recognized patterns determines whether or not the way of, e.g., running is the running style of a human user. Through this process, a human user would be approved and a fake and/or other user would be reject.

The invention provides at least the following advantages:
First, the CAPTCHA-system according to the invention provides a high security. CAPTCHAs like image recognition, game or puzzle or moving image CAPTCHAs can eventually be hacked by current advanced artificial intelligence algorithms.

Second, the CAPTCHA-system according to the invention is fast and user friendly than other methods, because the CAPTCHA doesn't present a user with a task to solve. In other words, there is no effort required from the users to pass the CAPTCHA. Instead the CAPTCHA uses the saved history of use data, looks for an anomaly, takes the most recent data and decides whether or not to send approval message in case of normal activity or a reject message in case of a hacked device or a robot.

Third, the CAPTCHA allows for a plausibility check of last recent user behavior with their own history is the best method to recognize whether the phone is hacked by software or a robot.

It will be understood that changes and modifications may be made by those of ordinary skill within the scope of the following claims. In particular, the present invention covers further embodiments with any combination of features from different embodiments described above and below.

Furthermore, in the claims the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single unit may fulfil the functions of several features recited in the claims. The terms "essentially", "about", "approximately" and the like in connection with an attribute or a value particularly also define exactly the attribute or exactly the value, respectively.

Claim 1:
Method to distinguish between a human and a robot as a user of a mobile smart device, comprising the following steps:
a) continuously collecting and temporarily storing use data from at least one sensor of the mobile smart device and/or at least one application running on the mobile smart device;
b) building a current user behavior vector based on a statistical analysis of the use data in a predetermined time frame, and storing the current user behavior vector in a database (<NUM>) on the mobile smart device; and
c) receiving, at a behavior request processor unit (<NUM>) formed in a cloud service, a CAPTCHA request, from a web service (<NUM>) in response to an information request from the mobile smart device;
d) at the behavior request processor (<NUM>), retrieving the current user behavior vector from the database (<NUM>);
e) at the behavior request processor (<NUM>), distinguishing a human and a robot as a user by comparing the current user behavior vector with at least one model and/or with at least one further user behavior vector from the database (<NUM>); and
at the behavior request processor (<NUM>), sending a CAPTCHA response from the behavior request processor (<NUM>) to the web service (<NUM>) based on the results of the comparing step.