Tải bản đầy đủ (.pdf) (26 trang)

Nghiên cứu và xây dựng hệ thống xác thực chữ ký viết tay trên thiết bị di động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.14 MB, 26 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

NGUN QC ANH

NGHIÊN CỨU VÀ XÂY DỰNG HỆ THĨNG XÁC THỰC

CHỮ KY VIET TAY TREN THIET BỊ DI ĐỘNG

HÀ NỘI - 2015

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<small>Luận văn được hoàn thành tại:</small>

<small>Người hướng dẫn khoa học: TS. Nguyễn Đức Dũng</small>

<small>Luận văn sẽ được bảo vệ trước Hội đông châm luận văn thạc sĩ tại Học</small>

viện Cơng nghệ Bưu chính Viễn thơng

<small>Có thê tìm hiêu luận văn tại:</small>

- Thu viện của Học viện Cơng nghệ Bưu chính Viễn thong

HÀ NỘI - 2015

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

MO DAU

Trong nhiều năm nay, có một cách xác thực chữ ký viết tay đã được các nhà nghiên cứu bỏ rất nhiều công sức ra, và đã tạo ra một sỐ lượng khá nhiều các kĩ thuật để áp dụng

cho cách xác thực chữ ký này[3]. Chữ ký của người cần kiểm tra sẽ không kí lên giấy như

cách thơng thường mà sẽ kí lên một bề mặt của một thiết bị chuyên dụng, phương pháp này tỏ ra rất hiệu quả. Tuy vậy, việc sử dụng phương pháp này không được sử dụng rộng rãi do nhược điểm của nó là cần một thiết bi chuyên dụng để thu thập dữ liệu. Nhược điểm nói trên có vẻ như lại đang được giải quyết với việc các thiết bi di động ngày nay. Các thiết

<small>bị này thơng thường sẽ được tích hợp trên nó một màn hình cảm ứng, và màn hình cảm</small>

ứng nó cũng giúp ta có thé lay thơng tin về chữ ký của mình một cách trực tiếp theo thời

<small>gian thực, khi này nó có thé là một ứng cử viên dé thay thé cho thiết bị chuyên dụng trên.</small>

Với mục đích đưa chữ ký viết tay dé xác thực người dùng trong các giao dich qua

các thiết bị di động, tôi xin lựa chon đề tài “Nghién cứu và xây dựng hệ thống xác thực chữ ký viết tay trên thiết bị di động ”.

Luận văn sẽ đi vào tìm hiểu tổng quan về việc xác thực chữ ký viết tay đã được cơng

bó. Sau đó lựa chọn nghiên cứu cụ thể một số thuật toán xác thực chữ ký viết tay điển hình

dé áp dụng vào lập trình các hệ thống xác thực chữ ký viết tay trên thiết bị di động - dựa

hồn tồn vào những thuật tốn đó. Cuối cùng là khảo sát hiệu quả xác thực và hiệu năng của các hệ thong này trên một bộ dữ liệu tự xây dung.

Nội dung luận văn gồm 3 chương:

Chương 1: Tổng quan bài toán xác thực chữ ký viết tay và khả năng triển khai trên

thiết bị di động.

Chương 2: Một số phương pháp xác thực chữ ký viết tay.

Chương 3: Cài đặt hệ thống xác thực chữ ký viết tay và kết luận thống kê.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

CHƯƠNG 1 : TONG QUAN VE BÀI TOÁN XÁC THỰC CHỮ KÝ VIET

TAY VÀ KHẢ NĂNG TRIEN KHAI TREN THIẾT BỊ DI ĐỘNG

<small>Luận văn này tập trung vào tự động xác thực người sử dụng chữ ký, coi chữ ký như</small>

một đặc điềm sinh trắc học có thé dùng dé xác minh một người. Việc xác thực chữ ký sẽ

được xem xét dé đưa lên các thiết bị di động cá nhân phô biến nhưng vẫn đảm bảo được tính đáp ứng của các thiết bị này với maột hệ thống xác thực chữ ký viết tay.

1.1. Các đặc điểm sinh trắc học:

Các đặc điểm sinh trắc học thường được sử dụng cho mục đích nhận dạng hoặc xác

minh một người nào đó. Với mục đích nhận dạng, đặc điểm sinh trắc học của một cá nhân sẽ được mơ tả đến hệ thống, sau đó được sử dụng dé đối chiếu với tất cả những người đã có dữ liệu đăng ký vào hệ thống, việc này là so sánh 1:N, với N là số người trong cơ sở đữ liệu. Cịn với mục đích xác minh thì hơi khác, đặc điểm sinh trắc học được dùng để kiểm tra một người khang định mình chính là một ai đó da lưu trong cơ sở dữ liệu của hệ thống có đúng hay khơng, việc này thực hiện phép so sánh 1:1. Trong chủ dé này, ta sẽ đi vào

<small>vân đê xác thực hay cũng gọi là xác minh.</small>

1.1.1. Các mơ hình sinh trắc học:

Một số mơ hình sinh trắc học đã được đề xuất trong những thập kỷ trước [12]. Những mơ hình này có thể dựa trên các đặc điểm thể chất và hành vi phụ thuộc vào bản

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

1.1.2. Xác thực chữ ký viết tay:

Hai loại hệ thống xác thực chữ ký viết tay chính đang ton tại, được phân loại dựa vào cách trích xuất thơng tin từ chữ ký. Các hệ thông offline chỉ sử dụng các bức ảnh của chữ ký, trong khi các hệ thống động hay online thì sử dụng các hàm thời gian đã số hóa

<small>của chữ ký.</small>

1.1.3. Các ứng dụng của việc xác thực chữ ký viết tay trên thiết bị di động:

<small>Thanh toán trong môi trường thương mại, các giao dịch pháp lý, đăng nhập người</small>

dùng, xác minh khách hàng, mã hóa sinh trắc học.

1.1.4. Những thách thức của việc xác thực trên các thiết bị di động:

Sự thay đôi của chữ ký đại diện cho hai vấn đề khó khăn chính là sự thay đổi chữ ký của bản thân người ký và sự giả mạo của kẻ giả mạo.Các thiết bị đi động như smartphone hay PDA bị ảnh hưởng bởi kích thước và trọng lượng hạn chế do tính chất di động của các thiết bị này. Chất lượng màn hình cảm ứng số cũng phải được đưa vào xem xét.

1.2. Xác thực chữ ký viết tay online

<small>1.2.1. Kiên trúc của một hệ thông xác thực chữ ký viêt tay online:</small>

<small>[S| Identityclaim</small>

<small>Pre- Feature Similarity Score Accepted or</small>

<small>a Processing Extraction // Computation //Normalization/Aupo eae</small>

<small>Hình 1.3- Kiến trúc phố biến của một hệ thống xác thực chữ ky viết tay online.</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

2wnt se pues Structural Approaches | Statistical Approaches Others

<sub>Approaches</sub>

<small>se Dynamic Time â = String/Tree/ ô Hidden Discrete</small>

<small>Warping [1,3, Graph Markov Model Wavelet</small>

<small>12,17, 18,19] Matching [15] [10,26,24] Transform [6]</small>

<small>¢ Euclidean/ e Support Vector Discrete CosineMahalanobis Machine Transform [23]</small>

<small>Hình 1.4- Các phương pháp xác minh chữ ký online.</small>

1.2.3. So sánh và lựa chọn phương pháp tiếp cận:

Trong phần này, ta sẽ xem xét 4 phương pháp tiếp cận Dynamic Time Warping

<small>(DTW), Hidden Markov Model (HMM), Neural Network (NN) và Support Vecto Machine</small>

(SVM), vì day là các phương pháp được đánh giá là phơ biến va có hiệu quả cao trong

<small>Graph Edit Distance[15]5.80, 2.46</small>

Bang 1-2, đưa ra dan chứng về kết qua đạt được của các phương pháp, đây chi là ví

<small>dụ về một sơ kêt quả đạt được đã cơng bơ, cịn có rât nhiêu cải đặt khác nhau của từngthuật tốn, và hiệu năng của các hệ thơng cịn phụ thuộc vào nhiêu các yêu tô, chứ không</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<small>phải chỉ ở một bước so khớp hay tính tốn độ tương tự. Nhưng nhìn chung thì hai phương</small>

pháp phô biến hiện nay là Dynamic Time Warping va Hidden Markov Model vẫn tỏ ra có

ưu thế hơn các phương pháp khác với việc hai phương pháp được sử dụng dé cài đặt phố

<small>biên nhât.</small>

Với thiết bị di động hiện nay, nhược điểm của Dynamic Time Warping là số lượng mẫu rất lớn sẽ có độ phức tạp thời gian lớn sẽ được giảm thiểu. Vì với các thiết bị

smartphone hiện nay, như tơi đã nói thách thức của nó là vùng khơng gian đầu vào bị thu nhỏ, việc này đồng nghĩa số lượng mẫu cũng sẽ giảm đi cùng với việc hiện nay, các thiết bị có khả năng xử lý với bộ xử lý khá cao sẽ là một đảm bảo dé ta đưa thuật toán có tính phơ biến này lên thiết bi dé đánh giá.

Hidden Markov Model, nhược điểm về số lượng tính năng lớn là một van đề. Với các thiết bi di động phơ biến hiện nay như ta đã nói ở phần trước ta sẽ thường chỉ lay được

các thông tin về tọa độ và thời gian, nhưng hiện tại, số lượng các đặc trưng có thể dẫn xuất từ hai thông tin tọa độ và thời gian cũng đã được cơng bồ khá nhiều. Ta sẽ tăng các tính

năng bằng các đặc trưng dẫn xuất này.

Kèm theo với việc đây là hai phương pháp tiếp cận phô biến nhất trong các hệ thống

xác thực chữ ký viết tay, ta có đủ lí do dé chon lựa hai phương pháp này nghiên cứu và xây

dựng hệ thống xác thực chữ ký viết tay trên thiết bị di động.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

CHƯƠNG II: MOT SO PHƯƠNG PHÁP XÁC THỰC CHỮ KY VIET TAY

<small>2.1. Xác thực chữ ký với Dynamic Time Warping</small>

Dynamic Time Warping là một kĩ thuật nồi tiếng dé tìm ra sự tương ứng (alignment)

tối ưu giữa hai dãy (phụ thuộc vào thời gian) cho trước dưới các phạm vi nhất dinh[5].

2.1.1. Ý trởng của Dynamic Time Warping

Đối tượng của DTW là dé so sánh hai dãy (phụ thuộc vào thời gian) : X = (x1, x2, .... XN) có độ dai NEN và Y= (yi, y2, ..., ym) có độ dài M CN. Các dãy này có thé là các

<small>tín hiệu rời rac (các dãy theo thời gian) hay tổng quát hon, dãy các đặc trưng đã lay mau</small>

tại các điểm cách đều nhau theo thời gian. Trong các phần tiếp theo, ta sẽ biểu diễn khơng gian tính năng bởi F. Khi đó xa, ym € F với n € [1:N] và m € [1:M]. Dé so sánh hai tính năng khác nhau x,y € F, ta cần một độ đo gọi là độ đo chi phi local, đơi khi người ta cũng

<small>gọi nó là độ đo khoảng cách local, độ đo này được định nghĩa bởi một hàm:</small>

<small>c:F X F > Ryo (2.1)</small>

Thông thường, c(x,y) là nhỏ (chi phí thấp) nếu x và y là tương tự với nhau, và trái

<small>lại thì c(x,y) là lớn (chi phí cao). Việc ước lượng độ đo khoảng cách cho từng cặp của các</small>

phan tử của dãy X và Y, thì ta thu được ma trận khoảng cách C € RNTM được định nghĩa

với C(n,m)=c(Xn,Ym). Sau đó mục tiêu sẽ là tim một sự tương ứng giữa các điểm của hai dãy X và Y sao cho toàn bộ tổng khoảng cách phải là nhỏ nhất. Định nghĩa sau đây định

<small>dạng dạng thức của một dãy tương ứng.</small>

<small>Định nghĩa: một đường warp (N,M) là một dãy p=(p, ..., pr) với pi= (m,mị) €</small>

[1:N]x[1:M] và IC[1:L] thỏa mãn ba điều kiện sau:

<small>() Điều kiện biên: pi=(1,1) và pr=(N,M).</small>

<small>(ii) Điều kiện về tính đơn điệu: nị< nox... < nụ và mị< mạ<... < mM.</small>

<small>(iii)Diéu kiện về kích thước bước nháy: pisi-pi € {(1,0), (0,1), (1,1)} vớ 1 € [1:L-1].</small>

Hình 2-1 mơ tả 3 điều kiện này. Với 2.3-(a) là minh họa thỏa mãn là một đường warp đảm bảo các điều kiện (i),(ii) va (11) trong định nghĩa; 2.3-(b)vi phạm điều kiện biên (i); 2.3-(c)

vi pham diéu kién tinh don diéu (ii); (d) vi phạm điều kiện kích thước bước nhảy (iii).

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Khoảng cách tơng hay chi phí tổng cp(X,Y) của một đường warp p giữa X và Y với

<small>độ đo chi phí local c được định nghĩa như sau:</small>

cu, Y)= T=1 C(Xn,› Vm) (2.2)

Hơn nữa, một đường warp tôi ưu giữa X và Y là một đường warp p* có tơng chi phí

nhỏ nhất giữa tất cả các đường warp có thé xảy ra. Khoảng cách DTW giữa X va Y được

định nghĩa theo chi phí tổng p* khi này như sau:

<small>DTW(X,Y) = cp* (X,Y) = min {cp (X, Y) | với p là một đường warp giữa X và Y}</small>

2.1.2. Tối wu sự tương quan hay đường dẫn toi ưu DTW

Sau đây là thuật tốn tính đường warp tối ưu:

<small>Thuật tốn: OptimalWarpingPath</small>

<small>Input: ma trận chỉ phí tích lity D</small>

Output: đường warp tối wu p”

Phương thức: đường warp tối ưu p*= (pi, .., pr~1. pL) được tính theo thứ tự đảo ngược của chỗ bat đầu với pr = (N.,M). Giả sử p=(n,m) đã tính được.

<small>(17m—1) néun=1</small>

<small>Pi-1 = (n—1,1) néum=1 (2.3)argmin{D(n — 1,m — 1), D(n,m— 1), D(n—1,m)}néun,m # 1</small>

với trường hợp argmin có các giá trị bằng nhau thi ta sẽ lay theo thứ tự từ điền, vì argmin có những lúc khơng phải là duy nhất.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

2.1.3. DTW và việc xác thực chữ ky viết tay 2.1.3.1. Chuan hóa độ tương tự - ER2

Với bất kỳ hai dãy X và Y, có độ dài bằng nhau, ER2 trả lời về độ tương tự nằm giữa 0-100%. Điều này sẽ giúp ta sau khi thực hiện DTW giữa hai dãy X và Y xong, có thé trả lời đc về độ tương tự giữa chúng.

Cho hai dãy X và Y, có cùng số n phan tử, mỗi phan tử lại là một vecto trong không

gian K chiều. Để so sánh hai dãy n phần tử K chiều này ta sử dụng công thức định nghĩa

<small>ER? như sau:</small>

fi (a (ay — X2)(wại — YG)?

ER? = K n x2 K n 332<sub>ji 33;—1(#j¡ — Xj) 3)7= 3 3;—1(Mji — Ÿj) (2.4)</sub>

với X,ữ) là giá trị trung bình của dãy giá trị ở chiều (dimension) thứ j của dãy X(Y).

2.1.3.2. Kết nối DTW và ER?, kịch bản xác thực chữ ký

ER? có một nhược điểm, nó chỉ cho phép so sánh 1-1 giữa hai dãy có độ dài giống nhau, giống như việc chuẩn hóa khoảng cách Euclidean. Với hai day có độ dài rất khơng giống nhau, ER? không thể được áp dụng trực tiếp. Thông thường, một dãy được tạo nên bởi một chữ ký ở những lần khác nhau sẽ có độ dài biến đổi ké cả khi đó là cùng của một người kí. Ma DTW lại được biết là thuật toán rat tốt dé sắp xếp tương ứng các phan tử giữa hai dãy có độ dài khác nhau, nhưng lại khơng trả lời được câu hỏi chính xác “tốt” về độ

tương tự giữa hai dãy. Do đó ta có thé kết nỗi DTW với ER? dé đồng hóa ưu điểm của

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<small>Hình 2.2- Mơ hình markov 4 trạng thái.</small>

Tại thời điểm t bất kỳ, hệ thống có thể chuyền từ trạng thái S¡ hiện hành sang một trong N-1 trang thái cịn lại hoặc chun trở lại chính trang thái S; theo quy luật được tạo ra bởi một tập các xác suất biến đôi của từng trang thái. Ta sẽ biểu thị thời gian liên quan

đến việc thay đôi trạng thái là t=1, 2, 3, .. và ta biểu thị trạng thái đạt được tại thời điểm t

là qt. Một mô tả đầy đủ xác suất của hệ thống nói chung sẽ địi hỏi mơ tả của trạng thái ở thời điểm hiện tại cũng như ở các trạng thái trước nó. Cụ thể trường hợp của một dãy rời rạc, các thứ tự đầu tiên của dãy Markov, mô tả xác suất này được rút gọn dé chỉ đưa ra trạng thái hiện tại và trạng thái ngay liền trước:

<small>Plg, =S,l4q,¡ =SŠ,.4,¿ = Sx] = Pla, = 5, lq,¡= S,] (2.5)</small>

Hon nữa ta chi xem xét các tiễn trình ở bên phải của cơng thức (2.5) với nghĩa độc lập với thời gian, do đó kéo theo tập các xác suất biến đổi trạng thái ai; có dạng:

<small>Vì chúng phải ln tn thủ điều kiện ngẫu nhiên chuẩn.</small>

<small>Tiên trình ngẫu nhiên ở trên có thê được xem như Mơ hình Markov hiện vì đâu racủa tiễn trình này thực chất ở mỗi thời điểm là một trạng thái, với mỗi trạng thái tương ứngchính là sự kiện mà ta có thể quan sát (nhìn thấy) được trực tiếp</small>

<small>Với 77; là xác suât khởi đâu của trạng thái Si — xác suât rơi vào trạng thái S; vào thời</small>

dém t=l:

<small>với z,=Plq =5,], 1<ij<N (2.8)</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

2.2.2. Mơ hình Markov ẩn — Hidden Markov Model

Định nghĩa một cách hình thức, HMM gồm các thành phan sau đây:

1) N- sỐ lượng trạng thái của mơ hình: mặc dù các trạng thái được xem là “An” nhung trong một số ứng dụng cụ thé, các trạng thái cũng đóng vai trị nhất định nào đó; chang hạn như trong hệ thống binh-cau, các trạng thái ứng với các bình... Ta ký hiệu các trạng thái là S = {S1, So, .., Sn} và trạng thái ở thời điểm t là dt.

2) M-số lượng tín hiệu có thể quan sát được trong mỗi trạng thái. Các tín hiệu quan sát này là thành phan trong chuỗi kết xuất của mô hình. Trong hệ thống binh-cau, các tín hiệu quan sát chính là màu sắc phân biệt của các quả cầu. Ta ký hiệu các tín hiệu quan sát này là V = {v, v2, .., vm} và tín hiệu quan sát được ở thời điểm t là

3) Cac xác suất chuyền trạng thái A = { ai } với

<small>aj=p(qui=Sjlq:=Si), 1<i1j<N (2.9)</small>

<small>thỏa mãn ràng buộc we aj = 1.</small>

4) Cac hàm mật độ xác suất trong mỗi trạng thái B = { b(Œ) } với

<small>bi(k) = p ( vx tại t | q=S¡ ), 1<j<N, I<k<M (2.10)</small>

<small>thỏa mãn ràng buộc YL, b;(k) = 1.</small>

5) Xác suất khởi đầu của mỗi trạng thái n = { 7, } với

<small>1; = p(qi = Si), I<<N (2.11)</small>

<small>thỏa mãn ràng buộc YL, 7; = 1.</small>

Ta quy ước mỗi mơ hình HMM sẽ được đại diện bởi bộ tham số A=(A, B, 2).

<small>2.2.3. Ba bài toán cơ bản cia HMM</small>

Đề có thể áp dụng được mơ hình HMM vào các ứng dụng phức tạp trong thực tế, trước hết cần có lời giải thỏa đáng cho 3 bài toán cơ bản của HMM{[1]:

<small>Bài toán 1: cho trước chuỗi tín hiệu quan sát O = O; Oa.... Or và mơ hình HMM đại</small>

diện bởi bộ tham số A=(A, B, ø). Làm sao dé tính tốn một cách hiệu quả p(O| A) - xác suất

<small>phát sinh O từ mơ hình À?</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<small>Bài tốn 2: cho trước chuỗi tín hiệu quan sát O = O¡ O> ... Or và mơ hình HMM đại</small>

diện bởi bộ tham số A=(A, B, 2). Cần tìm ra chuỗi trạng thái tối ưu nhất Q = qi q2... qr đã

<small>phat sinh ra O?</small>

Bài tốn 3: cho trước chuỗi tín hiệu quan sát O = O¡ Op ... Or. Lam thé nào dé xác định các tham số mơ hình A=(A, B, œ) sao cho cực đại hóa xác suất p(O| A)? Đây chính là bài tốn học / huấn luyện mơ hình. Bài tốn này đem lại một khả năng rất quan trọng của

HMM: khả năng mơ hình hóa một đối tượng cụ thể trong thực tế, mơ hình hóa dit liệu học.

2.2.3.1. Bài toán 1 — ước lượng van đề

<small>Một giải pháp khả thi hơn dé tính p(O| A) là thông qua thủ tục forward-backward.</small>

Trước tiên, ta định nghĩa biến forward œ() là xác suất ở trạng thái S¡ tại thời điểm t và đã

<small>quan sát được đoạn Oj, Od, ..., O; từ mơ hình A cho trước:</small>

<small>a,,(i) = P(O,O)...0,,4, =S,lÂ) — (2.13)</small>

Các biến œ(1) có thé được tính theo qui nạp từng bước như sau:

<small>1) Khởi tạo: a1(i)= mbi(Oj), 1<i<N (2.14)</small>

2) Qui nạp: #,;¡Ú) = [EM ae ay] (Ory), 1S<T-1,1Xj£N — (215)

Như vậy, với qui nạp, ta hoàn toàn có thé tinh được ơr(). Mà theo định nghĩa thì

<small>ar(i) = p(O¡ Oa... Or, qr = Si | A). Từ đây, dé dàng có được:</small>

pola) = YL, az(i) (2.16)

về độ phức tạp tính tốn, dé tính được tất cả các bién forward œ(), ta cần thực hiện N?T phép tính, nhỏ hơn rất nhiều so với con số 2TNT của phương pháp tính trực tiếp.

Tương tự như trong thủ tục forward, thủ tục backward trước hết định nghĩa biến

backward f,(i) là xác suất quan sát được đoạn Ot, Or2, ..., Or cho trước trang thái Si ở thời điểm t và mơ hình 2:

<small>B:Œ)= p(Ou1 Ovv2 ... Or | q=S¡, A) (2.17)</small>

Các biến B,(i) cũng được tinh theo qui nạp từng bước như sau:

<small>1) Khởi tạo: BrG)=1 với I<<N (2.18)</small>

<small>2) Qui nạp: B, (i) = DL, &¡jb/(O¿++),++(7) với t=T-1, T-2,...,1 và 1<i<N (2.19)</small>

</div>

×