• No se han encontrado resultados

The goal of the MFA experiment described in this section is to test the viability of utilizing finger distinction (differentiating a user’s fingers when interacting with a touch screen) to enhance user authentication on mobile devices. Our design relies on detecting the anthro-pometric differences between a user’s fingers in order to classify individual fingers. To measure these differences, we rely on the size and pressure sensors built into the touch-screens of mobile devices. We then design an experiment to test if the differences in the size between fingers is sufficient to differentiate them. In this subsection, we first list the challenges of performing finger differentiation learned in preliminary testings. Then we describe the design of the experiment used to test the viability of our approach.

Figure 4.6: A touch with the tip of the finger

Figure 4.7: A touch with only part of the finger pad

Figure 4.8: A touch with the finger pad

4.2.2.1 Preliminary Observations

Before running a full scale study, several small preliminary tests were conducted with very small groups of participants to identify challenges and shortcomings in the approach. Our preliminary findings reveal several aspects of user behaviors that make finger identification difficult, and identify the criteria necessary to achieve accurate finger differentiation given current hardware. The tests were performed by having a user perform touches on the screen of an Android device. The values of pressure and size were observed by using getevent with adb and the android developer tool that displays the values on a screen overlay. We run these tests iteratively to refine the process with each iteration. No formal results from these tests are recorded in this dissertation.

The problem in user behavior revealed by the preliminary tests is that users will natu-rally touch a touchscreen with the tip of their fingers using the smallest amount of pressure and lasting the shortest time possible. This approach is an efficient way to navigate through the interface of a touchscreen device since each touch is fast and requires little effort. When users were performing simple touches, such as opening an app or pressing a button, the observed force values were very low (bellow 1) and the size values for each finger were very similar. However, when users performed long touches, such as holding their fingers on the screen to bring up a menu or highlight text to copy, the touch pressure was much higher (above 2) and the relation of size to pressure showed observable patterns that varied between fingers. The patterns were particularly distinct for the thumb and pinkie fingers when compared to the other three fingers.

The preference of users for using the tip of their finger also posed a problem for per-forming finger distinction, since the tip is the smallest part of a finger. Users display such a behavior likely because it is the best way to assure that they do not accidentally press more than one UI element on the screen. The result of this behavior is that most of the

fingers appear to have a similar size with the exception of the thumb, and even the relative size of thumbs varied between participants. When the touches were performed with the flat part of a finger that contains the fingerprint, i.e. the pad, this problem was less evident.

The differences in size of fingers were observable more consistently, although this result still varied between users.

4.2.2.2 App Design

To test the viability of utilizing finger distinction for security enhancement in real systems, we design a formal experiment using an app that reads the values of pressure and size of presses on a touchscreen. The experiment captures touch events using the Android API since the capture methods used in the preliminary testing are neither accessible by apps nor have their output configured. The app presents the user with numbered buttons to press in numerical order, and displays the pressed digits on the screen similar to a PIN loging screen. In order to prevent the problem where users did not press on the screen with enough pressure to distinguish fingers, a pressure threshold was set for each button.

The app does not consider the button to have been pressed successfully unless the pressure threshold is exceeded and discards all button presses where the pressure remains bellow the threshold. Preliminary testing showed that the threshold values that were too low (such as 0.2) resulted in inaccurate results so that fingers cannot be distinguished, but the pressure values that were too high (such as 0.3) were too difficult for many users to reach consistently. The value of 0.27 was chosen because our tests revealed it was high enough for the differences in the size and pressure patterns to be observable, but low enough that users can still reach the required pressure without much difficulty.

For the input gathering mechanism, five horizontal digit buttons are arranged vertically down the screen. The digit buttons are numbered 1 to 5 in consecutive order, and “OK”

and “clear” buttons are placed underneath the digit buttons. Each digit button is placed as high as possible while still allowing the other elements to fit on the screen without a scroll bar, and is made wide enough to extend completely across the screen horizontally.

The digit buttons were sized this way for two reasons. First, they were made higher than usual so that users would not accidentally touch multiple buttons at the same time and would be more likely to use their full finger pads, instead of the finger tips. Second, each button extended from one side of the screen to the other horizontally because it is easier to touch with the pad of a finger at the edge of the screen than in the middle of the screen.

Moreover, extending the button all the way to the edge of the screen allows it to be touched with the pad of a finger and prevents the rest of the finger from touching the screen by accident and triggering unwanted touch events. The number of buttons was limited to 5 because, for this experiment, only the viability of distinguishing fingers was tested. We do not test the interactions between our methods and full authentication systems since these systems can make it difficult to control those variables that can affect the results. With this in mind, one button per finger is shown to the participants to reduce their confusion as to which button they should touch with which finger.

When a touch event is detected for one of the digit buttons, the system records the pressure, the size, and the timestamp for the event. The system tracks the highest pressure value recorded for the duration of the touch event, and compares it to the threshold once the event has completed. If the maximum recorded pressure was higher than the threshold, all the recorded pressure and size values are labeled with the digit button that produced them and the buffer is cleared. If the maximum value of pressure does not exceed the threshold, the buffer is cleared discarding all the recorded data points as if the digit had never been pressed.

Seven features are extracted from the recorded data. These seven features include:

• Average pressure: this feature is the mean of all the pressure values recorded during a touch event.

• Average size: this feature is the mean of all the size values recorded during a touch event.

• Size at threshold: this feature represents the value of the size of the touch event recorded at the lowest of the pressure values that are greater than or equal to the threshold.

• Minimum pressure at maximum size: this feature is the lowest pressure value associated with the largest size value recorded during a touch event.

• Minimum pressure at maximum size ratio: This feature is calculated by finding the minimum pressure associated with the maximum size value recorded during a touch event and then dividing the pressure value by the size value.

• Ratio of averages: this feature is calculated by dividing the average pressure by the average size.

• Average of ratios: this feature is calculated by first dividing the recorded pressure by the recorded size for each data point. Then the mean of the ratios is computed.

These features are used to train and test several machine learning classifiers to per-form the finger differentiation. A detailed description of this process can be found in the evaluation section of this chapter.

4.3 Implementation

This section describes how the TTP prototype and the MFA data gathering app were implemented.

Documento similar