ksd 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +1 -1
- data/README.rdoc +2 -2
- data/examples/enroll_login.rb +1 -1
- data/examples/{enroll_scentences.rb → enroll_sentences.rb} +4 -4
- data/lib/keystroke_dynamics.rb +2 -2
- metadata +2 -2
data/Manifest.txt
CHANGED
data/README.rdoc
CHANGED
@@ -12,7 +12,7 @@ Simple keystroke dynamics analyzer/validator written in Ruby-GTK
|
|
12
12
|
* Validation holds logic to manage user enrollment, validation and cryptographic functions.
|
13
13
|
|
14
14
|
== EXAMPLES:
|
15
|
-
The three included Ruby-GTK examples demonstrate the principle of biometric authentication based on keystroke dynamics. For experimentational purposes, I have created two different examples which establish a metric from a users typing. The first,
|
15
|
+
The three included Ruby-GTK examples demonstrate the principle of biometric authentication based on keystroke dynamics. For experimentational purposes, I have created two different examples which establish a metric from a users typing. The first, enroll_sentences.rb, lets you type in 5 pangrams (sentences that hold every letter of the alphabet) to establish your metric. The other, enroll_login.rb, lets you type your login details 10 times. I leave it as an excercise to the user to see which method works best for him or her.
|
16
16
|
The login.rb example lets you try out your newly created username, password and keystroke metric on a login screen.
|
17
17
|
|
18
18
|
== REQUIREMENTS:
|
@@ -25,7 +25,7 @@ Depends on
|
|
25
25
|
|
26
26
|
== INSTALL:
|
27
27
|
|
28
|
-
* sudo gem install
|
28
|
+
* sudo gem install ksd
|
29
29
|
|
30
30
|
If you don't have the Ruby GTK or OpenSSL bindings you should install them through your package manager.
|
31
31
|
|
data/examples/enroll_login.rb
CHANGED
@@ -35,7 +35,7 @@ loginbox.pack_start(pass, true, true, 0)
|
|
35
35
|
mainbox.pack_start(loginbox, true, true,0)
|
36
36
|
mainbox.show
|
37
37
|
|
38
|
-
mainbox.pack_start(Gtk::Label.new("Please type your login details 10 times so I can learn
|
38
|
+
mainbox.pack_start(Gtk::Label.new("Please type your login details 10 times so I can learn your keystroke dynamics."), true, true, 20)
|
39
39
|
|
40
40
|
statsbox = Gtk::HBox.new
|
41
41
|
mean_hold_label = Gtk::Label.new
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# == Summary
|
3
|
-
# This is an example enrollment application set up to collect keystroke dynamics data by letting the user type several
|
3
|
+
# This is an example enrollment application set up to collect keystroke dynamics data by letting the user type several sentences.
|
4
4
|
require 'gtk2'
|
5
5
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
6
6
|
require 'rubygems'
|
@@ -34,9 +34,9 @@ loginbox.pack_start(pass, true, true, 0)
|
|
34
34
|
mainbox.pack_start(loginbox, true, true,0)
|
35
35
|
mainbox.show
|
36
36
|
|
37
|
-
mainbox.pack_start(Gtk::Label.new("Please type these
|
37
|
+
mainbox.pack_start(Gtk::Label.new("Please type these sentences so I can learn your keystroke dynamics."), true, true, 20)
|
38
38
|
|
39
|
-
|
39
|
+
sentences = [
|
40
40
|
Gtk::Label.new("Two driven jocks help fax my big quiz."),
|
41
41
|
Gtk::Label.new("How quickly daft jumping zebras vex."),
|
42
42
|
Gtk::Label.new("The five boxing wizards jump quickly."),
|
@@ -59,7 +59,7 @@ for i in (0..4)
|
|
59
59
|
entry.set_editable(true)
|
60
60
|
ksds[i] = KeystrokeDynamics::Analysis.new
|
61
61
|
ksds[i].analyze_keys(entry)
|
62
|
-
mainbox.pack_start(
|
62
|
+
mainbox.pack_start(sentences[i],true,true,0)
|
63
63
|
entry.signal_connect_after("key-release-event", ksds[i]) do |w, e, analyzer|
|
64
64
|
mean_hold_label.text = "Mean hold: #{analyzer.mean_hold}"
|
65
65
|
mean_seek_label.text = "Mean seek: #{analyzer.mean_seek}"
|
data/lib/keystroke_dynamics.rb
CHANGED
@@ -8,7 +8,7 @@ require "keystroke_dynamics/validation"
|
|
8
8
|
# Copyright (c) 2008 Aram Verstegen <aram@aczid.nl>
|
9
9
|
#
|
10
10
|
# == Summary
|
11
|
-
# The three included Ruby-GTK examples demonstrate the principle of biometric authentication based on keystroke dynamics. For experimentational purposes, I have created two different examples which establish a metric from a users typing. The first,
|
11
|
+
# The three included Ruby-GTK examples demonstrate the principle of biometric authentication based on keystroke dynamics. For experimentational purposes, I have created two different examples which establish a metric from a users typing. The first, enroll_sentences.rb, lets you type in 5 pangrams (sentences that hold every letter of the alphabet) to establish your metric. The other, enroll_login.rb, lets you type your login details 10 times. I leave it as an excercise to the user to see which method works best for him or her.
|
12
12
|
# The login.rb example lets you try out your newly created username, password and keystroke metric on a login screen.
|
13
13
|
#
|
14
14
|
# === Libraries
|
@@ -24,5 +24,5 @@ require "keystroke_dynamics/validation"
|
|
24
24
|
# To run the Ruby-GTK examples you will need libgtk2-ruby.
|
25
25
|
# The validation functions require libopenssl-ruby.
|
26
26
|
module KeystrokeDynamics
|
27
|
-
VERSION = '0.0.
|
27
|
+
VERSION = '0.0.2'
|
28
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ksd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aram Verstegen
|
@@ -51,7 +51,7 @@ files:
|
|
51
51
|
- README.rdoc
|
52
52
|
- Rakefile
|
53
53
|
- examples/enroll_login.rb
|
54
|
-
- examples/
|
54
|
+
- examples/enroll_sentences.rb
|
55
55
|
- examples/login.rb
|
56
56
|
- lib/keystroke_dynamics.rb
|
57
57
|
- lib/keystroke_dynamics/analysis.rb
|