Luận văn Chứng thực người dùng qua đặc trưng gõ phím

CHỨNG THỰC NGƯỜI DÙNG QUA ĐẶC TRƯNG GÕ PHÍM VÕ LÊ GIANG Trang nhan đề Lời cảm ơn Mục lục Danh mục Chương 1: Mở đầu Chương 2: Hiện trạng Chương 3: Mô hình chứng thực đề xuất Chương 4: Thực nghiệm Chương 5 Kết luận và hướng phát triển Tài liệu tham khảo Phụ lục Mc lc Danh mc hình . 1 CH!"NG 1M dâu 2 1.1 Dat vân dê . 2 1.2 Mc tiêu 3 1.3 Noi dung nghiên cu . 3 1.4 Dóng góp ca luan van . 4 1.5 Bô cc ca luan van 4 CH!"NG 2Hien trng . 6 2.1 Cách tiêp can do do . 6 2.2 Cách tiêp can máy hc 8 2.3 Các cách tiêp can khác 11 CH!"NG 3Mô hình chng th c dê xuât . 15 3.1 Keystroke dynamic 15 3.2 C chê chng th c . 21 3.3 Mô hình chng th c 23 3.4 User profile . 25 3.4.1 Câu trúc User profile . 26 3.4.2 Khi to User profile 28 3.4.3 Cap nhat User profile 29 3.4.3.1 Phn hôi t ng minh (Explicit feedback) . 30 3.4.3.2 Phn hôi tiêm an (Implicit feedback) 30 3.4.3.3 Phng pháp kêt h p 30 3.4.4 Khai thác User profile . 31 3.4.5 Mô hình User profile trong chng th c keystroke dynamics 31 3.4.5.1 Câu trúc . 31 3.4.5.2 Khi to 34 3.4.5.3 Cap nhat/Khai thác 34 3.5 Mô hình GA-SVM 35 3.5.1 Thuat gii di truyên . 35 3.5.2 Support vector machine 36 3.6 Mô hình kêt h p User profile-GA-SVM 41 3.6.1 Câu trúc . 41 3.6.2 Giai don khi to . 42 3.6.3 Giai don khai thác 44 3.6.4 Giai don cap nhat . 46 3.7 Phng pháp dánh giá 48 CH!"NG 4 Th c nghiem . 51 4.1 Thu thap d lieu . 51 4.2 Rút trích dac trng . 52 4.3 Câu trúc User profile . 54 4.4 Huân luyen và kiem tra . 56 4.4.1 Trên bàn phím máy tính 56 4.4.1.1 Two - class SVM . 57 4.4.1.2 GA - Two-Class SVM 58 4.4.1.3 GA - One-Class SVM . 62 4.4.2 Trên dien thoi di dong . 64 4.4.2.1 GA-Two-class SVM . 64 4.4.2.2 GA-One-class SVM 65 4.5 Nhan xét kêt qu 65 CH!"NG 5Kêt luan và h ng phát trien 67 Tài lieu tham kho . 68 Ph lc 72 A. Xuât x ca bàn phím bàn phím Dvorak 72 B. S dô tóm tat các phng pháp chn dac trng 73 C. S dô tóm tat các cách tiêp can trong bài toán keystroke dynamic 74

pdf36 trang | Chia sẻ: maiphuongtl | Lượt xem: 1877 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Chứng thực người dùng qua đặc trưng gõ phím, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
15 CHƯƠNG 3 Mô hình chứng thực đề xuất 3.1 Keystroke dynamic Keystroke dynamic (gọi tắt là keystroke) là sự bấm trên bàn phím (sự gõ phím). Hình 3.1 - Hai trạng thái trong keystroke dynamic Khi người dùng tương tác với một phím, phím sẽ thay đổi trạng thái (nổi lên hay chìm xuống). Trạng thái ban đầu Thao tác Trạng thái kết quả Nổi Ấn phím Chìm Chìm Nhả phím Nổi A B C Thời gian Ấn Nhả Ấn Nhả Ấn Nhả Key Hình 3.2 - Trình tự bấm phím “abc” được biểu diễn theo thời gian  Ấn     ả  Chìm Nổi Nổi Chìm 16 Keystroke authentication là sự chứng thực người dùng qua thao tác (thói quen) gõ phím. Nói cách khác là chứng thực người dùng qua những đặc trưng gõ phím riêng biệt của từng người. Thông qua việc ghi nhận thời điểm của 2 trạng thái ấn/nhả, các đặc trưng trong thao tác gõ phím của người dùng sẽ được ghi nhận trực tiếp gồm [15]: Thứ tự Đặc trưng Ý nghĩa Nội dung Ghi chú 1 Duration Thời gian ấn giữ phím Khoảng thời gian từ thời điểm ấn phím đến thời điểm nhả phím Duration ≥ 0 2 Latency Khoảng thời gian giữa 2 phím liền kề Khoảng thời gian từ thời điểm nhả phím liền trước đến thời điểm ấn phím liền sau Latency < 0: Phím liền sau được ấn trước khi phím liền trước được nhả Latency ≥ 0: Phím liền sau được ấn sau khi phím liền trước được nhả 3 Latency DownDown Khoảng thời gian giữa 2 lần ấn phím liền kề Khoảng thời gian từ thời điểm ấn phím liền trước đến thời điểm ấn phím liền sau LatencyDownDown ≥ 0 4 Latency UpUp Khoảng thời gian giữa 2 lần nhả phím liền kề Khoảng thời gian từ thời điểm nhả phím liền trước đến thời điểm nhả phím liền sau LatencyUpUp ≥ 0 5 ErrorRate Tần suất lỗi Tỉ lệ phím xóa lỗi (backspace, delete) trên tổng số phím đã ấn ErrorRate ≥ 0 6 Release Prior Thứ tự nhả phím Tỉ lệ Latency < 0 trên Latency ≥ 0 ReleasePrior ≥ 0 17 Hình 3.3 - Đặc trưng Duration và Latency thu được DurationA = (Thời điểm nhả phím A - Thời điểm ấn phím A) (mili seconds) LatencyAB = (Thời điểm ấn phím B - Thời điểm nhả phím A) (mili seconds) Danh sách đặc trưng thu được như sau: Đặc trưng Giá trị (ms) DurationA 0.046 LatencyAB 0.051 DurationB 0.108 LatencyBC -0.040 DurationC 0.062 Ngoài ra còn có đặc trưng gián tiếp là các đặc trưng được suy ra từ những đặc trưng trực tiếp như: Thứ tự Đặc trưng Ý nghĩa Nội dung Ghi chú 1 Latency Trigraph Khoảng thời gian giữa 3 phím liền kề Khoảng thời gian từ thời điểm nhả phím thứ nhất đến thời điểm ấn phím thứ 3 Latency Trigraph ≥ 0 2 Latency Teragrap h Khoảng thời gian giữa 4 phím liền kề Khoảng thời gian từ thời điểm nhả phím thứ nhất đến thời điểm ấn phím thứ 4 Latency Teragraph ≥ 0 18 3 Latency Digraph Line0 Khoảng thời gian giữa 2 phím liền kê trên hàng phím thứ nhất Khoảng thời gian từ thời điểm nhả phím liền trước đến thời điểm ấn phím liền sau, chỉ tính khi 2 phím cùng trên hàng 1 Latency Digraph Line0 ≥ 0 4 Latency Digraph Line1 Khoảng thời gian giữa 2 phím liền kề trên hàng phím thứ hai Khoảng thời gian từ thời điểm nhả phím liền trước đến thời điểm ấn phím liền sau, chỉ tính khi 2 phím cùng trên hàng 2 Latency Digraph Line1 ≥ 0 5 Latency Digraph Line2 Khoảng thời gian giữa 2 phím liền kề trên hàng phím thứ ba Khoảng thời gian từ thời điểm nhả phím liền trước đến thời điểm ấn phím liền sau, chỉ tính khi 2 phím cùng trên hàng 3 Latency Digraph Line2 ≥ 0 6 Latency Digraph Line3 Khoảng thời gian giữa 2 phím liền kề trên hàng phím cuối Khoảng thời gian từ thời điểm nhả phím liền trước đến thời điểm ấn phím liền sau, chỉ tính khi 2 phím cùng trên hàng cuối Latency Digraph Line3 ≥ 0 7 Latency Digraph Cluster0 Khoảng thời gian giữa 2 phím liền kề trên nhóm phím bên trái Khoảng thời gian từ thời điểm nhả phím liền trước đến thời điểm ấn phím liền sau, chỉ tính khi 2 phím cùng nhóm phím bên trái Latency Digraph Cluster0 ≥ 0 8 Latency Digraph Cluster1 Khoảng thời gian giữa 2 phím liền kề trên nhóm phím trung tâm Khoảng thời gian từ thời điểm nhả phím liền trước đến thời điểm ấn phím liền sau, chỉ tính khi 2 phím cùng nhóm phím trung tâm Latency Digraph Cluster1 ≥ 0 9 Latency Digraph Cluster2 Khoảng thời gian giữa 2 phím liền kề trên nhóm phím bên phải Khoảng thời gian từ thời điểm nhả phím liền trước đến thời điểm ấn phím liền sau, chỉ tính khi 2 phím cùng nhóm phím bên phải Latency Digraph Cluster2 ≥ 0 10 Fixing Type Thói quen sửa lỗi gõ phím Tỉ lệ % sử dụng phím Delete và BackSpace trên tổng số phím xóa % 11 Upper Case Thói quen viết hoa Tỉ lệ sử dụng phím Shift và CapsLock trên tổng số phím viết hoa % 19 12 Number Key Thói quen sử dụng phím số Tỉ lệ sử dụng phím số trên hàng ngang và phím số trên bàn phím NumLock trên tổng số phím số % Mỗi người dùng khác nhau sẽ có một đặc trưng (phong cách) gõ phím khác nhau [2][3][4]. Ví dụ: - Người gõ phím bằng một ngón tay thì không xuất hiện hiện tượng phím trước chưa nhả - phím sau đã ấn (hiện tượng chồng phím) nên Latency luôn dương (Latency ≥ 0), ngược lại người gõ phím nhanh thì hiện tượng chồng phím (Latency < 0) sẽ xảy ra thường xuyên hơn. - Người mới gõ phím thì khả năng gõ lỗi sẽ cao hơn người gõ lâu năm. - Người gõ nhanh thì thời gian ấn giữ phím (Duration) cũng nhỏ hơn so với người gõ chậm. Các đặc trưng sinh trắc học như vân tay, tròng mắt hay đặc điểm khuôn mặt của con người thường ổn định trong thời gian dài (vài tháng, vài năm). Riêng các đặc trưng gõ phím là không ổn định ngay cả trong thời gian ngắn (vài giờ). Với một mật khẩu mới đặt, ban đầu chưa quen, người dùng sẽ gõ không nhanh và hay mắc lỗi, nhưng sau vài lần lặp lại, tốc độ gõ và độ chính xác sẽ tăng lên. Ngoài ra, cùng một người, đặc trưng gõ phím có thể khác nhau phụ thuộc vào tư thế gõ (đứng/ngồi), sức khỏe (sảng khoái/mệt mỏi), độ tập trung (đang nói chuyện/chú tâm), cấu trúc bàn phím thay đổi khác nhau (qwerty, dvorak), ... Hình 3.4 - Bàn phím QWERTY 20 Hình 3.5 - Bàn phím Dvorak Những người làm cùng công việc như kế toán, lập trình, thư kí, … thường có đặc trưng gõ phím gần giống nhau. Giá trị các đặc trưng phân bố khuếch tán, không có phân hoạch rõ ràng. Việc sử dụng các phương pháp phân lớp thông thường là không khả thi. Ví dụ khi theo dõi 3 đặc trưng Duration, Latency, ErrorRate, xem mỗi bộ 3 giá trị (Duration, Latency, ErrorRate) là một điểm trong không gian 3 chiều, ta có biểu đồ sau: Hình 3.6 - Đồ thị minh họa vector keystroke Trên đây là những thách thức của bài toán chứng thực người dùng qua keytroke dynamic. Để giải quyết các vấn đề này mô hình chứng thực đòi hỏi phải uyển chuyển, có khả năng thích nghi cao với những thay đổi thói quen của người dùng trong thời gian ngắn và giải quyết được vấn đề khuếch tán của dữ liệu. Mô hình dữ liệu User profile kết hợp với mô hình chứng thực GA – SVM là mô hình chứng thực được đề xuất trong luận văn này. 21 3.2 Cơ chế chứng thực Sử dụng cơ chế chứng thực 3 giai đoạn [15]: 22 Giai đoạn 1: Huấn luyện Để thu thập mẫu, người dùng được yêu cầu nhập 2 phần: - Một đoạn văn bản n lần trên chính bàn phím của thiết bị cần chứng thực, với n là số lượng mẫu cần thu thập để huấn luyện. Các thao tác gõ phím được ghi lại gồm nội dung phím, thời điểm ấn phím, thời điểm nhả phím. Đây là dữ liệu thô ban đầu. - Mã PIN, được yêu cầu nhập tương tự như trên. Dữ liệu thô sau đó sẽ được rút trích thành tập đặc trưng gõ phím của từng người. Đặc trưng gõ phím của đoạn văn bản sẽ được dùng làm mẫu huấn luyện cho giai đoạn chứng thực bị động. Đặc trưng gõ phím của PIN dùng làm mẫu huấn luyện cho giai đoạn chứng thực chủ động. Giai đoạn 2: Chứng thực bị động Người dùng sau giai đoạn nhập mẫu huấn luyện sẽ sử dụng hệ thống bình thường và được chứng thực ngầm thời gian thực. Hệ thống chứng thực được chạy ngầm, tự động thu thập đặc trưng thông qua thao tác của người dùng trên bàn phím. Sau một số lượng phím cho trước, hệ thống chứng thực sẽ tổng hợp các đặc trưng này, chuyển thành vector đặc trưng tại thời điểm hiện tại (instance vector). Module xác thực sẽ kiểm tra độ sai khác đặc trưng của vector này so với các đặc trưng được huấn luyện. Nếu sai khác dưới một ngưỡng θ cho trước thì người dùng xem như hợp lệ và tiếp tục sử dụng hệ thống. Ngược lại, hệ thống sẽ chuyển sang giai đoạn 3 (giai đoạn chứng thực chủ động). Giai đoạn 3: Chứng thực chủ động Một form xác thực mã số cá nhân (PIN) hiển thị, người dùng được yêu cầu nhập PIN để xác thực. Trong quá trình nhập, ngoài việc thu thập nội dung PIN, người dùng còn được thu thập cách gõ PIN. Cả 2 dữ liệu này được so sánh với dữ liệu PIN đã thu thập trong giai đoạn huấn luyện. Nội dung PIN phải giống nhau, cách gõ PIN được module xác thực so sánh với đặc trưng đã có, nếu độ sai khác dưới ngưỡng δ cho trước thì người dùng xem như vẫn hợp lệ và hệ thống chuyển về giai đoạn 2, tiếp tục chứng thực bị động thời gian thực, ngược lại hệ thống sẽ tiếp tục khóa. Cơ 23 chế này giúp hệ thống an toàn hơn trước việc hack PIN. Đây có thể xem là tuyến phòng thủ cuối cùng của quá trình chứng thực. Với cơ chế chứng thực kép, hệ thống vừa tiện dụng đối với người dùng bằng cơ chế chứng thực ngầm, vừa đủ an toàn trước tấn công chủ động (active attack) lẫn tấn công bị động (passive attack). 3.3 Mô hình chứng thực Chứng thực là vấn đề phân lớp hay nhận dạng mẫu. Phân biệt giữa người dùng hợp lệ và người dùng không hợp lệ (Legitimate users – Imposter users). Mẫu được sử dụng trong trường hợp này là các đặc trưng gõ phím. Để kết quả chứng thực được chính xác thì mẫu phải đồng nhất và có sự phân biệt. Tuy nhiên, trong keystroke dynamic việc các mẫu đồng nhất và phân biệt là không khả thi. Dữ liệu luôn khuếch tán. Vì vậy cần có một cơ chế tiền xử lý mẫu để quá trình phân biệt được thực hiện dễ dàng hơn. Có 2 cách giải quyết vấn đề tiền xử lý mẫu [23] (Xem thêm phụ lục B): - Tiền xử lý bằng tay: tìm kiếm và so sánh, từ đó bỏ những mẫu mâu thuẫn với các mẫu khác. Đây là phương pháp mang tính chủ quan, chậm, không hiệu quả. - Tiền xử lý tự động: có 3 phương pháp • Tìm vét cạn (Complete search) • Tìm ước lượng (Heuristic search) • Tìm ngẫu nhiên (Random search) Phương pháp tìm kiếm vét cạn đảm bảo tìm ra tập con tốt nhất nhưng đánh đổi lại là không gian tìm kiếm lớn, hiệu suất thực hiện sẽ tỉ lệ nghịch với lượng dữ liệu và số lượng đặc trưng O(2N). Một số phương pháp như: Branch and bound, Beam search. Phương pháp tìm kiếm ước lượng cho phép tối ưu hóa không gian tìm kiếm nhưng có thể bỏ mất kết quả tốt nhất và cần phải có một hàm h() có yếu tố kinh nghiệm để ước lượng kết quả. Độ phức tạp của phương pháp này là O(N2). Một số phương pháp như: Sequential forward selection, Sequential backward elimination, Bi- directional selection. 24 Phương pháp tìm kiếm ngẫu nhiên bắt đầu với một tập con ngẫu nhiên sau đó xử lý theo 2 cách: - Filter: theo một điều kiện cho trước, những đặc trưng không phù hợp với bài toán sẽ được lọc bỏ, những đặc trưng phù hợp mới được sử dụng. Một số phương pháp như: Random-start hill-climbing, Simulated anealing. - Wrapper: tập con sau được phát sinh ngẫu nhiên và hoàn toàn độc lập với tập con trước đó, mỗi tập con sẽ được đánh giá qua mô hình học. Từ đó chọn ra tập đặc trưng tốt nhất. Một số phương pháp như: Las Vegas algorithm, Genetic algorithm, Particle Swarm Optimization. Phương pháp này giúp tránh được việc vét cạn và tối ưu cục bộ. Hiệu quả phụ thuộc vào tài nguyên sẵn có. Bài toán chứng thực keystroke là bài toán chứng thực dựa trên hành vi tự nhiên của con người, hành vi này mang tính ngẫu nhiên, không có quy luật do đó mang yếu tố kinh nghiệm chủ quan để ước lượng tập đặc trưng tối ưu là không khả thi. Ngoài ra, hiệu quả của phương pháp được chọn không được tốn quá nhiều chi phí nhằm đảm bảo cho hiệu suất vận hành của cả hệ thống. Từ những điều kiện trên, phương pháp tìm kiếm ngẫu nhiên là thích hợp nhất. Trong phương pháp này, cách tiếp cận Filter cần phải có một điều kiện (độ đo) thích hợp để chọn lọc đặc trưng [23], tuy nhiên việc tìm kiếm điều kiện này là không dễ. Do đó phương pháp wrapper, phương pháp chọn đặc trưng qua đánh giá của thuật toán máy học là phù hợp nhất. Có nhiều thuật giải hỗ trợ phương pháp trên trong đó thuật giải di truyền (GA) là một lựa chọn. Support Vector Machine (SVM) với 3 đặc trưng: cực đại hóa lề, mềm hóa lề và các hàm kernel có nền tảng toán học vững chắc có thể coi là phương pháp phân lớp tốt nhất hiện nay. Mô hình chứng thực User profile kết hợp GA – SVM 25 Hình 3.7 - Mô hình chứng thực keystroke dynamic Các đặc trưng gõ phím sẽ được rút trích và tập hợp từ dữ liệu gõ phím thô. Qua quá trình thực hiện của thuật giải di truyền (GA) tập đặc trưng tốt nhất sẽ được chọn theo cơ chế đánh giá của SVM. Kết quả cuối cùng của mô hình này là SVM model và tập đặc trưng tốt nhất. Cả 2 sẽ được lưu vào User profile và dùng cho việc chứng thực. 3.4 User profile User profile (hồ sơ người dùng) là tập hợp các thông tin cá nhân của một người dùng cụ thể. User profile có thể xem như một thể hiện số (Digital instance) của người dùng, ngoài việc chứa thông tin cá nhân còn có thể được sử dụng để lưu trữ những đặc trưng cá nhân. Các hệ thống thông tin có thể sử dụng User profile trong tương tác người – máy để truy xuất hoặc cập nhật thông tin người dùng. User profile có thể tìm thấy trong hệ điều hành (OS), chương trình (Programs), trang web (Websites). User profile có 4 vấn đề quan tâm [1]: - Cấu trúc - Cơ chế khởi tạo - Cơ chế khai thác 26 - Cơ chế cập nhật 3.4.1 Cấu trúc User profile Cấu trúc User profile là tổ chức của profile. Có nhiều cách tổ chức một User profile. Montaner và đồng nghiệp [22] đã tổng hợp một số cách tổ chức thông dụng sau: Mô hình thông tin nhân khẩu (Demographic model): User profile là một tập hợp các đặc trưng về nhân khẩu (độ tuổi, giới tính, nghề nghiệp, nơi cứ trú,…). Đây là mô hình đơn giản nhất, hầu như hệ thống nào cũng có thể áp dụng được, tuy nhiên tính hiệu quả không được cao. Thông thường mô hình này được dùng kèm với một số mô hình khác. Mô hình này sẽ rất hữu ích đối với những người dùng mới, khi đó đặc trưng của người dùng hầu như không có gì ngoài các thông tin nhân khẩu. Mô hình không gian véc-tơ (Vector space model) Profile người dùng được thể hiện bởi véc-tơ những đặc trưng, trong đó thường dùng nhất là những từ khoá (Keyword). Các giá trị có thể là kiểu luận lý hoặc một con số. Giá trị này thể hiện mức độ quan tâm/ hữu ích của đặc trưng đối với người dùng. Mô hình này thích hợp khi cần làm việc với các tài nguyên dạng văn bản (tài liệu, trang web, …). Ví dụ: Profile(u) = (w1, w2,…wn) , với wi là giá trị thể hiện mức độ hữu ích của đặc trưng (thông thường là từ khóa) thứ i đối với người dùng u. Mô hình lịch sử khai thác (history-based model) Theo cách tiếp cận này, hệ thống sẽ tìm cách khai thác các thông tin từ quá trình tương tác của người dùng với hệ thống, chẳng hạn như những mặt hàng người dùng đã mua, các đường dẫn URL mà người dùng đã chọn, các thư từ của người dùng hay các hành động của người dùng đối với hệ thống để làm profile người dùng. Mô hình lịch sử khai thác được ứng dụng rất rộng rãi trong lĩnh vực thương mại điện tử, trong đó thông thường hệ thống sẽ ghi nhận lại những sản phẩm người dùng 27 đã mua hoặc đã trả lại cùng với đánh giá trên các sản phẩm. Việc lưu trữ trong profile những mặt hàng đã mua và đánh giá cao có thể giúp hệ thống suy diễn ra những chủng loại hàng yêu thích của người dùng, từ đó có thể tư vấn những mặt hàng khác phù hợp với sở thích hay mối quan tâm của người dùng. Ma trận đánh giá (user-item rating matrix) Là một ma trận hai chiều, một chiều là các người dùng và một chiều là các tài nguyên (Item). Giá trị trong ma trận thể hiện đánh giá của người dùng đối với các tài nguyên. Các giá trị này phụ thuộc vào từng hệ thống, nhưng thông thường nằm trong khoảng từ 1 (xấu) đến 5 (tốt). Thông thường các giá trị trong ma trận trên sẽ được cập nhật thủ công bởi người dùng, tức là hệ thống sẽ cho người dùng tự đánh giá trên những tài nguyên mà họ đã biết (chẳng hạn những phim đã xem hay những sách đã đọc). Tuy nhiên trong một số lĩnh vực thì các giá trị này sẽ được hệ thống cập nhật tự động dựa vào các hành vi của người dùng, ví dụ như căn cứ vào những sản phẩm mà người dùng đã mua trong lĩnh vực bán hàng qua mạng (với giả thiết là chỉ mua những sản phẩm nào mình quan tâm hay thích) hoặc căn cứ vào những liên kết, những tài liệu mà người sử dụng đã xem trong lĩnh vực tư vấn tài liệu. Item1 Item2 Item3 Item4 User1 2 2 1 User2 3 4 2 1 User3 5 3 Các mô hình dựa trên bộ phân lớp Một số hệ thống tổ chức profile người dùng theo mô hình phục vụ cho việc khai thác bằng các phương pháp phân lớp. Tùy theo phương pháp phân lớp mà profile người dùng sẽ được tổ chức cho phù hợp. Một số kỹ thuật có thể được dùng là: - Cây quyết định: Là một tập hợp các nút và các cạnh được tổ chức theo cấu trúc cây. Trong cấu trúc này, mỗi nút trung gian là một câu hỏi, các cạnh là các câu trả lời cho câu hỏi này và node lá là quyết định cuối cùng. 28 - Luật kết hợp: Theo phương pháp này, người ta sẽ khai thác tập profile của người dùng và tìm ra các luật với độ hỗ trợ và độ tin cậy nhất định nào đó. Các luật này sẽ được sử dụng để cung cấp tài nguyên cho người dùng thông qua những sản phẩm mà họ đã lựa chọn, đánh giá trước đó. Ngoài ra một số hệ thống khác tổ chức profile phục vụ cho việc khai thác theo mô hình mạng Nơ-ron, mạng Bayes, … 3.4.2 Khởi tạo User profile Khởi tạo User profile là quá trình gán thông tin lần đầu tiên cho profile. Có các cách khởi tạo sau: Dữ liệu trống (Empty) Toàn bộ thông tin ban đầu của User profile là rỗng, nội dung sau đó sẽ được tích lũy dần trong quá trình hoạt động thông qua tương tác của người dùng với hệ thống. Thủ công (Manual) User profile được khởi tạo bằng cách yêu cầu người dùng điền những thông tin cần thiết trong quá trình đăng ký như họ tên, tuổi, ngôn ngữ chính, các kĩ năng, kiến thức, … Phương pháp này có điểm bất lợi là yêu cầu người dùng cung cấp thông tin ban đầu quá nhiều, ngoài ra một số thông tin người dùng cung cấp có thể không chính xác vì bản thân cũng khó xác định được. Ví dụ người sử dụng gặp rất nhiều khó khăn khi mô tả nền tảng kiến thức hay mức độ kĩ năng. Theo khuôn mẫu (Stereotyping) Hệ thống xây dựng sẵn một số profile mẫu. Từ một số thông tin sở khởi ban đầu (tên, tuổi, giới tính, nơi cư trú, nghề nghiệp,…), hệ thống sẽ gán cho người dùng một trong số các profile mà hệ thống cho là thích hợp nhất. Phương pháp này sẽ hiệu quả khi thông tin nhân khẩu ban đầu được người dùng cung cấp tương đối đầy 29 đủ và chính xác. Tuy nhiên thực tế hiện nay, vì các lý do riêng tư cá nhân, người dùng rất ngại cung cấp đầy đủ thông chính xác về bản thân cho hệ thống. Đây là một trở ngại chính của phương pháp này. Sử dụng tập huấn luyện (Training set) Hệ thống sẽ tạo một ngữ cảnh/dữ liệu mẫu để người dùng thao tác, đánh giá. Sau đó User profile sẽ được khởi tạo bằng cách rút trích các thông tin từ sự tương tác của người dùng với hệ thống ngữ cảnh/dữ liệu mẫu này. Ví dụ: trong giáo dục, hệ thống sẽ yêu cầu người dùng mới làm bài kiểm tra, sau đó hệ thống sẽ đánh giá trình độ của người dùng và tiến hành sắp lớp thích hợp. Ưu điểm của phương pháp này là dễ thực hiện, khách quan nhưng khuyết điểm là có thể không chính xác nếu ngữ cảnh/dữ liệu mẫu không khai thác đủ và đúng những đặc trưng của người dùng. 3.4.3 Cập nhật User profile Cập nhật User profile là quá trình bổ sung, chỉnh sửa thông tin profile dựa vào những phản hồi (Relevance feedback) từ người dùng sao cho nội dung profile tại thời điểm cập nhật phản ánh gần đúng nhất với thể hiện của người dùng. Các phương pháp khởi tạo profile giải quyết tạm thời cho vấn đề người dùng mới. Tuy nhiên thông tin trong các profile ban đầu này còn khá đơn giản và chưa phản ánh chính xác đặc trưng của người dùng. Bên cạnh đó các thông tin về đặc trưng, sở thích của người dùng sẽ thay đổi theo thời gian, vì vậy việc cập nhật lại profile là điều cần thiết trong các hệ thống thích nghi. Có hai hướng tiếp cận chính cho vấn đề thu thập thông tin phản hồi từ người dùng là phản hồi tường minh (Explicit feedback) và phản hồi tiềm ẩn (Implicit feedback). Nhiều hệ thống kết hợp cả hai phương pháp này cho việc cập nhật profile. 30 3.4.3.1 Phản hồi tường minh (Explicit feedback) Người dùng được yêu cầu đánh giá trên các tài nguyên một cách thủ công thông qua các giao diện. Ví dụ đánh giá một chương trình, một trang web. Người dùng có thể đánh giá qua thang điểm, nhận xét, … Việc thu thập thông tin qua sự phản hồi tường minh của người dùng là một phương pháp đơn giản, khá chính xác, tuy nhiên phương pháp gặp một số trở ngại như sau: - Mức độ hữu ích của thông tin gắn liền với sự thay đổi nhu cầu thông tin của người dùng, ví dụ trang web thứ hai mặc dù có nội dung tương tự trang web đầu tiên nhưng được người dùng thường đánh giá trang web thứ hai thấp hơn do trang web trước đã cung cấp khá đầy đủ các thông tin. - Thông tin người dùng cung cấp có thể không chính xác, như đánh giá về nền tảng kiến thức hay mức độ quan tâm đến các chủ đề. 3.4.3.2 Phản hồi tiềm ẩn (Implicit feedback) Hệ thống tự động xác định đặc trưng của người dùng thông qua các hành vi của người dùng đối với hệ thống. Ví dụ xác định mức độ quan tâm của người dùng đến trang web thông qua số lượt xem. Lợi điểm của phương pháp này là người dùng không cần phải cung cấp quá nhiều thông tin cá nhân cho hệ thống. Trở ngại của phương pháp này là dữ liệu thu thập được sẽ rất lớn, chi phí cho xử lý tính toán cao trong khi mức độ tin cậy của thông tin được rút trích ra thường không được cao so với phương pháp phản hồi tường minh. 3.4.3.3 Phương pháp kết hợp Việc cung cấp chức năng phản hồi tiềm ẩn sẽ giảm bớt thao tác cho người dùng, trong khi việc sử dụng phương pháp phản hồi tương minh sẽ giúp hệ thống xác định sở thích người dùng chính xác hơn. Từ nhận xét này, nhiều hệ thống đã sử dụng phương pháp kết hợp giữa phản hồi tường minh và phản hồi tiềm ẩn. Một hướng 31 tiếp cận của phương pháp này là sử dụng sự phản hồi tiềm ẩn như là một thao tác kiểm tra trên những thông tin mà người dùng đã đánh giá thủ công, hoặc một hướng tiếp cận khác là việc phản hồi tường minh được xem như là một lựa chọn bổ sung khi người sử dụng có nhu cầu. 3.4.4 Khai thác User profile Tùy theo chức năng, mỗi hệ thống sẽ có nhu cầu khai thác thông tin User profile khác nhau. Ví dụ: trong các hệ thống đào tạo từ xa, User profile được sử dụng để đánh giá học viên. Trong các hệ thống thương mại điện tử, User profile được khai thác nhằm đánh giá nhu cầu tiêu dùng từ đó có những chiến lược kinh doanh thích hợp. Trong các hệ thống nhận dạng, User profile được dùng làm dữ liệu so khớp với các đặc trưng thu thập được từ đó kết luận tính hợp lệ của người dùng. Từ những đặc trưng trên User profile là một mô hình rất phù hợp cho hệ thống chứng thực người dùng. Đặc biệt là các hệ thống chứng thực qua sinh trắc học của con người. Mô hình User profile đáp ứng được yêu cầu uyển chuyển và thích nghi cần thiết của hệ thống này. 3.4.5 Mô hình User profile trong chứng thực keystroke dynamics 3.4.5.1 Cấu trúc User profile có dạng vector, với mỗi chiều là một đặc trưng gõ phím, giá trị của mỗi chiều là giá trị của đặc trưng đó. Features(u) = { F1: val1 F2: val2 … Fn: valn } 32 Trong đó Profile(u) là profile của User "u" Các đặc trưng Fi và các giá trị tương ứng của đặc trưng là vali Trong bài toán chứng thực thì Fi chính là các đặc trưng gõ phím của người dùng như Duration, Latency, ... và vali là giá trị tính bằng milisecond của các đặc trưng này. Ví dụ : một thể hiện của User profile Features(u1) = { DurationMean: 103.78 DurationVariance: 84.29 LatencyMean: 103.78 LatencyVariance: 84.29 DownDownMean: 103.78 DownDownVariance: 84.29 … } Một thể hiện của User profile trong thực nghiệm, dạng XML với thẻ root là tên người dùng, thẻ cấp 1 là tên đặc trưng và thẻ cấp 2 là giá trị liên quan của đặc trưng đó. 103.78 84.29 366.32 185.75 293.96 206.02 207.7 213.65 33 499.63 233.09 615 165.35 452 113.12 88.54 64.63 0 0 171.88 0 160.71 61.29 0 0 0 0 0 100 0 51.85 48.15 13.79 86.21 34 3.4.5.2 Khởi tạo Mỗi người dùng có một User Profile. Trong mô hình chứng thực này, ban đầu profile được khởi tạo theo phương pháp dùng tập huấn luyện. Hệ thống sẽ tạo ra một ngữ cảnh, yêu cầu người dùng gõ nhiều lần một văn bản (Patterns). Sau khi tinh lọc và thu thập đủ số lượng mẫu, các mẫu này sẽ được dùng làm mẫu huấn luyện (Train vector) cho module máy học (GA-SVM). Kết quả huấn luyện chính là vector khởi tạo (Init vector) và được lưu vào User profile cùng với một lượng k các vector luyện gần vector trung bình nhất. Mã giả của quá trình này như sau: Begin UserProfile := null Thu thập N patterns gõ phím từ người dùng (N ≥ 30) InitVector := GA-SVM({patterns}) UserProfile  InitVector Tính vector trung bình }{patterns=µ )}({ iDataTrain δµµ ±+= Với )2,1( Nkii <=< εδ UserProfile  DataTrain End 3.4.5.3 Cập nhật/Khai thác Quá trình cập nhật được thực hiện theo phương pháp không tường minh (Implicite), người dùng phản hồi ẩn thông qua thao tác gõ phím. Theo đó, quá trình cập nhật chính là tích lũy DataTrain trong suốt thời gian sử dụng. Cụ thể, sau khi chứng thực người dùng nếu kết quả là hợp lệ thì mẫu gõ phím này là chính xác của người dùng - chủ nhân User profile. Mẫu này sau đó được tích lũy vào DataTrain. Tiến trình cứ thế tiếp tục cho đến khi số lượng DataTrain đạt tới ngưỡng N thì toàn bộ các mẫu trong DataTrain được dùng để huấn luyện lại module máy học. 35 Mã giả của quá trình này như sau: Begin While (Đang sử dụng) { If có nhu cầu chứng thực then Patternv := Thu thập mẫu gõ phím If Chứng thực thành công then DataTrain = DataTrain ∪ Patternv End If End If If Card|DataTrain| > N Then //Retraining UpdateVector := GA-SVM(DataTrain) UserProfile  InitVector End If } End 3.5 Mô hình GA-SVM 3.5.1 Thuật giải di truyền Thuật giải di truyền - Genetic Algorithm (GA): là một kĩ thuật tìm kiếm lời giải tối ưu cho bài toán trong không gian lời giải cho trước bằng cách mô phỏng theo phương pháp chọn lọc tiến hóa của tự nhiên. 36 Các cặp bố mẹ Thế hệ con Quần thể Khởi tạo Kết thúc Chọn thế hệ bố mẹ Chọn các cá thể con tốt nhất Lai Đột biến Hình 3.8 - Lược đồ tổng quát của GA [16] Trong đó các lời giải ứng viên được biểu diễn dưới dạng một chuỗi nhị phân (Chromosome) qua 3 phép toán chọn lọc (Selection), lai (Crossover), đột biến (Mutation), sau n thế hệ, lời giải tối ưu gần đúng nhất sẽ được chọn. Ưu điểm của phương pháp này là tránh được vét cạn và tối ưu cục bộ. Nhược điểm là không phải lúc nào cũng tìm ra được lời giải chính xác. 3.5.2 Support vector machine Support Vector Machine (SVM) là phương pháp học máy có giám sát, dựa vào các vector hỗ trợ. Có thể dùng để phân lớp và hồi quy. Trong phân lớp, đây là phương pháp phân lớp nhị phân. Mục tiêu là tìm ra một siêu phẳng tách biệt 2 lớp khác nhau bằng cách ánh xạ qua một không gian cao chiều hơn. 37 Hình 3.9 - SVM Hàm mục tiêu: bxwxg += )(.)( φ - x: vector đầu vào, vector huấn luyện - )(xφ : ánh xạ biến x từ không gian Ra  Rb (b > a), )(xφ có thể tuyến tính hoặc phi tuyến - b: độ lệch so với góc tọa độ ban đầu Mục tiêu là tìm 1 siêu phẳng sao cho khoảng cách lề giữa 2 lớp là cực đại. Việc huấn luyện SVM chính là giải bài toán tối ưu: cực tiểu ∑ = + N i iCww 12 1 ξτ sao cho: iii bxwy ξφτ −≥+ 1))(( với Nii ,...,1,0 =≥ξ Trong đó: - C: là hằng số thỏa hiệp (Trade off), đánh đổi giữa độ chính xác và overfitting 38 - iξ : khoảng cách từ mẫu (điểm) i đến lề đúng của i - N: số lượng mẫu huấn luyện Bài toán này được đưa về bài toán đối ngẫu tương ứng là bài toán quy hoạch toàn phương (Quadratic programing) Cực đại ))()((2 1 1 11 ∑∑∑ = == − N i N j jijiji N i k xxyy φφααα Thỏa 0 và 0 N 1i =∀≤≤ ∑ = iii yiC αα Giải bài toán này ta được nghiệm ∑ = = N i iii xyw 1 )(φα Mỗi mẫu ix tương ứng với một hệ số iα . Sau khi huấn luyện, các mẫu có iα > 0 gọi là các vector hỗ trợ (support vectors). Thay nghiệm trên vào g(x) ta có: bxxy bxwxg N i iii += += ∑ = )(.)( )(.)( 1 φφα φ Có thể thay tích vô hướng )()( ji xx φφ trong không gian đặc trưng bằng hàm nhân (Kernel function) ),( ji xxK trong không gian đầu vào. bxxKyxg N i iii +=∑ = ),()( 1 α Nếu K tuyến tính thì SVM được gọi là SVM tuyến tính, nếu K phi tuyến thì gọi là SVM phi tuyến. Một số hàm nhân thông dụng: 39 - Linear: yxyxK .),( = - Polynomial: dcyxyxK ).(),( += - Sigmoid: )).(tanh(),( θκ += yxyxK - Gaussian (RBF): ) 2 |||| exp(),( 2 2 σ yxyxK −−= Hàm phân lớp có dạng: bxxKyxf svN i iii +=∑ = ),()( 1 α sv N : là số vector hỗ trợ. Nếu dấu của )(xf là (+) thì x thuộc lớp (+), ngược lại x thuộc lớp (-). Ưu điểm là: có khả năng xử lý các vector có số chiều lớn, hiệu quả với dữ liệu nhiều, giải quyết overfitting bằng soft margin. Nhược điểm là: nhạy cảm với dữ liệu nhiễu và chỉ phân lớp nhị phân. Việc tiền xử lý dữ liệu kết hợp với lựa chọn đặc trưng sẽ giúp giải quyết được vấn đề nhạy cảm với dữ liệu nhiễu. Để mở rộng giới hạn chỉ phân lớp nhị phân (phân lớp trên n lớp – multiple classification) có 2 phương pháp [20]: - one versus one (1 vs 1) - one versus all (1 vs all) Trường hợp cần phân lớp trên n lớp thì phương pháp (1 vs 1) sẽ cần 2 1−n n bộ phân lớp. Trong giai đoạn kiểm tra, để xác định nhãn của một test vector, test vector này sẽ được thử nghiệm trên 2 1−n n bộ phân lớp, nhãn của test vector sẽ là nhãn có tần suất xuất hiện nhiều nhất trong các bộ phân lớp này. Một cách khác là chuyển tập 40 các kết quả thành một vector mới, sau đó tiến hành gán nhãn dựa trên vector này bằng một bộ phân lớp khác. Trường hợp (1 vs all) sẽ cần n bộ phân lớp. Trong giai đoạn kiểm tra, test vector sẽ được thử nghiệm trên n bộ phân lớp, giá trị lớn nhất của test vector trên tất cả các bộ phân lớp sẽ quyết định nhãn của nó. Ngoài việc phân lớp nhị phân và đa lớp SVM còn có thể hồi quy và nhận dạng mẫu. Gọi là one-class SVM [21]. Sau đây là hình minh họa trực quan One-Class-SVM trong không gian 2 chiều. +1 -1 -1 -1 -1 -1 Hình 3.10 - One-Class SVM Cơ chế thực hiện tương tự như 2-class SVM, chỉ khác là tập huấn luyện khi đó không có lớp -1. Quá trình học là quá trình tìm 1 hàm f bao các vector (+1) bên trong một vùng đủ nhỏ để các vector khác ngoài vùng là (-1). Bài toán quy hoạch toàn phương trong 1-class trở thành: cực tiểu ∑ = +− l i i vl ww 1 1 2 1 ξρτ sao cho: iixw ξρφτ −≥)( với lii ,...,1,0 =≥ξ Hàm phân lớp có dạng: ηρφτ −= )()( xwxf η là ngưỡng trong hàm phân lớp để tổng quát hóa dữ liệu chưa biết. 41 Dấu của )(xf xác định dấu của x Ưu điểm của 1-class SVM là giải quyết được bài toán nhận dạng mẫu, tập huấn luyện chỉ cần lớp (+1) không cần lớp (-1). 3.6 Mô hình kết hợp User profile-GA-SVM Hình 3.11 - Mô hình kết hợp User profile - GA - SVM Như đã đề cập, các đặc trưng gõ phím sau khi được thu thập sẽ được dùng làm mẫu huấn luyện. Trong đó N đặc trưng sẽ được chọn qua cơ chế của GA Từ tập N đặc trưng ban đầu: {Fear1, Fear2, …, FearN} Biểu diễn thành dạng nhiễm sắc thể (Chromosomes): {0, 1, …, 1} Nếu vị trí i trong nhiễm sắc thể có giá trị là 0 thì Feari trong tập đặc trưng không được chọn để làm đặc trưng chứng thực, và ngược lại. Mỗi nhiễm sắc thể là một cách chọn đặc trưng. 3.6.1 Cấu trúc UserProfile { // Thông tin người dùng User Info // Thông tin chứng thực 42 SVM model Chromosome GA (tập đặc trưng mà GA đánh giá là tốt nhất) {N vector đặc trưng} } 3.6.2 Giai đoạn khởi tạo Hình 3.12 - Mô hình khởi tạo User profile Mã giả của mô hình huấn luyện GA – SVM (cơ chế khởi tạo User profile) Gọi C = {nhiễm sắc thể (cách chọn đặc trưng) của thế hệ hiện tại} begin Khởi tạo quần thể gồm tập các cách chọn đặc trưng (nhiễm sắc thể) ngẫu nhiên; Dùng SVM đánh giá độ thích nghi của từng nhiễm sắc thể; 43 repeat Chọn các cặp bố mẹ Lai các nhiễm sắc thể bố mẹ để tạo ra các nhiễm sắc thể con mới Đột biến các nhiễm sắc thể con //Dùng SVM đánh giá độ thích nghi của từng nhiễm sắc thể con begin For each chromi in C For each samplej in S samplej’ = samplej đã bỏ các vị trí 0 tương ứng theo chromi Chia các mẫu huấn luyện mới thành tập train và test Dùng SVM train và test trên các tập này Kết luận độ chính xác khi áp dụng mẫu huấn luyện mới Độ thích nghi của chromi = độ chính xác kết luận được khi test end Chọn k nhiễm sắc thể có độ chính xác cao nhất cho thế hệ kế tiếp until thỏa điều kiện dừng của GA end Ví dụ: Mẫu đặc trưng ban đầu (samplej): 1:0.122 2:0.241 3:0.0 4:0.427 5:0.312 6:0.783 7:0.335 8:0.935 9:0.464 10:0.135 Áp lên nhiễm sắc thể template (chromi): 1 0 0 1 1 0 1 0 0 0 Sau khi bỏ đi các vị trí 0, mẫu mới (samplej’) cho ra như sau: 1 0 0 1 1 0 1 0 0 0 1:0.122 2:0.241 3:0.0 4:0.427 5:0.312 6:0.783 7:0.335 8:0.935 9:0.464 10:0.135 1:0.122 4:0.427 5:0.312 7:0.335  Mẫu mới 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. 44 Sau đó, mẫu 1:0.122 4:0.427 5:0.312 7:0.335 sẽ được sử dụng để làm mẫu huấn luyện mô hình SVM. Kết thúc quá trình huấn luyện ta thu được SVM model và tập con đặc trưng tốt nhất từ GA. Hai kết quả này sẽ được lưu trong User profile cùng với các vector đặc trưng đã có. 3.6.3 Giai đoạn khai thác Giai đoạn này là giai đoạn sử dụng User profile để chứng thực người dùng. Sau khi khởi tạo User Profile, mỗi khi có nhu cầu chứng thực, người dùng sẽ được yêu cầu tương tác với bàn phím (nhập username, password, …) để hệ thống thu thập nội dung và đặc trưng gõ phím. Ngoài việc kiểm tra nội dung, hệ thống còn kiểm tra độ tương đồng của mẫu đặc trưng mới với mô hình đại diện cho tập đặc trưng đã có (SVM model) trong User profile. Theo đó mẫu đặc trưng mới thu thập sẽ không lấy toàn bộ đặc trưng, mà chỉ chọn ra những đặc trưng tốt nhất (theo đánh giá của GA) để tạo ra một mẫu mới, và mẫu này mới được dùng để chứng thực. Hình 3.13 - Mô hình khai thác User profile 45 Mã giả của mô hình khai thác (chế độ chứng thực bị động) Begin While (Chưa đủ số lượng n phím cho trước) Thu thập mẫu trong lúc người dùng gõ phím Rút trích đặc trưng từ n phím và tạo thành vector đặc trưng Ft Áp template của User profile tương ứng lên Ft  Ft’ Ft’ được test trên SVM model của User profile If Vector Ft’ thuộc lớp (+) Then Đây là user hợp lệ, được phép tiếp tục sử dụng hệ thống Else //Có khả năng không phải user hợp lệ Hệ thống chuyển sang chế độ xác thực; End If End Mã giả của mô hình xác thực (chế độ chứng thực chủ động) Begin Count := 0; While (Chưa đúng nội dung PIN) Yêu cầu người dùng nhập PIN Count++; Rút trích đặc trưng từ việc gõ PIN FPIN FPIN được test trên SVMPIN model của User profile If Vector FPIN thuộc lớp (+) thì //Đây là user hợp lệ Hệ thống chuyển sang chế độ chứng thực bị động Else //Là user không hợp lệ Hệ thống yêu cầu nhập lại PIN 46 If Count ≥ 3 Then Khóa hệ thống End If End If End [Ví dụ: Mẫu đặc trưng mới thu thập (samplen): 1:0.102 2:0.2 3:0.1 4:0122 5:0.350 6:0.534 7:0.132 8:0.821 9:0.401 10:0.232 Áp lên nhiễm sắc thể template có trong User Profile (chromu): 1 0 0 1 1 0 1 0 0 0 Sau khi bỏ đi các vị trí 0, mẫu mới (samplen’) cho ra như sau: 1 0 0 1 1 0 1 0 0 0 1:0.122 2:0.241 3:0.0 4:0.427 5:0.312 6:0.783 7:0.335 8:0.935 9:0.464 10:0.135 1:0.122 4:0.427 5:0.312 7:0.335  Mẫu mới Sau đó, mẫu 1:0.122 4:0.427 5:0.312 7:0.335 sẽ được sử dụng để làm mẫu kiểm tra (test sample) trong mô hình SVM. Nếu chứng thực thành công, mẫu thu thập ban đầu (samplen) sẽ được tích lũy vào User profile. Kết thúc quá trình khai thác ta thu được mẫu đặc trưng mới đăng nhập của người dùng và kết quả chứng thực. Nếu kết quả chứng thực là thành công (người dùng hợp lệ) thì mẫu mới này sẽ được tích lũy vào User profile để dùng cho giai đoạn cập nhật. 3.6.4 Giai đoạn cập nhật Hệ thống sử dụng cơ chế cập nhật tiềm ẩn (Implicit feedback), tự động xác định đặc trưng của người dùng thông qua hành vi gõ phím. 47 Đây là giai đoạn đảm bảo cho User profile có tính thích nghi liên tục với những thay đổi trong đặc trưng gõ phím của người dùng. Cụ thể, ban đầu khi khởi tạo, một lượng N mẫu gần với vector trung bình µ nhất sẽ được lưu lại trong User Profile. Đồng thời trong quá trình khai thác, mỗi khi chứng thực thành công, mẫu đặc trưng thu thập được lại được tích lũy tiếp. Sau khi đạt một số lượng N’ cho trước, các mẫu này sẽ được dùng để xây dựng (huấn luyện) lại SVM model và tập đặc trưng tốt nhất bằng mô hình kết hợp GA-SVM tương tự như giai đoạn khởi tạo. Sau đó vector µ ’ sẽ được tính lại và một lượng N mẫu gần với vector trung bình µ ’ nhất tiếp tục được giữ lại dùng cho lần cập nhật sau. Hình 3.14 - Mô hình cập nhật User profile Kết thúc quá trình này, nội dung User profile được cập nhật theo “xu hướng” thay đổi trong thói quen gõ phím của người dùng. Nhằm đảm bảo tính thích nghi liên tục của hệ thống. 48 3.7 Phương pháp đánh giá Các hệ thống nhận dạng có thể chạy trong 2 chế độ: định danh (Identification) và xác thực (Verification). Mỗi chế độ sẽ có một ngưỡng được đặt ra để xác định người dùng có hợp lệ hay không. Phụ thuộc vào giá trị của ngưỡng mà tất cả hoặc không có mẫu nào của người dùng mạo danh (Imposter users) được chấp nhận. Khoảng giữa của 2 giá trị này gọi là tỉ lệ chấp nhận sai (False Accept Rate - FAR). FAR là 1 nếu tất cả các mẫu của người dùng mạo danh được chấp nhận, ngược lại FAR là 0 nếu không có mẫu nào của người dùng này được chấp nhận. Hình 3.15 - FAR Tương tự cho trường hợp người dùng hợp lệ (Legitimate users). Khoảng giá trị giữa tất cả các mẫu hoặc không mẫu nào của người dùng hợp lệ bị từ chối gọi là tỉ lệ từ chối sai (False Reject Rate - FRR). FRR là 1 nếu tất cả các mẫu của người dùng hợp lệ bị từ chối, ngược lại FRR là 0 nếu không có mẫu nào của người dùng này bị từ chối. Hình 3.16 - FRR 49 Việc chọn ngưỡng phải sao cho không có mẫu nào của người dùng mạo danh được chấp nhận và không có mẫu nào của người dùng hợp lệ bị từ chối. Đây là một vấn đề, vì trong thực tế các mẫu này có thể chồng lắp nhau. Khi đó việc chọn ngưỡng sẽ được cân nhắc sao cho 2 tỉ lệ FAR và FRR là thấp nhất. Và giá trị lý tưởng trong trường hợp này chính là giao điểm giữa FAR và FRR, gọi là tỉ lệ lỗi bình đẳng (Equal Error Rate – EER) Hình 3.17 - EER Khi đánh giá một hệ thống chứng thực, không thể chỉ dựa vào hai giá trị FAR hay FRR vì không thể so sánh một hệ thống FRR cao – FAR thấp với một hệ thống FAR cao – FRR thấp. Do đó tiêu chí ở đây chính là EER. Một hệ thống có EER thấp hơn sẽ là hệ thống tốt hơn. Kết quả đánh giá của hệ thống đối với một mẫu rơi vào 1 trong 4 trường hợp sau: Kết quả thực True False Kết quả kiểm tra True True Positive False Positive False False Negative True Negative Trong đó: - True Positive  Mẫu mang nhãn True, hệ thống dự đoán nhãn True - False Positive  Mẫu mang nhãn False, hệ thống dự đoán nhãn True - True Negative  Mẫu mang nhãn False, hệ thống dự đoán nhãn False - False Negative  Mẫu mang nhãn False, hệ thống dự đoán nhãn True 50 iveFalsePositveTruePositi iveFalsePosit + =(FRR) RateReject False iveFalseNegatveTrueNegati iveFalseNegat + =(FAR) RateAccept False Hình 3.18 - FAR - FRR – EER [37] EER là giao điểm của FAR và FRR. Độ chính xác của hệ thống được tính bằng công thức: Độ chính xác = iveFalseNegatveTrueNegatiiveFalsePositveTruePositi veTrueNegativeTruePositi +++ +

Các file đính kèm theo tài liệu này:

  • pdf6_4.pdf
  • pdf0_2.pdf
  • pdf10_3.pdf
  • pdf1_2.pdf
  • pdf2_2.pdf
  • pdf3.pdf
  • pdf4.pdf
  • pdf5_2.pdf
  • pdf7.pdf
  • pdf8.pdf
  • pdf9.pdf
Tài liệu liên quan