Sie sind auf Seite 1von 8

8 (IJCNS) International Journal of Computer and Network Security,

Vol. 1, No. 2, November 2009

Personal Authentication based on Keystroke


Dynamics using Ant Colony Optimization and Back
Propagation Neural Network
Marcus Karnan1 and M. Akila2
1
Department of Computer Science and Engineering,
Tamilnadu College of Engineering, Coimbatore, India
karnanme@yahoo.com
2
Department of Information Technology,
Vivekanandha College of Engeneering for Women, Tiruchengode, India
akila@ nvgroup.in

Dynamic keystroke analysis implies a continuous or periodic


Abstract: The need to secure sensitive data and computer
systems from intruders, while allowing ease of access for monitoring of issued keystrokes and is intended to be
authenticate user is one of the main problems in computer performed after the log-in session also.
security. Traditionally, passwords have been the usual method There are two phases namely extraction phase and
for controlling access to computer systems but this approach has verification phase. During the feature extraction phase
many inherent flaws. Keystroke dynamics is a relatively new [4][12][13][14] user keystroke features from one’s password
method of biometric identification and provides a comparatively is captured, processed and stored in a reference file as
inexpensive and low profile method of hardening the normal prototypes for future use by system in subsequent
login and password process. Here, the Ant Colony Optimization authentication operations.
is used to reduce the redundant feature values and minimize the During the verification phase[15][16] user keystroke
search space. It reports the results of experimenting Ant Colony features are captured, processed in order to render an
Optimization technique on keystroke duration, latency and
authentication decision based on the outcome of a
digraph for feature subset selection. Back Propagation Neural
Network is used for classification and the performance is tested.
classification process of the newly presented feature to the
Optimum feature subset is obtained using keystroke digraph pre-stored prototypes (reference templates) [17][18]. It would
values when compared with the other two feature values. be necessary for the user to type his/her name or password a
number of times in order for the system to be able to extract
Keywords: Ant Colony Optimization Algorithm (ACO), the relevant features that uniquely represent the user.
Backpropagation Algorithm, False Acceptance Rate, Feature
However, the task of typing one’s name or password over
Extraction, Feature Subset Selection, False Rejection Rate.
and over is both tiring and tedious in the feature extraction
phase, which could lead users to alter their normal typing
1. Introduction pattern. Thus, most systems based on biometrics are required
Access to computer systems is usually controlled by user to work with a summarized set of information from which to
accounts with usernames and passwords. Such scheme has extract knowledge. In order to reduce this problem, we could
little security [1][2] if the information falls to wrong hands. eliminate some features of the original dataset, selecting only
Key cards or biometric systems [3][4][5][6], for example the best ones in terms of class cohesion.
fingerprints [7] is being used nowadays to improve the
security. Biometric methods measure biological and Feature subset selection [9][19][20] is applied to high
physiological characteristics to uniquely identify dimensional data prior to classification. Feature subset
individuals. The main drawback of most biometric methods selection is essentially an optimization problem, which
is that they are expensive to implement, because most of involves searching the space of possible features to identify
them require specialized hardware to strengthen security. one that is optimum or near-optimal with respect to certain
But they require quite expensive additional hardware. On performance measures, since the aim is to obtain any subset
the other hand keystroke dynamics [8] consist of many that minimizes a particular measure (classification error
advantages like (i) It can be used without any additional [21], for instance). In order to reduce the complexity and to
hardware. (ii) Inexpensive (iii) Hardening the security. increase the performance of the classifier the redundant and
irrelevant features are reduced from the original feature set.
Keystroke dynamics include several different Many feature subset selection [22] [23] approaches are
measurements[9][10][11] such as (i) Duration of a keystroke proposed in the previous studies.
or key hold time (ii) Latency of keystrokes or inter-keystroke Relevant research results of past decades are detailed in
times (iii) Typing error (iv) Force keystrokes etc. Keystroke this section. Yu and Cho [24] propose a GA-SVM based
analysis [12] is of two kinds static and dynamic. Static wrapper approach for feature subset selection in which GA is
keystroke analysis essentially means that the analysis is employed to implement a randomized search and SVM, an
performed on typing samples produced using the same excellent novelty detector with fast learning speed, is
predetermined text for all the individuals under observation. employed as a base learner. The degree of diversity and
(IJCNS) International Journal of Computer and Network Security, 9
Vol. 1, No. 2, November 2009

quality are guaranteed, and thus they gave result in an Standard deviation (σi) = (1/N-1)Σ|x[i]-µ[i]| i=1..N (2)
improved model performance and stability. Ki-seok Sung and For instance, for the password “ANT” the timing
Sungzoon Cho [25] propose one step approach similar to that information of duration for user x is [205, 250, 235] ms. Fig
of Genetic Ensemble Feature Selection (GEFS), yet with a 1 shows the measurement of duration, latency and digraph
more direct diversity term in the fitness function and SVM of keystrokes of the password “ANT” of user x.
as base classifier and similar to that of Yu and Cho [24]. In
particular, so called "uniqueness" term is used in a fitness 3. Feature Subset Selection
function, measuring how unique each classifier is from others
in terms of the features used. To adapt SVM authors use 100 samples are typed by user for 100 number of times
Gaussian kernel. GA was used to filter the data and to carry during feature extraction. During the verification phase, it
out a selection of characteristics. It reports an average FAR of takes more time to verify all the 100 number of features. To
15.78% with minimum FAR of 5.3% and maximum FAR of reduce this time complexity we are using feature subset
20.38% for raw data with noise. Gabriel et al [26] designed a selection methods. In feature subset selection, we extract the
hybrid system based on Support Vector Machines (SVM) and optimized features from the 100 number of features. It is
Stochastic Optimization Techniques. Standard Genetic essentially an optimization problem, which involves
Algorithm (GA) and Particle Swarm Optimization (PSO) searching the space of possible features to identify one that
variation was used and produced a good result for the tasks of is optimum. Various ways to perform feature subset
feature selection. Standard GA and PSO variation was used selection has been studied earlier [4][24][25][26] for various
and produced a good result for the tasks of feature selection applications. Here, we propose Ant Colony Optimization to
and personal identification with an FAR of 0.81% and IPR of select the feature subset.
0.76%. Glaucya et al [4] used weighted probability measure 3.1 Ant Colony Optimization
by selecting N features of the features vector with the minors Ant algorithms [30][31][32] was first proposed by Dorigo
of standard deviation, eliminating the features less and colleagues as a multi-agent approach to difficult
significant. They obtained optimum result using 90% of the combinatorial optimization problems such as the Traveling
features with 3.83% FRR and 0% FAR. Salesman Problem (TSP) and the Quadratic Assignment
In Section II, the feature extraction phase is discussed. Problem (QAP). There are currently various activities in the
Section III explains the feature subset selection method. scientific community to extend and apply ant-based
Section IV discusses the classification techniques and in algorithms to many different discrete optimization
Section V conclusion is presented. problems. The ACO heuristic [31][33][34] has been inspired
by the observation on real ant colony’s foraging behavior,
2. Feature Extraction and on that ants can often find the shortest path between
To capture a keystroke, it is necessary for users to type their food source and their nest. Ant individuals transmit
password 100 number of times. The 100 samples were got in information through the volatile chemical substances which
a week period. The system capture these features using three ants leave in his passing path and also known as the
methods regarding the time (in milliseconds) that a “pheromone” and then reach the purpose of finding the best
particular user maintains the key pressed (Duration time) way to search food sources. An ant encountering a
and the time elapsed between releasing one key and previously laid trail can detect the dense of pheromone trail.
pressing the next (latency time) and the combination of the It decides with high probability to follow a shortest path and
above, Digraph. The data was collected from 27 participants reinforce that trail with its own pheromone. The large
with different passwords. The mean and standard deviation amount of pheromone is on the particular path, the large
values were measured. probability is that an ant selects that path and the paths
pheromone trail will become denser. The Ant Colony
Optimization algorithm is explained as follows:
Step 1. Get the feature values a[x] from duration / latency
/ digraph of keystrokes.
Step 2. Calculate the fitness function f[x] by the following
equation for every a[x].
f[x] = 1 / (1+a[x]) (3)

Figure 1. Measurement of duration, latency and Initialize the following


digraph a. NI = 100 (Number of iterations)
Keystroke recording application software was developed in b. NA = 20 (Number of Ants)
C# for the measurement of duration, latency and digraph of c. T0 = 0.001 (Initial pheromone value for
each user sample in the raw data file. Upon pressing submit, every a[x])
a raw-data text file is generated. During the creation of the d. ρ = 0.9 (rate of pheromone evaporation
raw data file, the mean (µ) and standard deviation () parameter for every a[x])
[27][28][29] of each feature (i) of the pattern set (x) is Step 3. Store the fitness function values in S, where
calculated for N samples in agreement with the following S = {F[x], T0, flag}
equations: where flag column mentions whether the feature
is selected by the ant or not.
Mean (µ i) = (1/N)Σx[i] i=1..N (1) Step 4. The following is repeated for NI times
10 (IJCNS) International Journal of Computer and Network Security,
Vol. 1, No. 2, November 2009

i. A random feature value g[x] in a[x]is 1) The input layers propagate a particular input value
selected for each ant with the criteria that the component to each node in the Hidden layer.
particular feature value should not have been 2) Hidden layers compute output values which become
selected previously. inputs to the output layer.
ii. Selected feature value’s, pheromone value is 3) The output layers compute the network output for
updated by the following: the particular input values.
Tnew = (1-r) x Told + r x T0, for g[x] The forward pass produces an output vector for a given
Where Tnew and Told are the new and input vector based on the current state of the network
old pheromone value of the feature value. weights.
iii. Find Obtain Lmin = min(g[x]) where Lmin is Since the network weights are initialized to random
the Local minimum values, it is unlikely that reasonable outputs will result
iv. Check if Lmin < = Gmin before training.
then assign Gmin = Lmin The weights are adjusted to reduce the error by
else no change in Gmin value where Gmin propagating the output error backwards through the
is the Global minimum. network.
v. Select the best feature g[y], whose solution is This process is where the backpropagation neural
equal to the Global minimum value at the end network gets its name and is known as the backward pass:
of the last iteration. 1) Compute error values from the output layer. This
vi. The selected g[y]’s pheromone value is can be computed because the desired output is
globally updated by the following equation known.
Tnew = (1-a) x Told + a x ∆Told, for g[y] 2) Compute the error for the hidden layer nodes. This
where α is a rate of pheromone is done by attributing a portion of the error at each
evaporation parameter, output layer node to the middle layer nodes which
∆= 1 / (Gmin) feed that output node. The amount of error due to
The remaining ants their pheromone is each middle layer node depends on the size of the
updated as: weight assigned to the connection between the two
Tnew = (1-a) x Told nodes.
vii. Finally, the Gmin value is stored as optimum 3) Adjust the weight values to improve network
value. performance.
At last, the ant colony collectively marks the shortest 4) Compute overall error to test network performance.
path, which has the largest pheromone amount. Such simple The training set is repeatedly presented to the network
indirect communication way among ants embodies actually and the weight values are adjusted until the overall error is
a kind of collective learning mechanism which is used in below a predetermined tolerance.
our experiment. The Back Propagation algorithm [42][43] can be
implemented in two different modes: online mode and batch
4. Classification using Back Propagation mode. In the online mode the error function is calculated
Neural Network after the presentation of each input timing vector and the
error signal is propagated back through the network,
Neural Networks are simplified models of the biological modifying the weights before the presentation of the next
nervous system, which is a computing, performed like a timing vector. This error function is usually the Mean
human brain. A Neural network [35] has a parallel Square Error (MSE) of the difference between the desired
distributed architecture with a large number of nodes and and the actual responses of the network over all the output
connections. Each connection points from one node to units.
another are associated with weights. The backpropagation Then the new weights remain fixed and a new timing
neural network is a network of simple processing elements vector is presented to the network and this process continues
working together to produce a complex output. [The back until all the timing vectors have been presented to the
propagation paradigm[36] has been tested in various network. The presentation of all the timing vectors is
applications such as bond rating, mortgage application usually called one epoch or a single iteration. In practice
evaluation, protein structure determination, signal many epochs are needed before the error becomes acceptably
processing and handwritten digit recognition small. In the batch mode the error signal is calculated for
[37][38][39][40]. It can learn difficult patterns such as those each input timing vector and the weights are modified every
found in typing style, and can recognize these patterns even time the input timing vector is been presented. Then the
if they are variations of the ones it initially learned. The error function is calculated as the sum of the individual
backpropagation neural network uses a training set MSE for each timing vector and the weights are
composed of input vectors and a desired output (here the accordingly modified (all in a single step for all the timing
desired output is usually a vector instead of a single value. vectors) before the next iteration.
These elements or nodes are arranged into layers: input, In the forward pass, outputs are computed and in the
hidden, and output. backward pass weights are updated or corrected based on the
The output from a backpropagation neural network is errors. The development of the Back Propagation algorithm
computed using a procedure known as the forward pass is a landmark in neural networks in that it provides a
[41]: computationally efficient method for the training of multi-
(IJCNS) International Journal of Computer and Network Security, 11
Vol. 1, No. 2, November 2009

layer perceptron. The general procedure of back propagation 5.1 Results of ACO
algorithm is as follows:
From 100 samples, fifty best fitted values were selected to
Initially, the inputs and outputs of the feature subset
reproduce best new fit population. Partial experimental
selection algorithms are normalized with respect to their
results of ACO are shown in Table 1.
maximum values.
For instance the mean and standard deviation timing of
Step 1: ACO feature subset selection algorithm values
the password “COMPUTER" is computed initially in the
are considered as input.
feature extraction phase. The feature subset from the feature
Step 2: These feature values are normalized between 0
subset selection phase using ACO is computed as follows:
and 1 and assigned to input neurons.
Step 3: Wih and Who Represents the weights to the link of
input nodes to hidden nodes connection, hidden
Step 1: Calculation of Fitness value for Duration:
nodes to output nodes respectively. Initial
Mean (µ i) = (1/N) Σ i =1N x (i) = 1.349375= x (i)
weights are assigned randomly between -0.5 to
Fitness value f (i) =1 / 1 + x (i) = 1/1+1.349375 = 0.425645
0.5.
Step 4: Input to hidden neuron (Ii) is multiplied with
Step 2: Calculation of Local Minimum for Duration:
weight wih.
Initially the fitness value f(x) is directly assigned as Local
Step 5: The output from each hidden neuron (Oh) is
Minimum (Lmin) for the first value (say f [1]). Then the
calculated using sigmoid function
next fitness value f (x) (say f [2]) is compared with f (1).
S1 = 1 / (1 + e-λx) (4)
The minimum is found and is replaced with the Local
where λ =1 & x = ΣwihIi, wih is the weight
minimum value.
assigned between input and hidden layer
For mean let f [1] = 0.425645
and Ii is the input value to the input neurons.
Assign f [1] = Lmin = 0.425645
Step 6: The input to the output layer (Io) is multiplied by
The next value let f [2] = 0.416898
weight who with output of hidden Oh.
Check whether f [1] less then or equal to the value a [2].
Step 7: The output from the output layer (Oo) is
If the condition is true, assign Lmin =f [1].
calculated using the sigmoid function,
Otherwise, Lmin= f [2]
S2 = 1 / (1 + e-λx) (5)
Here, in this sample, as (0.425645<=0.416898)
where λ =1 & x = ΣwhoOh where who is the
Lmin = 0.416898
weight assigned i between hidden and output
layer and
Step 3: Calculation of Local Pheromone Update for
Oh is the output value from hidden neurons.
Duration:
Step 8: Error (e) is found using subtracting S2 from the Tnew = (1–ρ) x Told + ρ x T0, where Tnew = new pheromone
desired output. Using the error (e) value, the weight rate, where Told = old pheromone rate, T0 = Initial
change is calculated as: pheromone value. Initially, Told = 0.001 and T0 = 0.001.
Delta = e x S2 x (1 – S2) (6) For mean, first Local pheromone is updated as
Step 9: Weights are updated using the delta value. Tnew = (1- 0.9) x 0.001 + 0.9 x 0.001 = 0.1 x 0.001 + 0.0009
Who = Who + (n x delta x S1) = 0.00100
Wih = Wih + (n x delta x Ii) (7) Note: Told value change due to the previous Tnew value i.e.
where n is the learning rate and I is the input Told = 0.00100.
value.
Step 10: Perform steps (5) to (9) with the updated weights,
Step 4: Calculation of Global minimum for Duration:
till the target output is equal to the desired output. Global minimum (Gmin) is assigned as Lmin value initially
Then check the error (e) value and update the
(i.e. Lmin = Gmin). Next the value in the Gmin is compared
weights. After several iterations, when the with Lmin, to find the minimum amongst them.
difference between the calculated output and the For mean, Lmin = 0.416898
desired output is less then the threshold value, the Initially, Gmin = Lmin. Therefore Gmin = 0.416898
iteration is stopped in the above algorithm. For next feature value, condition should be satisfied for
Gmin i.e. (Gmin <= Lmin). So, Gmin = 0.416898

5. Results and Discussion Step 5: Calculation of Global pheromone Update for


Mean and standard deviation of duration, latency and Duration:
digraph for each sample is measured. Ant Colony algorithm The selected Gmin pheromone value is updated as follows:
is used for selecting the optimum feature for each participant Tnew = (1 – ρ) x Told + ρ x ∆Told,
and the selected features are considered for classification. ρ=rate of pheromone evaporation parameter, ∆=1/ (Gmin)
For mean, Global pheromone is updated as
Tnew = (1–0.9) x 0.001+0.9 x (1/0.74167690) x 0.001
= (0.0001) + (0.9 x 2.39866 x 0.001) = 0.002259
12 (IJCNS) International Journal of Computer and Network Security,
Vol. 1, No. 2, November 2009

Table 1: Feature subset selection using ACO


Mean (Gmin) Standard Deviation (Gmin)
Duration Latency Digraph Duration Latency Digraph
x(µ) F(µ) x(µ) F(µ) x(µ) F(µ) x(σ) F(σ) x(σ) F(σ) x(σ) F(σ)
1.570 0.389 1.618 0.381 2.925 0.254 0.348 0.741 0.383 0.722 0.723 0.580
0 1 7 9 0 8 2 7 2 9 8 1
1.398 0.416 1.597 0.385 2.773 0.265 0.344 0.743 0.360 0.735 0.709 0.585
7 9 0 0 0 0 5 7 3 1 4 0
1.356 0.424 1.583 0.387 2.562 0.280 0.336 0.748 0.322 0.756 0.675 0.596
6 3 2 1 3 7 3 3 7 0 4 8
1.349 0.425 1.382 0.419 2.531 0.283 0.329 0.752 0.295 0.772 0.654 0.604
3 7 8 7 9 1 7 0 0 2 4 4
1.347 0.426 1.273 0.439 2.526 0.283 0.348 0.741 0.292 0.773 0.568 0.637
6 0 6 8 0 6 2 7 7 6 3 6
1.322 0.430 1.266 0.441 2.502 0.285 0.316 0.759 0.284 0.778 0.590 0.628
0 7 2 2 6 5 2 8 6 5 9 6

Step 6: The remaining Ants Pheromone update for Step 4: Output of Hidden
Duration: Compute sigmoid function as
Tnew = (1 – ) x Told S1 = 1 / (1 + e-λx), where λ = 1 & x = Σi wih Oi
For mean, Global pheromone is updated as
Tnew = (1-0.9) x 0.001 = 0.1 x 0.001 = 0.0001
Similarly the values for the latency and digraph are
calculated as above. S1 = 1/(1+e-(-0.3418387+-0.1953364))
S1 = 0.3688
(a) Results of Back Propagation Neural Network (BPNN)
Step 5: Weight Between Hidden to Output
Back Propagation Neural Network seems much more Assign the weights randomly between Hidden to Output
suitable for pattern classifier because it can solve a non- Layer as Who = (0.6, -0.5)
linear problem and for its ability to classify pattern and it is
better in generalization Step 6: Input of Output Layer
Let Ii be Input of Input, Oi be Output of Input, Ih be Input Multiply the weight between Hidden and Output Layer
of Hidden, Oh be Output of Hidden, Io be Input of Output, Oi (Who) and the Output of Hidden Layer
be Output of Output. After applying the BPNN Learning the Io =S1 *Who = *(0.6) = 0.22128
following calculations are done. The partial results are
displayed in Table 2. It displays the initial input and random Step 7: Output of Output Layer
weight between input to hidden, output of hidden using Sigmoid Function of Output Layer is calculated as follows:
sigmoid function, random weight between hidden to output, Oo= 1 / (1 + e-λx), where λ = 1 & x = Σi who Oh
and the output of output layer using sigmoid function value. Oo= 1/ (1+ e-(0.350259+-0.32626)) = 0.718669
This value is compared with target output .01 and error
value is displayed. The adjusted weights between input to Step 8: Error Signal
hidden and hidden to output is also displayed. After Compute the Error Signal using Error = (To- Oo)2 where To
completing the 30th iteration using the duration, latency and is Target Output and is assigned -0.1 and Oo is Output of
digraph the threshold value is obtained from maximum to Output and is assigned as 0.459700.
minimum output within the 30 iterations. Error = (To- Oo) 2 = (0.1-0.5060)2 =0.382751

Computation of error values in Forward Pass Computation of updated weights in Backward Pass
Step 1: Input of Input Weights are adjusted to achieve the Target Output and
Mean and Standard Deviation is the Input of input and Reduce the Error Value.
output of input layers and is f (i). D=( To- Oo1)( Oo1)(1- Oo1) = (0.1-0.5060) (0.5060) (1-
For instance let the Input f (i) = (0.488341, 0.969959) 0.5060)
D = -0.10148
Step 2: Weight between Input to Hidden
Assign weights randomly between Input to Hidden layers Step 9: Output to Hidden Weight:
say, Y = S1*D
Wih = (-0.7, 0.4, -0.7, 0.6,) Y = [-0.3418387
Assume two weights for each single node. Multiply each 0.1953364] x (-0.10148)
output of input into weight that is assigned randomly. Y = [0.03468
-0.0198]
Step 3: Input of hidden [∆w] 1= [∆w]0 +η[y][Assume η=0.6]
Ih = Oi * Wih [∆w] 0= 0
Iih 1 = 0.488341*-0.7= -0.3418387 [∆w] 1= 0.6 x [0.03468
(IJCNS) International Journal of Computer and Network Security, 13
Vol. 1, No. 2, November 2009

-0.0198]
[∆w] 1 = [0.436924 [-0.3418387
0.918542] 0.1953364] x 0.01653
[∆v]1 = α [∆v]0+ η[x]
Step 10: Hidden to Input Weight:
The Adjusted weight between Hidden to Input [∆v]1 = [-0.704411
[e]=(w)(D)=(-0.7) (-0.10148) = 0.071036 0.392331
Similarly the remaining four weights are multiplied by the 0.591240
error Difference Value (D). 0.584767]
[D*]= [e][ OH][1- OH]= [0.071036][ 0.3688][1-0.3688]
= 0.01653
[x] = [S1][D*]
Table 2: Intermediate result of BPNN

Output of Adjusted Adjusted


Sigmoid Difference
nput Ii Wih Ih hidden Who Io Target Weight Weight
(Output) oo (Error rate)
(Hidden) (Woh) (Whi)
Duration
-0.7 -0.2723 -0.703482
Mean 0.3891 0.46877 0.6 0.281262 0.56118
0.4 0.15564 0.402675
0.50073 0.1 0.160586
0.6 0.44502 0.593362
SD 0.7417 0.70889 -0.5 -0.354445 -0.5388
0.6 0.44502 0.605099
Latency
-0.7 -0.29183 0.703727
Mean 0.4169 0.468773 0.6 0.2812638 0.561112
0.4 0.16676 0.402848
0.499701 0.1 0.159761
0.6 0.44622 0.593351
SD 0.7437 0.709393 -0.5 -0.3546965 -0.538888
0.6 0.44622 0.605081
Digraph
-0.7 -0.2970 -0.703791
Mean 0.4243 0.468222 0.6 0.2809332 0.561059
0.4 0.16972 0.402892
0.499448 0.1 0.159558
0.6 0.44898 0.593313
SD 0.7483 0.710530 -0.5 -0.355265 -0.538941
0.6 0.44898 0.605101

Similarly twenty five weights are calculated and old weights samples. These results suggest that digraph may in general
of Input to Hidden Layer are replaced. After training the provide a better characterization of the typing skills than
user typing pattern, the threshold values for each trained latency and duration.
user is fixed. Again the users are asked to verify by giving (a) Receiver Operating Characteristics (ROC)
the user name and password. After the verification of user ROC analysis provides tools to select possibly optimal
name and password, the typing pattern is verified through models and to discard suboptimal ones independently from
the comparison of desired output with fixed threshold value. (and prior to specifying) the cost context or the class
If the error value is less then 0.001 then the user is distribution. ROC analysis is related in a direct and natural
considered as valid user otherwise invalid user. way to cost/benefit analysis of diagnostic decision making.
The success of this approach to identify computer users Fig 2 shows the ROC curves for comparison of mean and
can be defined mainly in terms of False Rejection Rate(FRR) standard deviation (Duration, Latency and Digraph) of
and False Acceptance Rate(FAR). False Rejection Rate of a classification performance. The error rate is reduced when
verification system gives an indication of how often an the sample size is increased.
authorized individual will not be properly recognized. False
Acceptance Rate of a verification system gives an indication
of how often an authorized individual will be mistakenly
recognized and accepted by the system. False Rejection Rate
is generally more indicative of the level of a mechanism.
FAR and FRR rate is calculated using the following
equations:

FAR = FA / N * No of user’s

where FAR – False Acceptance Rate, FR – Number of


incidence for False Acceptance and N – Total number of Figure 2. Classification Error Rate using Mean
samples

FRR = FR / N * No of user’s
6. Conclusion
To conclude, we have shown that keystroke dynamics are
where FRR – False Rejection Rate, FR – Number of
rich with individual mannerisms and traits and they can be
incidence for False Rejection and N – Total number of
14 (IJCNS) International Journal of Computer and Network Security,
Vol. 1, No. 2, November 2009

used to extract features that can be used to identify computer Ong, Han Foon Neo, “Statistical Fusion Approach on
user. We have demonstrated that using duration, latency and Keystroke Dynamics”, In Proceedings of the Third
digraph timings as classification features is a very successful International IEEE Conference on Signal-Image
approach. Features are extracted from 27 users with 100 Technologies and Internet-Based System, Shanghai,
samples of each. Using the samples, the mean and standard pp. 918-923, 2007.
deviation is calculated for duration, latency and digraph. [11] Shepherd S J, “Continuous Authentication by
Subsets of features are selected using Ant Colony Analysis of keystroke typing characteristics”,
Optimization (ACO) algorithm. ACO using digraph mean European Convention on Security and Detection’,
provide the best performance comparing with duration and pp.111-114, 1995.
latency. The features are classified and tested using [12] Christopher S. Leberknight, George R. Widmeyer,
Backpropagation Algorithm Finally, it was found that using and Michael L. Recce, ”An Investigation into the
the values of digraph and back-propagation neural network efficacy of Keystroke Analysis for Perimeter Defense
algorithms has shown excellent verification accuracy. The and Facility Access”, In Proceedings of the IEEE
classification error is reduced when the number of sample is Conference on Technologies for Homeland Security,
increased. The classification error of 0.059% and accuracy pp. 345-350, 2008.
of 92.8% is reported. [13] Gaines .R, Lisowski .W, Press .S, and Shpiro.N,
“Authentication by keystroke timing: Some
References preliminary results”, Rand Report R-256-NSF. Rand
Corporation, 1980.
[1] Hu. J, Gingrich. D and Sentosa. A, “A k-Nearest [14] Young .J.R and Hammon .R.W, “Method and
neighbor approach for user authentication through apparatus for verifying an individual’s identity”, US
biometric keystroke dynamics”, In Proceedings of the Patent 6862610, U.S. Patent and Trade- mark Office,
IEEE International Conference on Communications, 1989.
pp. 1556 – 1560, 2008. [15] Bleha .S.A and Obaidat .M.S, “Dimensionality
[2] Pavaday N and Soyjaudah. K.M.S, “Investigating reduction and feature-Extraction Applications in
performance of neural networks in authentication Identifying Computer users”, IEEE Transactions on
using keystroke dynamics”, In Proceedings of the Systems Man and Cybernetics, Vol. 21, No. 2, pp.
IEEE AFRICON Conference, pp. 1 – 8, 2007. 452-456, 1991.
[3] Adrian Kapczynski, Pawel Kasprowki and Piotr [16] Daw-Tung Lin, “Computer-Access Authentication
Kuzniacki, “Modern access control based on eye with Neural Network Based Keystroke Identity
movement analysis and keystroke dynamics”, In Verification”, In Proceedings of the International
Proceedings of the International Multiconference on Conference on Neural Networks, Vol. 1, Issue
Computer Science and Information Technology, pp. 9-12, pp.174 – 178, 1997.
477-483, 2006. [17] Sylvain Hocquet, Jean-Y Ves Ramel and Hubert
[4] Gláucya C. Boechat, Jeneffer C. Ferreira and Edson Cardot, “Fusion of methods for keystroke Dynamics
C. B. Carvalho Filho, “Authentication Personal”, In Authentication”, Fourth IEEE Workshop on
Proceedings of the International Conference on Automatic Identification Advanced Technologies, pp.
Intelligent and Advanced Systems pp. 254-256, 2007. 224 – 229, 2005.
[5] Anil Jain, Ling Hong, and Sharath Pankanti, [18] Enzhe Yu and Sungzoon Cho, “Keystroke dynamics
“Biometrics Identification”, Signal Processing, identity verification–its problems and practical
Communications of the ACM, Vol. 83, Issue 12, pp. solutions”, Computers & Security, Vol. 23, pp. 428–
2539-2557, 2003. 440, 2004.
[6] Duane Blackburn, Chris Miles, Brad wing, Kim [19] Yang .J and Honavar .V, “Feature subset selection
Shepard, ”Biometrics Overview”, National Science using a Genetic algorithm”, IEEE Intelligent Systems
and Technology Council Sub-Committee on and their Applications, Vol 13, Issue 2, pp.44-49,
Biometrics, 2007. 1998.
[7] Lin Hong and Anil Jain, “Integrating Faces and [20] John G. H., Kohavi .R and Pfleger .K, “Irrelevant
Fingerprints for Personal Identification”, IEEE features and the subset selection problem”, In
Transactions on Pattern Analysis and Machine Proceedings of the Eleventh International Conference
Intelligence, Vol. 20, No. 12, pp.1295 – 1307, 1998. on Machine Learning, pp. 121-129, 1994.
[8] Fabian Monrose, Aviel D. Rubin, “Keystroke [21] Shiv Subramaniam .K.N, S. Raj Bharath and S.
dynamics as a biometric for authentication”, Future Ravinder, “Improved Authentication Mechanism
Generation Computer Systems, Vol. 16, Issue 4, pp. using Keystroke Analysis”, In Proceedings of the
351-359, 2000. International Conference on Information and
[9] Gabriel. L. F. B. G. Azevedo, George D. C. Communication Technology, Vol. 7-.9, pp. 258-261,
Cavalcanti and E. C. B. Carvalho Filho, “Hybrid 2007.
Solution for the Feature Selection in Personal [22] Surendra K. Singhi and Huan Liu, “Feature Subset
Identification Problems through Keystroke Selection Bias for Classification Learning”, In
Dynamics”, In Proceedings of the International Joint Proceedings of the 23rd International Conference on
Conference on. Neural Networks, pp.1947-1952, Machine Learning, pp. 849-856, 2006.
2007. [23] Karnan M, Thangavel K, Sivakumar R and Geetha
[10] Pin Shen Teh, Andrew Beng Jin Teoh, Thian Song
(IJCNS) International Journal of Computer and Network Security, 15
Vol. 1, No. 2, November 2009

K, “Ant Colony Optimization for Feature selection Cybernetics, Vol.24, pp. 806-813, 1994.
and Classification of Microcalcifications in Digital [36] Rumelhart .D, Hinton .G and Williams .R, “Learning
Mammograms”, In Proceedings of the International Internal Representations by Error Propagation”,
Conference on Advanced Computing and Parallel distributed processing: explorations in
Communications, pp.298-303, 2006. the Microstructure of Cognition, MIT Press,
[24] Enzhe Yu and Sungzoon Cho, “GA-SVM Wrapper Vol.1, pp. 318–362, 1986.
Approach for Feature Subset Selection in Keystroke [37] Hecht Nielsen .R, “Neuro Computing,”, Springer-
Dynamics Identity Verification”, In Proceedings of Verlag New York, Inc. pp. 445-453, 1989.
the International Joint Conference on Neural [38] Kohonen .T, “The Neural Phonetic Typewriter”,
Networks, Vol. 3, pp. 2253-2257, 2003. IEEE Computer, Vol. 21, pp. 11-22, 1988.
[25] Ki-seok Sung and Sungzoon Cho, “GA SVM [39] Obaidat .M.S and Walk .J.V, “An Evaluation Study
Wrapper Ensemble for Keystroke Dynamics of Traditional and Neural Network Techniques for
Authentication”, In Proceedings of the International Image Processing Applications”, In Proceedings of
Conference on Biometrics, Hong Kong, the IEEE 34th Midwest Symposium on Circuits and
China, Vol. 3832, pp. 654-660, 2006. Systems, Vol.14, pp. 72-75, 1991.
[26] Gabriel L. F. B. G. Azevedo, George D. C. [40] Marcus Brown and Samuel J. Rogers, “A Practical
Cavalcanti and E.C.B. Carvalho Filho, “An Approach to User Authentication”, In Proceedings of
Approach to Feature Extraction for Keystroke the 10th Annual Computer Security Applications
Dynamics Systems based on PSO and Feature Conference, pp. 108-116, 1994.
Weighting”, In Proceedings of the IEEE Congress on [41] Sajjad Haider Ahmed Abbas K. Zaidi, “A Multi-
Evolutionary Computation, pp. 3577–3584, 2007. Technique Approach for User Identification through
[27] Fabian Monrose, Michael K. Reiter and Susanne Keystroke Dynamics”, IEEE Transactions on Systems
Wetzel, “Password Hardening Based on Keystroke Man, and Cybernetics, Vol.2, pp.1336–1341, 2000.
Dynamics”, In Proceedings of the 6th ACM [42] Brown M, Rogers S.J., “User identification via
conference on Computer and communications keystroke characteristics of typed names using neural
security, pp. 73-82, 1999. networks”, International Journal of Man-Machine
[28] Francesco Bergadana, Daniele Gunetti and Claudia Studies, Vol. 39, pp. 999-1014, 1993.
Picardi, “User authentication through Keystroke [43] Nadler M and Smith E P, “Pattern Recognition
Dynamics”, ACM Transaction of Information and Engineering”, New York: Wiley-Inter Science, 1993.
System Security, Vol. 5, pp. 367-397, 2002.
[29] Magalhaes, Paulo Sergio and Henrique Dinis dos, Authors Profile
“An improved Statistical Keystroke Dynamics Marcus Karnan received the BE Degree
Algorithm”, In Proceedings of the IADIS Virtual in Electrical and Electronics Engineering
Multi Conference on Computer Science and
from Government College of Technology,
Information Systems, pp. 256-262, 2005.
Bharathiar University, India. Received the
[30] David Martens, Manu De Backer, Raf Haesen, Jan
ME Degree in Computer Science and
Vanthienen, Monique Snoeck, and Bart Baesens,
Engineering from Government College of
“Classification with Ant Colony Optimization”, In
Engineering, Manonmaniam Sundaranar
Proceedings of the IEEE Transactions on
Evolutionary Computation, Vol. 11, pp. 651-665, University in 2000. Received the PhD degree in Computer
2007. Science and Engineering Degree from Gandhigram Rural
[31] Haibin Duan and Xiufen Yu, “Hybrid Ant Colony University, India in 2007, Currently he is working as Professor,
Optimization Using Memetic Algorithm for Department of Computer Science & Engineering Department,
Traveling Salesman Problem”, In Proceedings of the Tamilnadu College of Engineering, India. He has been in
IEEE International Symposium Approximate teaching since 1998 and has more than eleven years in industrial
Dynamic Programming and Reinforcement Learning and research experience. His area of interests includes medical
(ADPRL) pp. 92-95, 2007. image processing, artificial intelligence, neural network, genetic
[32] Dorigo .M and Gambardella .L.M., “Ant colonies for algorithm, pattern recognition and fuzzy logic.
the traveling salesman problem”, Bio Systems, 1997.
[33] Dorigo .M, Maniezzo .V and Colorni .A, ”Positive M. Akila received the Bachelor of
feed back as a search strategy”, Technical Report Computer Science and Engineering from
Politecnico di Milano, Italy, 1991. Thiagaraja College of Engineeering,
[34] Youmei Li and Zongben Xu, “An Ant Colony Madurai Kamaraj University in 1991. She
Received the Master of Computer Science
Optimization Heuristic for solving Maximum and Engineering from National
Independent Set Problems”, In Proceedings of the Engineering College, Manonmaniam
Fifth International Conference on Computational Sundaranar University in 2003. She is
Intelligence and Multimedia Applications, pp.206– now a Research scholar in Anna University, Coimbatore and
211, 2003. working as Assistant Professor in Vivekanandha College of
[35] Obaidat M. S., and Macchairolo D. T., “A Multilayer Engineering for Women, Tiruchengode, Tamilnadu, India. Her
Neural Network System for Computer Access area of interests includes image processing, pattern recognition
Security”, IEEE Transactions on Systems, Man and and artificial intelligence.

Das könnte Ihnen auch gefallen