Chứng thực người dùng qua đặc trưng gõ phím
ỜI CẢM ƠN
DANH MỤC HÌNH
CHƯƠNG 1: MỞ ĐẦU
1.1. Đặt vấn đề
1.2. Mục tiêu
1.3. Nội dung nghiên cứu
1.4. Đóng góp của luận văn
1.5. Bố cục luận văn
CHƯƠNG 2: HIỆN TRẠNG
2.1. Cách tiếp cận độ đo
2.2. Cách tiếp cận máy học
2.3. Cách tiếp cận khác
CHƯƠNG 3: MÔ HÌNH CHỨNG THỰC ĐỀ XUẤT
3.1. Keystroke dynamic
3.2. Cơ chế chứng thực
3.3. Mô hình chứng thực
3.4. User profile
3.4.1. Cấu trúc User profile
3.4.2. Khởi tạo User profile
3.4.3. Cập nhật User profile
3.4.3.1. Phản hồi tường minh (Explicit feedback)
3.4.3.2. Phản hồi tiềm ẩn (Implicit feedback)
3.4.3.3. Phương pháp kết hợp
3.4.4. Khai thác User profile
3.4.5. Mô hình User profile trong chứng thực keystroke dynamics
3.4.5.1. Cấu trúc
3.4.5.2. Khởi tạo
3.4.5.3. Cập nhật/Khai thác
3.5. Mô hình GA-SVM
3.5.1. Thuật giải di truyền
3.5.2. Support vector machine
3.6. Mô hình kết hợp User profile-GA-SVM
3.6.1. Cấu trúc
3.6.2. Giai đoạn khởi tạo
3.6.3. Giai đoạn khai thác
3.6.4. Giai đoạn cập nhật
3.7. Phương pháp đánh giá
CHƯƠNG 4: THỰC NGHIỆM
4.1. Thu thập dữ liệu
4.2. Rút trích đặc trưng
4.3. Cấu trúc User profile
4.4. Huấn luyện và kiểm tra
4.4.1. Trên bàn phím máy tính
4.4.1.1. Two - class SVM
4.4.1.2. GA - Two-Class SVM
4.4.1.3. GA - One-Class SVM
4.4.2. Trên điện thoại di động
4.4.2.1. GA-Two-class SVM
4.4.2.2. GA-One-class SVM
4.5. Nhận xét kết quả
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
TÀI LIỆU THAM KHẢO
PHỤ LỤC
A. Xuất xứ của bàn phím Dvorak
B. Sơ dồ tóm tắt các phương pháp chọn đặc trưng
C. Sơ đồ tóm tắt các cách tiếp cận trong bài toán keystroke dynamic
16 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2629 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Chứng thực người dùng qua đặc trưng gõ phím, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
51
CHƯƠNG 4 Thực nghiệm
4.1 Thu thập dữ liệu
Thu thập dữ liệu là ghi nhận thời điểm các phím thay đổi trạng thái (key up, key
down).
Có 2 cách thu thập:
- Thu thập bị động: một tiến trình chạy ngầm sẽ thu thập bất cứ phím nào người
dùng gõ (Global hook). Tiến trình chạy liên tục theo thời gian. Cách này được
sử dụng trong việc thu thập dữ liệu cho giai đoạn chứng thực bị động.
- Thu thập chủ động: Người dùng được yêu cầu nhập một đoạn văn bản nhất
định và có giới hạn số kí tự. Cách này được sử dụng trong việc thu thập dữ liệu
cho giai đoạn chứng thực chủ động.
Nội dung thu thập có dạng sau:
…
Back_Space_Key 16:24:23.219000 22/01/2010
Back_Space_Key 16:24:23.287000 22/01/2010
Left_Soft_Key 16:24:23.559000 22/01/2010
Left_Soft_Key 16:24:23.603125 22/01/2010
1_Key 16:24:29.198000 22/01/2010
1_Key 16:24:29.304625 22/01/2010
7_Key 16:24:29.482625 22/01/2010
7_Key 16:24:29.592125 22/01/2010
…
Mỗi cặp thao tác ấn, nhả phím được lưu thành 2 dòng, dòng 1 là thời điểm ấn phím,
dòng 2 là thời điểm nhả phím (tính tới mili giây).
Trường hợp 2 phím liền nhau ấn-nhả tách biệt (Latency ≥ 0) thì cả 2 dòng ấn-nhả
được lưu liên tiếp nhau (như bên trên). Trường hợp phím ấn-nhả chồng nhau, nghĩa
là phím trước chưa nhả mà phím sau đã ấn (Latency < 0) thì 2 dòng được lưu không
liên tiếp nhau. Ví dụ:
…
4_Key 14:50:14.303875 22/01/2010
6_Key 14:50:14.348875 22/01/2010
4_Key 14:50:14.939125 22/01/2010
6_Key 14:50:14.971750 22/01/2010
…
52
Cột 1 là nội dung phím, cột 2 là “giờ:phút:giây.mili giây” của thao tác (ấn/nhả), cột
3 là “ngày/tháng/năm” của thao tác.
Trong luận văn này tác giả đã tiến hành thu thập đặc trưng của 14 người khác nhau,
trên cùng một loại bàn phím (Qwerty). Thu thập ngầm (dữ liệu chứng thực bị động).
Còn trên điện thoại di động, tác giả đã thu thập trên 10 người theo dạng gõ văn bản
chỉ định (dữ liệu chứng thực chủ động).
4.2 Rút trích đặc trưng
Từ dữ liệu sự kiện phím thu thập được, hệ thống sẽ rút trích thành các đặc trưng gõ
phím sau:
- Duration: thời gian ấn giữ phím
- Latency: thời gian cách nhau giữa 2 phím
• Digraph: latency giữa 2 phím liền kề
• Trigraph: latency giữa phím 1 và phím 3 (trong bộ 3 phím liền kề)
• Teragraph: latency giữa phím 1 và phím 4 (trong bộ 4 phím liền kề)
- Error rate: tần suất lỗi
Ví dụ: từ những dữ liệu thu thập được như sau:
…
Back_Space_Key 16:24:23.219000 22/01/2010
Back_Space_Key 16:24:23.287000 22/01/2010
Left_Soft_Key 16:24:23.559000 22/01/2010
Left_Soft_Key 16:24:23.603000 22/01/2010
1_Key 16:24:29.198000 22/01/2010
1_Key 16:24:29.304625 22/01/2010
7_Key 16:24:29.482625 22/01/2010
7_Key 16:24:29.592125 22/01/2010
…
DurationX = TimeUpX – TimeDownX
LatencyXY = TimeDownY – TimeUpX
ErrRate = Số lượng phím BackSpace/Delete trên số lượng phím đã bấm
Ta rút trích được các đặc trưng như sau:
Đặc trưng Công thức Giá trị (s)
DurationBack_Space_Key 16:24:23.287000 - 16:24:23.219000 0.68
DurationLeft_Soft_Key 16:24:23.603125 - 16:24:23.559000 0.44125
Duration1_Key 16:24:29.304625 - 16:24:29.198000 0.106625
Duration7_Key 16:24:29.592125 - 16:24:29.482625 0.1095
LatencyBack_Space-Left_Soft 16:24:23.559000 - 16:24:23.287000 0.272
53
LatencyLeft_Soft_Key-1_Key 16:24:29.198000 - 16:24:23.603000 0.005595
Latency1_Key-7_key 16:24:29.482625 - 16:24:29.304625 0.178
Ngoài các đặc trưng chính trên hệ thống có thể tính toán và cho ra một số đặc trưng
khác, như vậy ta có một tập 18 đặc trưng sau:
1. Duration
2. LatencyDownDown
3. LatencyUpUp
4. LatencyDigraph
5. LatencyTrigraph
6. LatencyTeragraph
7. LatencyDigraphLine0
8. LatencyDigraphLine1
9. LatencyDigraphLine2
10. LatencyDigraphLine3
11. LatencyDigraphCluster0
12. LatencyDigraphCluster1
13. LatencyDigraphCluster2
14. ErrorRate
15. FixingType
16. UpperCase
17. NumberKey
18. ReleasePrior
Các đặc trưng này sẽ được tổ chức thành dữ liệu của User profile.
Trường hợp thu thập bị động, sau n phím ta luôn thu được một tập giá trị của các
đặc trưng trên. Mỗi đặc trưng gồm 2 giá trị {mean, variance}. Ví dụ:
103.78
84.29
366.32
185.75
293.96
206.02
207.7
213.65
54
Trường hợp thu thập chủ động, hệ thống chỉ quan tâm đến các đặc trưng
1. Duration
2. Latency
3. LatencyDownDown
4. LatencyUpUp
Ví dụ: với PIN “123”, hệ thống sẽ lưu một tập các đặc trưng như sau:
103.78
92.12
122.9
81.11
123.01
210.2
201.8
156.6
173.78
Mỗi tập đặc trưng trên gọi là một mẫu. Hệ thống cần thu thập ít nhất 30 mẫu để đảm
bảo các mẫu tuân theo phân phối chuẩn và có khả năng đại diện mẫu.
4.3 Cấu trúc User profile
Cấu trúc Profile được sử dụng để lưu trữ đặc trưng trích xuất được. Mỗi người dùng
sẽ có một profile, lưu trữ đặc trưng gõ phím của người dùng đó.
Cấu trúc tổng quát:
UserProfile
55
{
// Thông tin người dùng
User Info
// Chứng thực bị động – Dò tìm
{n vector đặc trưng gõ phím bị động}
SVM model chứng thực bị động
Chromosome GA trong chứng thực bị động (selected feature template)
// Chứng thực chủ động – Xác thực
{m vector đặc trưng gõ phím chủ động}
SVM model chứng thực chủ động
Chromosome GA trong chứng thực chủ động (selected feature template)
}
Trong đó n, m ≥ 30.
Cơ chế khởi tạo:
Các mẫu sau khi thu thập đủ số lượng sẽ được gán vào tập vector đặc trưng. Sau đó
sử dụng mô hình GA-SVM huấn luyện trên tập đặc trưng này. Kết quả là một SVM
model và một chromosome tốt nhất (theo GA). 2 thành phần này cũng được lưu vào
User profile để sử dụng chứng thực.
Cơ chế khai thác:
Khi người dùng sử dụng hệ thống, mẫu gõ phím sẽ được thu thập. Sau đó áp
template của chromosome có trong profile và dùng SVM model đã có để kiểm tra.
Kết quả trả về sau đó sẽ được xử lý theo cơ chế chứng thực đã nêu (3.2).
Cơ chế cập nhật theo thời gian:
Nếu quá trình kiểm tra là hợp lệ, vector đặc trưng này sẽ được thêm vào tập các
vector đặc trưng đã có.
Sau một khoảng thời gian t, tập đặc trưng sẽ loại ngẫu nhiên các vector cũ hợn sao
cho số lượng còn lại thỏa n, m ban đầu, SVM model sẽ được huấn luyện lại trên tập
đặc trưng này.
Sau huấn luyện, một SVM model và chromosome tốt nhất lại được cập nhật vào
profile.
56
4.4 Huấn luyện và kiểm tra
4.4.1 Trên bàn phím máy tính
Mẫu thu thập có 18 đặc trưng khác nhau, mỗi đặc trưng gồm 2 giá trị {mean,
variance}:
1. Duration
2. LatencyDownDown
3. LatencyUpUp
4. LatencyDigraph
5. LatencyTrigraph
6. LatencyTeragraph
7. LatencyDigraphLine0
8. LatencyDigraphLine1
9. LatencyDigraphLine2
10. LatencyDigraphLine3
11. LatencyDigraphCluster0
12. LatencyDigraphCluster1
13. LatencyDigraphCluster2
14. ErrorRate
15. FixingType
16. UpperCase
17. NumberKey
18. ReleasePrior
Như vậy mỗi mẫu sử dụng trong SVM là 1 vector 36 chiều. Hàm kernel sử dụng
trong SVM là RBF. Quá trình thử nghiệm gồm 5 phần:
Trên bàn phím máy PC
- 2 - class SVM
- GA - 2 - class SVM
- GA - 1 - class SVM
Trên mobile phone
- GA - 2 - class SVM
- GA - 1 - class SVM
57
4.4.1.1 Two - class SVM
Lấy tất cả 36 chiều. Chia data set thành 10 phần. Huấn luyện trên 9 phần và test trên
1 phần còn lại. Việc huấn luyện và test được tiến hành 10 lần tuần tự trên tất cả 10
phần chia.
Vd: Lần 1: Train [2, .., 10] & Test [1]
Lần 2: Train [1, 3, .. ,10] & Test [2]
...
Lần 10: Train [1, .. , 9] & Test [10]
Như vậy mỗi user (Ui) sẽ có 1 model (Mi) được huấn luyện trên 9 phần data của
user này. Sau đó model Mi sẽ được test trên 10 phần test của 10 user.
For i = 1..10 do
For u = U1..U10 do
Chọn tập test Testui
Chọn tập train Trainuj (j=1..10\i)
For u = U1..U10 do
Modelu = SVMTraining(Trainu)
For v = U1..U10 do
TestResult = SVMTesting(Modelu , Testui)
Dữ liệu thu thập trên 16 người dùng khác nhau. Số lượng mẫu thu thập của mỗi
người dùng ~100 mẫu.
Mỗi lần test sẽ có 1 Confusion Matrix. Dưới đây là Confusion Matrix tổng của 10
lần test.
58
Avg(FRR) = 0.38
Avg(FAR) = 0.38
EER = 0.38
Độ chính xác = (1 – EER) = 62%
4.4.1.2 GA - Two-Class SVM
Việc chia, huấn luyện và kiểm tra tương tự như trên. Nhưng không lấy toàn bộ 36
chiều mà sẽ chọn tập con các chiều trong 36 chiều đó bằng cơ chế chọn lọc của GA.
Danh sách chiều được sắp theo thứ tự cho trước. Việc chọn các chiều được đánh
đấu qua một đoạn NST là một dãy số nhị phân.
Ví dụ: 1 0 0 1 1 0 1 0 0 0
Trong đó các chiều 1, 4, 5, 7 mang số 1 -> được chọn.
Các chiều 2, 3, 6, 8, 9, 10 mang số 0 -> không được chọn.
Sau khi GA phát sinh một NST như trên. Các bit được bật 1 sẽ lấy giá trị từ index
của chiều tương ứng trong data set. Các bit bật 0 không lấy giá trị trong data set.
Ví dụ: Vector ban đầu:
1:0.1 2:0.1 3:0.0 4:0.7 5:0.2 6:0.3 7:0.5 8:0.9 9:0.4 10:0.1
Áp lên NST template “1 0 0 1 1 0 1 0 0 0 0”
Vector mới cho ra như sau:
1:0.1 4:0.7 5:0.2 7:0.5
Trong đó các chiều (Index) 1, 4, 5, 7 được giữ lại còn các chiều 2, 3, 6, 8, 9, 10 bị
bỏ đi bất kể các chiều có giá trị hay không.
59
Hình 4.1 - SVM Mô hình huấn luyện kết hợp GA - SVM
60
Bảng tổng hợp kết quả thử nghiệm trên dữ liệu thu thập từ 14 người dùng thu thập:
Lần U1 U2 U3 U4 U5 U6 U7 U8 U9 U10 U11 U12 U13 U14 AVG
1
Acc 0.85 0.90 0.91 0.88 0.93 0.95 0.87 0.95 0.95 0.91 0.95 0.90 0.88 0.94 0.91
Tpos 0.93 1.00 0.93 0.87 1.00 0.80 1.00 0.93 1.00 0.86 0.80 0.80 1.00 0.86 0.91
Tnev 0.84 0.89 0.91 0.88 0.92 0.96 0.86 0.95 0.95 0.91 0.96 0.91 0.87 0.95 0.91
2
Acc 0.86 0.90 0.94 0.87 0.93 0.89 0.86 0.93 0.93 0.89 0.94 0.94 0.89 0.96 0.91
Tpos 0.93 0.93 0.90 0.93 1.00 0.80 0.86 0.86 0.80 0.80 0.86 1.00 1.00 1.00 0.91
Tnev 0.85 0.90 0.94 0.87 0.92 0.90 0.86 0.94 0.94 0.90 0.95 0.93 0.88 0.96 0.91
3
Acc 0.85 0.91 0.93 0.84 0.91 0.95 0.85 0.96 0.92 0.88 0.96 0.93 0.87 0.90 0.90
Tpos 0.93 1.00 0.87 0.83 1.00 0.80 0.86 0.91 0.80 0.80 0.86 1.00 1.00 0.10 0.84
Tnev 0.84 0.90 0.93 0.84 0.90 0.96 0.85 0.96 0.93 0.89 0.97 0.92 0.86 0.96 0.91
4
Acc 0.86 0.90 0.93 0.85 0.92 0.93 0.84 0.93 0.90 0.87 0.93 0.92 0.90 0.95 0.90
Tpos 0.83 0.83 0.87 0.87 1.00 0.80 1.00 0.91 0.80 0.80 0.80 0.80 0.83 1.00 0.87
Tnev 0.86 0.91 0.93 0.85 0.91 0.94 0.83 0.93 0.91 0.87 0.94 0.93 0.91 0.95 0.91
5
Acc 0.86 0.90 0.93 0.84 0.93 0.93 0.86 0.96 0.94 0.88 0.95 0.92 0.90 0.95 0.91
Tpos 0.83 0.83 0.80 0.83 1.00 0.80 1.00 0.91 1.00 0.80 0.86 1.00 0.87 1.00 0.90
Tnev 0.86 0.90 0.94 0.84 0.92 0.94 0.85 0.96 0.93 0.89 0.96 0.91 0.90 0.95 0.91
6
Acc 0.84 0.90 0.92 0.87 0.93 0.89 0.83 0.95 0.90 0.88 0.89 0.92 0.90 0.95 0.90
Tpos 0.83 0.83 0.87 0.83 1.00 0.80 0.86 0.87 0.80 0.80 0.80 0.80 0.87 0.71 0.83
Tnev 0.84 0.90 0.92 0.87 0.92 0.90 0.83 0.96 0.91 0.89 0.90 0.93 0.90 0.97 0.90
7
Acc 0.84 0.91 0.93 0.89 0.93 0.94 0.85 0.95 0.92 0.87 0.92 0.92 0.86 0.95 0.90
Tpos 0.90 1.00 0.80 0.83 1.00 0.80 0.86 0.83 1.00 0.80 0.86 0.80 0.83 1.00 0.88
Tnev 0.83 0.90 0.94 0.89 0.92 0.95 0.85 0.96 0.91 0.88 0.92 0.93 0.86 0.95 0.91
8
Acc 0.85 0.89 0.93 0.89 0.91 0.95 0.83 0.95 0.93 0.91 0.92 0.91 0.90 0.94 0.91
Tpos 0.93 0.93 0.80 0.93 1.00 0.80 1.00 0.87 1.00 0.86 0.80 0.80 0.87 0.71 0.88
Tnev 0.84 0.89 0.94 0.89 0.90 0.96 0.82 0.96 0.92 0.91 0.93 0.92 0.90 0.96 0.91
9
Acc 0.87 0.90 0.93 0.88 0.91 0.95 0.84 0.88 0.94 0.89 0.92 0.91 0.91 0.96 0.91
Tpos 0.93 0.93 0.93 0.87 1.00 0.91 1.00 0.87 1.00 0.86 0.80 0.80 0.93 1.00 0.92
Tnev 0.86 0.90 0.93 0.88 0.90 0.95 0.83 0.88 0.93 0.89 0.93 0.92 0.91 0.96 0.91
10
Acc 0.85 0.91 0.93 0.84 0.91 0.92 0.86 0.94 0.94 0.88 0.95 0.91 0.90 0.96 0.91
Tpos 0.80 1.00 0.87 0.87 1.00 0.93 1.00 0.87 0.80 0.86 0.80 0.80 0.87 1.00 0.89
Tnev 0.85 0.90 0.93 0.84 0.90 0.92 0.85 0.95 0.95 0.88 0.96 0.92 0.90 0.96 0.91
AVG
Acc 0.85 0.90 0.93 0.87 0.92 0.93 0.85 0.94 0.93 0.89 0.93 0.92 0.89 0.95 0.91
Tpos 0.88 0.93 0.86 0.87 1.00 0.82 0.94 0.88 0.90 0.82 0.82 0.86 0.91 0.84 0.88
Tnev 0.85 0.90 0.93 0.87 0.91 0.94 0.84 0.95 0.93 0.89 0.94 0.92 0.89 0.96 0.91
61
Độ chính xác khi thử nghiệm là 90.59%
True Positive = 88.19%
True Negative = 90.77%
FAR = 0.1181 ≈ 11%
FRR = 0.0923 ≈ 9%
EER ≈ 10%
Bảng tổng hợp kết quả thử nghiệm trên benchmark data từ 51 người dùng khác
nhau (benckmark data tham khảo tại
62
Độ chính xác khi thử nghiệm là 96.31%
True Positive = 95.98%
True Negative = 96.27%
FAR = 0.0373 ≈ 4%
FRR = 0.0402 ≈ 4%
EER = 4%
4.4.1.3 GA - One-Class SVM
Bảng tổng hợp kết quả thử nghiệm trên benchmark data từ 51 người dùng
benchmark data
0.87 0.88 0.87
0.84 0.82 0.86
0.86 0.82 0.90
0.87 0.85 0.88
0.84 0.78 0.91
0.85 0.82 0.87
0.83 0.75 0.90
0.86 0.82 0.89
0.87 0.85 0.88
0.83 0.80 0.86
0.89 0.90 0.89
63
0.91 0.95 0.86
0.84 0.88 0.81
0.87 0.88 0.86
0.87 0.90 0.85
0.90 0.92 0.87
0.88 0.88 0.89
0.90 0.92 0.87
0.87 0.90 0.84
0.91 0.92 0.89
0.80 0.90 0.69
0.87 0.88 0.86
0.83 0.92 0.74
0.84 0.98 0.70
0.86 0.90 0.83
0.82 0.92 0.70
0.83 0.85 0.82
0.82 0.90 0.74
0.81 0.82 0.80
0.87 0.95 0.80
0.90 0.80 1.00
0.91 0.85 0.97
0.90 0.80 1.00
0.92 0.85 0.98
0.90 0.82 0.98
0.91 0.82 0.99
0.89 0.78 1.00
0.89 0.78 1.00
0.90 0.82 0.98
0.91 0.85 0.97
0.84 0.90 0.79
0.85 0.90 0.79
0.86 0.90 0.81
0.81 0.85 0.76
0.85 0.90 0.80
0.83 0.90 0.76
0.84 0.90 0.78
0.85 0.92 0.77
0.85 0.90 0.81
0.83 0.90 0.77
0.84 0.72 0.95
0.8624 0.8651 0.8587
64
Độ chính xác khi thử nghiệm là 86.24%
True Positive = 86.51%
True Negative = 85.87%
FAR = 0.1349 ≈ 14%
FRR = 0.1413 ≈ 14%
EER = 14%
4.4.2 Trên điện thoại di động
Dữ liệu được thu thập từ 10 người dùng khác nhau, trên cùng một điện thoại (Nokia
N95, symbian S60v3). Dữ liệu thu thập là nội dung bài thơ “Đây thôn Vĩ Dạ” của
Hàn Mặc Tử. Mỗi người dùng được yêu cầu gõ 2 lần bài thơ, các thời điểm ấn, nhả
phím được ghi lại thành file trên điện thoại, sau đó mỗi cụm 10 kí tự sẽ được nhóm
lại để rút trích thành một vector đặc trưng (cơ chế rút trích đặc trưng được thực hiện
tương tự như trên bàn phím máy tính).
Sau khi có tập các vector đặc trưng của mỗi người dùng cụ thể, 9/10 trong số đó
được dùng để huấn luyện và 1/10 còn lại dùng cho việc kiểm tra độ chính xác. Việc
huấn luyện và kiểm tra được thực hiện trên máy tính.
4.4.2.1 GA-Two-class SVM
Bảng tổng hợp kết quả thử nghiệm với phương pháp nhận dạng là GA - Two class –
SVM.
0.93 1.00 0.86
0.83 0.89 0.77
0.85 0.89 0.81
0.88 0.88 0.87
0.78 0.80 0.76
0.83 0.87 0.78
0.75 0.73 0.77
0.86 0.89 0.84
0.85 0.85 0.85
0.92 0.91 0.94
0.84805 0.8695 0.8266
Độ chính xác khi thử nghiệm là 84.81%
True Positive = 86.95%
True Negative = 82.66%
65
FAR = 0.1305 ≈ 13%
FRR = 0.1734 ≈ 17%
EER = 15%
4.4.2.2 GA-One-class SVM
Bảng tổng hợp kết quả thử nghiệm với phương pháp nhận dạng là GA - One class –
SVM.
0.8205 0.8190 0.8220
Độ chính xác khi thử nghiệm là 82.05%
True Positive = 81.90%
True Negative = 82.20%
FAR = 0.181 ≈ 18%
FRR = 0.178 ≈ 18%
EER = 18%
4.5 Nhận xét kết quả
Khi chỉ dùng SVM, toàn bộ đặc trưng gõ phím của người dùng sẽ được sử dụng để
làm đặc trưng huấn luyện. Do tính khuếch tán dữ liệu, trong các đặc trưng đó sẽ tồn
tại các đặc trưng mà giữa 2 người khác nhau có giá trị rất gần nhau. Đây chính là
trường hợp nhiễu, những dữ liệu nhiễu này sẽ làm độ chính xác của mô hình giảm
đáng kể.
Ví dụ: đặc trưng ReleasePrior (tỉ lệ Latency < 0 / Latency ≥ 0) thì 2 người dùng A
và B cùng gõ phím bằng 1 tay sẽ có cùng 1 giá trị ≈0. Đặc trưng này sẽ làm nhiễu
tập học của SVM từ đó bài toán có những dự đoán sai.
66
Từ khuyết điểm trên, nhu cầu tinh lọc tập đặc trưng là cần thiết. Cần phải tìm ra tập
đặc trưng con tối ưu từ tập đặc trưng đang có (mục đích là loại bớt các đặc trưng
nhiễu). Và cơ chế hoạt động của GA giúp thực hiện được điều này.
Mô hình GA-2-class SVM thích hợp cho việc chứng thực và nhận dạng những hệ
thống đa người dùng (nhiều người cùng dùng chung một hệ thống). Khi đó chỉ
những người trong hệ thống sẽ được nhận dạng và phân biệt với nhau. Ví dụ hệ
thống máy tính dùng chung, hệ thống đào tạo từ xa, máy ATM, …
Mô hình GA-1-class SVM thích hợp với những hệ thống một người dùng. Những
hệ thống này chỉ cần chứng thực người đang sử dụng có thực sự là chủ của hệ thống
hay không. Ví dụ điện thoại di động, Laptop, …