1. Trang chủ
  2. » Giáo Dục - Đào Tạo

bảo vệ mẫu đặc trưng sinh trắc gương mặt trong xác thực trên thiết bị di động thông minh

52 379 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 52
Dung lượng 3,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dữ liệu sinh trắc học của từng cá nhân với đặc điểm khuôn mặt, ảnh chụp võng mạc, giọng nói sẽ được kết hợp với nhau bằng phần mềm để tạo ra mật khẩu dành cho những giao dịch điện tử, ph

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

THỰC TẬP TỐT NGHIỆP BẢO VỆ MẪU ĐẶC TRƯNG SINH TRẮC GƯƠNG MẶT TRONG XÁC THỰC TRÊN THIẾT BỊ DI

Trang 2

Th c T p T t Nghi p ực Tập Tốt Nghiệp ập Tốt Nghiệp ốt Nghiệp ệp 2014

LỜI CẢM ƠN

Lời đầu tiên, chúng tôi xin được gừi lời cảm ơn tới Khoa Khoa Học & Kỹ Thuật Máy Tính – Trường Đại Học Bách Khoa TPHCM đã tạo điều kiện cho chúng tôi trong suốt quá trình nghiên cứu và thực hiện đề tài này Chúng tôi cũng xin được cảm tới tới các thầy cô đã giảng dạy, truyền đạt nhiều kiến thức bổ ích trong suốt các năm học vừa qua, tạo tiền đề vững chắc để chúng tôi có thể có được nền tảng kiến thức vững vàng, phục vụ và hỗ trợ đắc lực cho quá trình nghiên cứu đề tài thành công tốt đẹp

Đặc biệt, chúng tôi xin gửi lời cảm ơn sâu sắc tới cô Lê Thị Bảo Thu, giảng viên đã trực tiếp hướng dẫn, chỉ bảo, giúp đỡ chúng tôi trong quá trình thực hiện đề tài này

Mặc dù đã rất cố gằng trong quá trình thực hiện đề tài, song vẫn không thể tránh khỏi những sai sót, rất mong được sự góp ý, chỉ bảo của các thầy cô

Xin chân thành cảm ơn !

i

Trang 3

Th c T p T t Nghi p ực Tập Tốt Nghiệp ập Tốt Nghiệp ốt Nghiệp ệp 2014

TÓM TẮT NỘI DUNG

Trong phạm vi thực tập tốt nghiệp, đề tài sẽ bao gồm các nội dung chính như sau: giới thiệu tổngquan về dề tài, các cơ sở lý thuyết ( rút trích đặc trưng PCA, Secure Sketch, Fuzzy Etractor), hiện thực Demo trên nền tảng Android, hướng phát triển đề tài trong giai đoan tiếp theo

ii

Trang 4

Th c T p T t Nghi p ực Tập Tốt Nghiệp ập Tốt Nghiệp ốt Nghiệp ệp 2014

M c L c ục Lục ục Lục

LỜI CẢM ƠN i

TÓM TẮT NỘI DUNG ii

MỤC LỤC HÌNH v

CÁC THUẬT NGỮ CHÍNH vi

Chương 1: TỔNG QUAN ĐỀ TÀI 1

1.1 Giới thiệu: 1

1.1.1 Tình hình sử dụng Smartphones tại Việt Nam 1

1.1.2 Tổng quan về hệ thống bảo mật dữ liệu trên Smartphones 1

1.1.3 Tổng quan về sinh trắc học 2

1.1.4 Vai trò quan trọng của sinh trắc học 2

1.2 Mục tiêu của bài toán 3

Chương 2: CƠ SỞ LÝ THUYẾT 4

2.1 Các phương pháp trích chọn đặc trưng 4

2.1.1 Khái quát về các đặc tính sinh trắc học của con người 4

2.1.2 Tổng quan về hệ thống nhận dạng mặt người cơ bản 5

2.1.3 Eigenfaces – PCA 7

Quá trình rút trích 9

2.1.4 Fisherfaces – LDA 13

2.1.5 So sánh PCA và LDA 14

2.2 Secure Sketch và Fuzzy Extractor 15

2.2.1 Secure Sketch 15

2.2.2 Fuzzy Extractor 16

Chương 3 CÁC NGHIÊN CỨU BỔ SUNG 17

3.1 Mô hình Small – Secure Sketch của Ee-Chien Chang và Qiming Li 17

3.1.1 Giải thuật 17

3.1.2 Đánh giá và kết luận 18 iii

Trang 5

Th c T p T t Nghi p ực Tập Tốt Nghiệp ập Tốt Nghiệp ốt Nghiệp ệp 2014

3.2 Mô hình Codebook Secure Sketch của D-STAR Lab 18

3.2.1 Giải thuật 18

3.2.2 Đánh giá và kết luận 19

Chương 4 HIỆN THỰC DEMO 21

4.1 Tổng quan về Android 21

4.2 Các thư viện sử dụng 22

4.2.1 OpenCV 22

4.2.2 JavaCV 23

4.2.3 Apache Commons Library 23

4.2.4 Goole ZXing (Zebra Crossing) 23

4.3 Chương trình Demo 24

Chương 5: TỔNG KẾT 42

5.1 Đánh giá 42

5.2 Hướng phát triển luận văn 42

TÀI LIỆU THAM KHẢO 43

iv

Trang 6

Th c T p T t Nghi p ực Tập Tốt Nghiệp ập Tốt Nghiệp ốt Nghiệp ệp 2014

MỤC LỤC HÌNH

Figure 1 Các đặc trừng sinh trắc của con người 4

Figure 2 Hệ thống nhận dạng mặt người cơ bản 5

Figure 3 Sơ đồ khối trích chọn đặc trưng sử dụng Eigenfaces 7

Figure 4 Chuẩn hóa ảnh 10

Figure 5 Trung bỉnh ảnh của tập dữ liệu 11

Figure 6 Kiến trúc của nền tảng Android 21

Figure 7 Các phiên bản Android 22

Figure 8 Cấu trúc chương trình 24

Figure 9 Icon demo 25

Figure 10 Màn hình chính của Demo 26

Figure 11 Màn hình training 27

Figure 12 Giao diện chụp ảnh 28

Figure 13 Giao diện sau khi chụp ảnh 29

Figure 14 Giao diện khi train 30

Figure 15 Một phần của data 31

Figure 16 Cửa sổ logcat khi train 32

Figure 17 Ảnh chụp thư mục train 33

Figure 18 Ảnh trung bình 33

Figure 19 Ảnh đặc trưng của từng khuôn mặt 34

Figure 20 Giao diện đăng ký 35

Figure 21 Giao diện sau khi chụp ảnh cần đăng ký 36

Figure 22 Giá trị đặc trưng của khuôn mặt đăng ký 37

Figure 23 Đăng ký thành công 38

Figure 24 Màn hình xác thực 39

Figure 25 Chụp ảnh khuôn mặt cần xác thực 40

Figure 26 Xác thực thành công 41

v

Trang 7

Th c T p T t Nghi p ực Tập Tốt Nghiệp ập Tốt Nghiệp ốt Nghiệp ệp 2014

CÁC THUẬT NGỮ CHÍNH

AES Advanced Encryption Standard

DES Data Encryption Standard

JDK Java Development Kit

LDA Linear Discriminant Analysis

PCA Principal component analysis

vi

Trang 8

Chương 1: TỔNG QUAN ĐỀ TÀI

1.1 Giới thiệu:

1.1.1 Tình hình sử dụng Smartphones tại Việt Nam

Ngày nay Smartphones đang dần trở nên phổ biến, với việc các hãng di động lớn như Apple,Samsung, LG, Sony…liện tục cho ra đời nhiều sản phẩm đa dạng với giá cả tầm trung, thì việc

sở hữu 1 chiếc Smartphones đã không còn là giấc mơ xa vời với nhiều người nữa Giờ đây chỉvới 1 người có thu nhập trung bình cũng có thể sở hữu trong tay 1 chiếc Smartphones với đầy đủcác tính năng nghe gọi, giải trí đa phương tiện Có thể nói Smartphones đã thâm nhập vào mọitầng lớp của xã hội, giờ đây nhắc tới điện thoại di động thì người ta đã tưởng tượng ngay đến 1công cụ phục vụ học tập, công việc, giải trí cho con người chứ không còn là thiết bị chỉ để nghe

và gọi

Tuy nhiên, bên cạnh những tiện ích thiết thực thì việc sử dụng Smartphones cũng mang đếnnhững rắc rối,rủi ro tiềm ẩn cho người dùng Nếu như lúc trước, khi mất đi một chiếc điện thoại,người dùng đơn thuần chỉ mất đi số tiền để mua chiếc điện thoại đó, thì ngày nay, giá trị màngười dùng mất đi sẽ rất lớn khi chiếc Smartphone của mình lọt vào tay kẻ gian Chính thói quenlàm việc và lưu trữ các thông tin cá nhân như mật khẩu máy chủ công ty, mật khẩu ATM, thôngtin tài khoản ngân hàng, thư điện tử,… trên Smartphones của người dùng đã gây ra điều này Khinhững thông tin cá nhân này rơi vào tay kẻ xấu, người dùng có nguy cơ mất tài sản lớn, các vấn

đề công việc của người dùng cũng bị ảnh hưởng, và thậm chí có nguy cơ bị mạo danh ngườidùng trong các dịch vụ khác ngoài đời

Tất cả các điều trên đã chứng tỏ được tầm quan trọng và cấp bách của việc bảo vệ dữ liệu ngườidùng trên Smartphones

1.1.2 Tổng quan về hệ thống bảo mật dữ liệu trên Smartphones

Có hai phương pháp cơ bản thường được sử dụng trong một hệ thống bảo vệ dữ liệu: xác thựcngười dùng và mã hóa dữ liệu

Phương pháp xác thực người dùng là phương pháp hệ thống kiểm tra người đang truy xuất vàtương tác với hệ thống của phải là người dùng thực và chủ nhân không Đa số các hệ thống hiệngiờ có phương pháp xác thực người dùng là sử dụng một chuỗi kí tự làm mật khẩu Xét về khíacạnh kỹ thuật, phương pháp này tương đối đơn giản Tuy nhiên, phương pháp này có bất lợi làngười dùng phải nhớ tên tài khoản định danh của mình và mật khẩu tương ứng để cung cấp cho

hệ thống mỗi lần muốn truy cập hệ thống dữ liệu lưu trữ Thêm nữa, việc tấn công một hệ thống

sử dụng mật khẩu là một chuỗi kí tự đơn giản sẽ không quá khó khăn cho kẻ gian

Trang 9

Phương pháp mã hóa dữ liệu là phương pháp bảo vệ dữ liệu, chỉ người dùng nắm được khóa(key) giải mã mới có thể đọc được dữ liệu Có khá nhiều giải thuật mã hóa dữ liệu được các nhàkhoa học, các tổ chức lớn nghiên cứu và phát triển như DES, Triple DES, AES,… Đa số các hệthống mã hóa dữ liệu sử dụng khóa là một chuỗi kí tự tương tự như mật khẩu trong xác thực Tuynhiên, việc bắt người dùng phải nhớ được khóa tương ứng với dữ liệu là một bất lợi cho phươngpháp này.

Mỗi người có một đặc điểm sinh học duy nhất Dữ liệu sinh trắc học của từng cá nhân với đặc điểm khuôn mặt, ảnh chụp võng mạc, giọng nói sẽ được kết hợp với nhau bằng phần mềm để tạo

ra mật khẩu dành cho những giao dịch điện tử, phương thức đó là "công nghệ sinh trắc đa nhân tố" Sự phát triển của công nghệ đã thay đổi từ việc lăn tay trên mực và lưu trữ trên giấy sang quét trên máy và lưu trữ kỹ thuật số

1.1.4 Vai trò quan trọng của sinh trắc học.

Sử dụng sinh trắc học trong phương pháp xác thực người dùng và mã hóa dữ liệu là một giải

pháp rất hứa hẹn cho vấn đề bất tiện của người dùng được nêu ở mục trên (1.1.2) Sự tiện lợi và

hiệu quả của việc sử dụng sinh trắc học được thể hiện qua các đặc điểm dưới đây của sinh trắchọc con người:

Duy nhất: mỗi người đều có các sinh trắc học khác nhau Hai người tuy có giống nhau

như sinh đôi, nhưng vẫn khác nhau ở một số đặc điểm như vân tay Vấn đề kẻ xấu đoánmật khẩu sẽ trở nên khó khăn hơn khi dùng sinh trắc học

Phổ biến: tất cả mọi người đều sở hữu các đặc điểm sinh trắc học Điều này khiến

phương pháp sinh trắc học không giới hạn người dùng

Tiện lợi: người dùng không cần phải nhớ mật khẩu hay khóa của mình khi sử dụng hệ

thống vì chính bản thân con người họ cùng các đặc điểm sinh trắc học đã là mật khẩu vàkhóa

Trang 10

Tuy nhiên, việc sử dụng sinh trắc học cũng gặp phải một số vấn đề cần lưu ý Việc bảo vệ sinhtrắc học cũng như việc dữ liệu đặc trưng sinh trắc học có thể bị nhiễu do điều kiện ngoại cảnh(ánh sáng trong hình ảnh, tiếng ồn khi thu âm giọng nói, các hệ thống hỗ trợ việc rút trích sinhtrắc học (sensors) có thể không chính xác) là những vấn đề cần có giải pháp khắc phục Do đó,

hệ thống bảo vệ dữ liệu trên Smartphones sử dụng sinh trắc học cần phải có phương pháp sửdụng sinh trắc học con người một cách hợp lý

1.2 Mục tiêu của bài toán

 Tìm hiểu và trình bày cách thức rút trích dữ liệu sinh trắc học Đề tài sử dụng hình ảnhkhuôn mặt (hai chiều 2D) làm đặc trưng sinh trắc học người dùng trong xác thực và mãhóa dữ liệu vì hầu hết thiết bị di động Smartphones ngày nay đều có thiết bị chụp ảnh

 Nghiên cứu 2 mô hình sửa lỗi và bảo vệ (template protection) là Secure Sketch và FuzzyExtractor

 Xây dựng Demo ứng dụng trên thiết bị di động chạy hệ điều hành Android Việc chọnAndroid làm nền tảng xây dựng Demo xuất phát từ sự phát triển bùng nổ của nền tảngnày, hiện tại đa số Smartphones trên thị trường đều chạy hệ điều hành Android, ngoài raAndroid là nền tảng mã nguồn mở, có thể dễ dàng phát triển hệ thống và tùy chỉnh trongtương lai

Trang 11

2.1 Các phương pháp trích chọn đặc trưng

2.1.1 Khái quát về các đặc tính sinh trắc học của con người

Đặc tính sinh trắc của con người là đặc tính đo được các nét hành vi riêng của con người Nhậndiện người được thực hiện trong quá trình kiểm tra tính đồng nhất của đặc tính sinh trắc giữangười cần kiểm tra với đặc tính tương tự của người đã được lưu sẵn trong CSDL Có thể nhậndiện người dựa trên các đặc điểm sinh trắc tĩnh trên người như khuôn mặt, mắt, vân tay, bàn tay,gen…hay các đặc trưng hành vi

như dáng đi, chữ viết, giọng nói…

Figure 1 Các đặc trừng sinh trắc của con người

Dữ liệu sinh trắc lý tưởng của người cần phải có những đặc tính cơ bản như:

Tính tổng quát: Mỗi người đều được thể hiện bởi đặc tính này.

Tính duy nhất: Không thể tồn tại hai người có đặc tính giống nhau.

Tính thường xuyên: Là sự độc lập của đặc tính đối với thời gian.

Tính thu thập được: Là đặc tính được thu thập một cách tương đối đơn giản và nhanh

chóng từ mỗi cá nhân và có thể được chi tiết hóa

2.1.2 Tổng quan về hệ thống nhận dạng mặt người cơ bản

Trang 12

Figure 2 Hệ thống nhận dạng mặt người cơ bản

Tiền xử lý

Tiền xử lý khuôn mặt là bước xử lý hình ảnh khuôn mặt hai chiều trước khi đưa vào quátrình xác thực làm tăng độ chính xác của việc xác thực người dùng Ngoài ra tiền xử lýcòn đảm bảo dữ liệu đưa vào luôn đồng nhất về kích thước và định dạng Một số kỹ thuậttrong bước tiền xử lý khuôn mặt là chuyển về dạng bitmap, chuyển về ảnh trắng đen(grayscale), nhận dạng khuôn mặt (face detection)

Chuyển về dạng bitmap: Hình ảnh thường được chụp và ghi lại bằng nhiều kích

thước và định dạng khác nhau Phần lớn các thư viện xử lý hình ảnh hiện nay đềuchỉ hoạt động được khi hình ảnh đưa vào cùng kích thước và định dạng Thựchiên bước này giúp cho hình ảnh đưa vào có cùng một dạng chuẩn bitmap (.bmp)

Chuyển về ảnh trắng đen (Gray-scaling): Để đảm bảo việc xử lý hình ảnh được

chính xác, ta cần phải loại bỏ những tác nhân gây nhiễu trong hình ảnh khuôn mặt

và màu sắc là một trong những tác nhân đó Do đặc trưng khuôn mặt của conngười thường ít phụ thuộc vào màu sắc và các giá trị màu sắc RGB thường ảnhhưởng đến các giải thuật nhận dạng khuôn mặt (ảnh hướng tới độ sáng tối, đặctrưng khuôn mặt) nên cần phải chuyển ảnh về dạng trắng đen trước khi xử lý

Nhận dạng khuôn mặt (Face detection): Hình ảnh đưa vào trong quá trình nhận

dạng thường không phải chỉ là hình ảnh khuôn mặt mà thường có thêm những chitiết xung quang như khung cảnh, phông nền … Những chi tiết này tuy không lớn

Trang 13

nhưng sẽ ảnh hưởng phần nào đến kết quả của quá trình rút trích đặc trưng từkhuôn mặt Bước nhận dạng khuôn mặt sẽ xử lý vấn đề này bằng cách loại bỏ cácyếu tố xung quanh và chỉ xử lý trên khuôn mặt của người dùng Ngoài ra các đặctrưng không quan trọng và dễ thay đổi trên khuôn mặt như tóc đều sẽ được loại

bỏ Quá trình xử lý khuôn mặt sẽ chỉ tập trung vào các đặc trưng chính của khuônmặt như mắt, mũi, miệng Quá trình nhận dạng khuôn mặt sẽ bao gồm các bướcsau:

o Chuẩn bị một tập các ảnh huấn luyện (training set),

o Tính toán các eigenfaces từ tập huấn luyện và giữ lại M eigenfaces cóeigenvalue lớn nhất, M eigenfaces này định nghĩa “face space” cho việcnhận dạng

o Chiếu các ảnh khuôn mặt vào trong “face space” ta được các vector đặctrưng cho mỗi khuôn mặt là các vector của các hệ số

o Chiếu khuôn mặt cần được nhận dạng vào “face space” và xác định xem nóphù hợp nhất với khuôn mặt đã biết nào bằng cách so sánh vector hệ số của

nó với các vector trong tập huấn luyện

Trích rút đặc trưng:

Trích rút đặc trưng là kỹ thuật sử dụng các thuật toán để lấy ra những thông tin mangnhững đặc điểm riêng biệt của một người

Có 3 phương pháp: phương pháp tiếp cận toàn cục (global, ví dụ điển hình là Eigenfaces

- PCA, Fisherfaces - LDA), phương pháp tiếp cận dựa trên các đặc điểm cục bộ (localfeature based, như LBP, Gabor wavelets) và phương pháp lai (hybrid, là sự kết hợp củahai phương pháp toàn cục và local feature) Đề tài này sẽ sử dụng phương pháp tiếp cậntoàn cục – một phương pháp đơn giản và được sử dụng khá phổ biến

Các khâu trong quá trình trích chọn đặc trưng:

o Đầu vào: Ảnh đã được chuẩn hóa

o Đầu ra: vector đặc trưng của ảnh đầu vào

Quá trình trích rút đặc trưng được thể hiện qua lưu đồ sau:

Trang 14

Figure 3 Sơ đồ khối trích chọn đặc trưng sử dụng Eigenfaces

2.1.3 Eigenfaces – PCA

Giới thiệu:

Phương pháp này được phát minh năm 1901 bởi Karl Pearson và hiện nay nó được sửdụng như công cụ để phân tích dữ liệu nghiên cứu và thực hiện các mô hình dự đoán.PCA còn bao gồm cả việc tính toán phân tích các giá trị đặc trưng của một ma trận tuơng

Trang 15

quan dữ liệu hay phân tính các giá trị đơn của ma trận dữ liệu thường sau khi tính trungbình dữ liệu của mỗi thuộc tính PCA là phương pháp đơn giản nhất phân tích đa biếndựa trên các vector đặc trưng Thông thường hoạt động của nó có thể được hiểu nhằmkhám phá ra cấu trúc bên trong của dữ liệu Nếu một tập dữ liệu đa biến được xem xétnhư tập các tọa độ trong một không gian dữ liệu nhiều chiều (mỗi trục biểu diễn mộtbiến) thì phương pháp PCA cung cấp cho chúng ta một bức ảnh ít chiều, một cái bongcủa vật thể khi quan sát từ chính những đặc trưng cơ bản nhất của vật thể đó.

Đối với các ảnh khuôn mặt, dù có khác nhau như thế nào đi nữa thì chúng vẫn có chungcác “mẫu” (pattern) thông tin nhất định, gọi là các eigenfaces Các mẫu thông tin này cóđóng góp vào các khuôn mặt khác nhau với tỉ lệ khác nhau, mỗi khuôn mặt có thể xấp xỉthành một tổ hợp tuyến tính các eigenfaces và vector các hệ số là đặc trưng cho khuônmặt đó trong tập hợp các khuôn mặt hiện tại

Các eigenfaces là tập các eigenvector của ma trận hiệp phương sai xây dựng từ tập ảnhhuấn luyện

Mục tiêu của phương pháp PCA là “giảm số chiều” của 1 tập vector sao cho vẫn đảm bảo được “tối đa thông tin quan trọng nhất” Phương pháp PCA sẽ giữ lại K thuộc tính

“mới” từ M các thuộc tính ban đầu (K<M)

Tính eigenfaces:

Phương pháp PCA coi một ảnh xám R x C pixels là một vector trong không gian

N = R x C chiều Không gian mới được tạo ra bởi PCA được cấu thành từ K vector đơn

Trang 16

Gọi A={Φ1, Φ2, … ,Φ M} ta có ma trận hiệp phương sai của A :

Gọi các giá trị riêng của C là λ1, λ2, … , λ n sắp xếp theo thứ tự giảm dần, tương

ứng với N vector riêng u1,u2, … , u n Các vector riêng này trực giao từng đôi một Mỗi

vector riêng u i được gọi là một eigenface Tập hợp vector ban đầu được biểu diễn trongkhông gian tạo bởi N eigenface theo mô tả sau:

Vector các hệ số khai triển [w1, w2, … , w k] chính là biểu diễn mới của ảnh được

tạo ra trong không gian PCA Ảnh mới ^x vẫn giữ được các đặc điểm chính của ảnh đầu

vào Vector [w1, w2, … , w k] được tính theo công thức sau :

M là số ảnh đầu vào Ta có thể chứng minh như sau: gọi v i , μ i lần lượt là vector riêng và

giá trị riêng của ma trận L:

AT.A.vi = v i μ i.

Nhân cả hai vế với A ta có : A.AT.A.vi = v i μ i.A

Ta thấy A.vi chính là vector riêng của C = A.AT ứng với giá trị riêng μ i

Quá trình rút trích

Giai đoạn 1 : Tạo ra các eigenfaces thông qua quá trình học các ảnh mẫu.

Trang 17

Giai đoạn 2 : Chiếu vector ảnh cần nhận dạng vào không gian eigenface Các

vector đặc trưng của ảnh đầu vào là phép chiếu từ ảnh ban đầu vào không giantạo bởi các eigenface

Chuẩn hóa ma trận ảnh :

Chuẩn hóa vector là khâu đầu tiên cần thực hiện khi sử dụng thuật toán PCA Sự phân bốcủa một vec-tơ trong không gian được thể hiện qua trung bình (mean) và chuẩn (standart)của vector đó

Cho vector X = [x1, x2, … , xn] trung bình và chuẩn của vector X được tính như sau :

Phép chuẩn hóa ma trận ảnh được thực hiện theo công thức sau:

Trong đó, Γ là ma trận ảnh đã được chuẩn hóa, (x, y) là tọa độ điểm ảnh Kết quả quá trình chuẩn hóa được thể hiện như sau:

Figure 4 Chuẩn hóa ảnh

Trang 18

Tính trung bình tập ảnh đầu vào :

Khâu này cho ta xác định được gốc tọa độ của không gian vector biểu diễn các ảnh Ảnhtrung bình được tính bằng trung bình cộng của tất cả các ảnh Ảnh trung bình này thểhiện những điểm giống nhau nhất giữa tất cả các ảnh Gọi số ảnh học là N, mỗi ảnh cókích thước R x C

S = { Γ1, Γ2, … , ΓM}

Trung bình N ảnh trên được tính theo công thức:

Sau khi tính được ảnh trung bình của bộ ảnh học, các ảnh đầu vào sẽ được so sánh vớiảnh trung bình này Ảnh mới sẽ chứa những điểm khác nhau giữa ảnh đầu vào so với cácảnh còn lại Ta có tập vec-tơ đầu vào mới sau khi so sánh với trung bình :

Trang 19

Tính eigenface:

Ma trận Covariance (covariance matrix) thể hiện sự tương quan của từng vectơ

đối với các vector còn lại trong không gian

Cho 2 vector N chiều X = [x1, x2, … , xn] và Y = [y1, y2, … , yn] ta có tương quan

giữa 2 vector trên được tính theo công thức

Nếu 2 vector được chuần hóa trước, ứng với :

Cho một tập M vector N chiều [Φ1, Φ2, … , Φn ] xếp thành một ma trận A kích

thước N x M , ta có covariance của ma trận A là một ma trận C có kích thước NxN , phần

tử C(i , j) được tính như sau :

Vector riêng (eigenvector) và giá trị riêng (eigenvalue): Cho ma trận vuông

C ∈ ℝNxN vector riêng u và giá trị riêng λ khi và chỉ khi : C.u = λ.u

Theo lý thuyết, eigenface chính là các vector riêng u ứng với các giá trị riêng v có giá trị lớn nhấtcủa ma trận covariance:

Để tính nhanh các eigenface này, người ta chuyển sang tính toán với ma trận L=AT.A Lựa chọn

K vector riêng v ứng với K giá trị riêng lớn nhất của L Ta có công thức chuyển đổi: u = A.v Các giá trị riêng của L cũng chính là các giá trị riêng của C

Gọi các giá trị riêng của L là: λ = { λ1, λ2, … , λn} sắp xếp theo thứ tự giảm dần K

giá trị riêng lớn nhất được lựa chọn theo công thức :

Trang 20

Trong đó, ε là ngưỡng chọn.

2.1.4 Fisherfaces – LDA

Nếu như phương pháp Eigenface tập trung chỉ ra chỉ những feature đặc trưng để phân biệt 2object thực thể khiến việc xây dựng lại khuôn mặt ban đầu không hiệu quả, thì Fisherfaces đicùng với giải thuật tuyến tính LDA có thể làm được tốt việc này

Mục tiêu của Fisherface không tập trung vào việc tối đa phân hóa các cá thể, mà là tối đa phânhóa các lớp, gom cụm các cá thể thành lớp Các bước của thuật giải LDA được nêu sau:

Gọi X là 1 vector ngẫu nhiên trong tập mẫu từ c lớp

Ta có 2 ma trận SB và SW được tính như sau:

Hệ số trung bình tương tự như eigenface là

Hệ số trung bình cho c lớp là

Trang 21

Theo lý thuyết và mục tiêu của LDA, ma trận chiếu W lúc này sẽ có dạng như bên dưới:

Có 1 vấn đề ở đây là SW có bậc là N-c (N tập mẫu, c lớp) Điều này dẫn đến, trong quá trìnhnhận dạng, SW lúc nào cũng nhỏ hơn số chiều dữ liệu đầu vào (số lượng pixel) Từ đó có thểthấy Sw là ma trận đơn (singular) Vấn đề này được giải quyết khi ta sử dụng LDA trên dữ liệu

đã được cắt giảm (reduced data), cụ thể:

Và ma trận cần tìm (transformation matrix) lúc này là:

Trang 22

 Xét về các mẫu test với kích thước nhỏ PCA cho kết quả tốt hơn LDA những với nhữngmẫu test có kích thước lớn và cần sự biểu diễn riêng biệt cho mỗi lớp thì LDA tỏ ra vượttrội so với PCA

2.2 Secure Sketch và Fuzzy Extractor

Nội dung phần này sẽ giới thiệu về 2 mô hình nổi tiếng trong việc sửa lỗi và bảo vệ (template protection) là Secure Sketch và Fuzzy Extractor Các kiến thức về 2 mô hình này được tham khảo từ công trình nghiên cứu đã có trên thế giới

2.2.1 Secure Sketch

Khi chúng ta sử dụng đặc trưng sinh trắc học vào trong các hệ thống xác thực và mã hóa, các đặctrưng này thường không thể rút trích một cách chính xác qua nhiều lần khác nhau Nguyên nhândẫn đến vấn đề này là do đặc trưng sinh trắc học thường thay đổi theo thời gian, gặp phải cái yếu

tố gây nhiễu do điều kiện ngoại cảnh và không có một nguyên tắc tuyệt đối nào cho quá trình rúttrích đặc trưng sinh trắc học Để xử lý vấn đề này, Secure Sketch là một trong những phươngpháp giúp việc lấy dữ liệu đáng tin cậy từ mẫu dữ liệu có nhiễu và sửa lỗi

Secure Sketch là mô hình được sử dụng để khôi phục chính xác lại đặc trưng sinh trắc họcnguyên mẫu với đầu vào là một đặc trưng sinh trắc học có sự giống nhau một cách tương đối sovới mẫu ban đầu 2 mẫu sinh trắc học được xem là giống nhau khi khoảng cách giữa chúngkhông lớn hơn một ngưỡng nào đó

Mô hình Secure Sketch gồm có 2 bước: tạo sketch và khôi phục dữ liệu

 Ở bước tạo sketch, dữ liệu đầu vào của hệ thống là 1 mẫu sinh trắc học và đầu ra là mộttập dữ liệu được gọi là sketch Sketch là 1 thông tin mở, có thể truy xuất được từ tất cảmọi người, bởi vì người dùng không thể khôi phục mẫu sinh trắc học chỉ với sketch

 Ở bước khôi phục dữ liệu, hệ thống nhận dữ liệu đầu vào là sketch và mẫu sinh trắc họcmới Nếu mẫu sinh trắc học mới gần giống mẫu ban đầu thì hệ thống sẽ xuất ra mẫu sinhtrắc học ban đầu

Trong các mẫu dữ liệu sinh trắc học, ta thường có 2 loại nhiễu đặc trưng:

 Nhiễu giá trị (white noise): loại nhiễu làm cho giá trị dữ liệu bị thay đổi Giá trị của dữliệu bị thay đổi một khoảng a so với dữ liệu gốc

Trang 23

 Nhiễu thay thế (replacement noise): là loại nhiễu thay thế một phần tử của dữ liệu gốcbằng một phần tử khác ngẫu nhiên

Tương ứng với 2 loại nhiễu dữ liệu trên, chúng ta có 2 loại Secure Sketch được sử dụng riêngbiệt cho từng loại nhiễu:

 Hamming distance Secure Sketch: Secure Sketch được sử dụng để xử lỷ nhiễu giá trị(white noise)

 Set difference Secure Sketch: Secure Sketch được sử dụng để xử lý nhiễu thay thế(replacement noise)

2.2.2 Fuzzy Extractor

Fuzzy Extractor là mô hình bao gồm Secure Sketch và một bộ Randomness Extractor Nếu nhưvai trò của Secure Sketch chỉ là khôi phục và sửa lỗi đặc trưng sinh trắc học thì Fuzzy Extractorđảm nhận vai trò xác thực độ chính xác của đặc trưng sinh trắc vừa được khôi phục Ngoài ra,Fuzzy Extractor còn có đảm bảo các dữ liệu mà hệ thống sinh ra và lưu xuống là ngẫu nhiên(random) thông qua bộ Randomness Extractor

Cụ thể, Fuzzy Extractor hoạt động với 2 bước như sau:

 Ở bước đầu tiên, Fuzzy Extractor cũng sẽ nhận đầu vào sinh trắc học và lưu các thông tincần thiết (Sketch)

 Ở bước sau, dữ liệu đầu vào sinh trắc học khác sẽ được đưa vào bộ Secure Sketch FuzzyExtractor sử dụng Secure Sketch để khôi phục và sửa lỗi đặc trưng sinh trắc học

 Cuối cùng, dữ liệu đã được sửa lỗi thông qua bộ Secure Sketch, sẽ tiếp tục được đưa qua

bộ Randomness Extractor để tạo ra dữ liệu ngẫu nhiên hoàn toàn Trong các quá trình xácthực thì dữ liệu ngẫu nhiên này có ý nghĩa rất lớn, đây chính là dữ liệu được lưu trữxuống để sử dụng cho việc xác thực người dùng Dữ liệu sinh ra là dữ liệu ngẫu nhiênnên kẻ tấn công attacker sẽ gặp khó khăn Điều này giúp độ bảo mật của hệ thống đượcnâng cao

Trang 24

Chương 3 CÁC NGHIÊN CỨU BỔ SUNG

3.1 Mô hình Small – Secure Sketch của Ee-Chien Chang và Qiming Li

Mô hình Small Secure Sketch là mô hình sửa lỗi trên tập dữ liệu do Ee-Chien Chang và

Qiming Li đề xuất trong “Small Secure Sketch for Point-Set Difference” (2005)

Mô hình này hoạt động dựa trên cơ chế point-set difference và được dùng để sửa lỗi

“nhiễu thay thế”phần tử trong tập set bằng một phần tử khác Mô hình này dựa trên kháiniệm tính toán đa thức để giải bài toán sửa lỗi trong tập dữ liệu và có thể được dùng trongsửa lỗi đa tập multiset

3.1.1 Giải thuật

Gọi số lượng lỗi có thể sửa tối đa là t, mô hình sẽ hoạt động được với kích thước tập set tối đa là2t(1+log n) Giải thuật sẽ gồm các bước sau:

Tạo Sketch: Giả sử cho tập dữ liệu X = { x1, x2 x3, x4, …xn} với t là số lỗi tối đa có

thể sửa Ta tạo sketch theo các bước sau

o Xây dựng đa thức bậc n:

o Tính toán các giá trị trong tập P = ( p(0), p(1), p(2),…, p(2t-1))

o Tập P chính là sketch của tập dữ liệu

Sửa lỗi: Ta có giá trị đầu vào trong quá trình sửa lỗi là tập Y = {y1, y2, y3, , yn}và tập

Sketch P = ( p(0), p(1), p(2),…, p(2t-1)) Ta sửa lỗi theo các bước sau:

o Xây dựng đa thức bậc n:

o Tính toán các giá trị trong tập Q = ( q(0), q(1), q(2),…,q(2t-1))

o Xây dựng đa thức bậc t:

o Xây dựng đa thức bậc t:

Trang 25

o Với 2 phương trình p’(x) và q’(x) ta có aj và bj là những tham số chưađược xác định Để xác định aj và bj, ta tiến hành giải hệ phương trình sau

 q(i)p’(i) = q’(i)p(i) với 0 ≤ i ≤ 2t-1

o Thế aj và bj tìm được từ hệ phương trình trên vào đa thức p’(x) và q’(x) vàtìm nghiệm Ta gọi tập nghiệm của p’(x) là X’ và của q’(x) là Y’

o Kết quả của quá trình sửa lỗi là R = (Y ∩ X’) \ Y’

3.1.2 Đánh giá và kết luận

Nghiên cứu của Ee-Chien Chang và Qiming Li đã được đề tài hiện thực lại trên môi trường JDK1.7, Windows 8 với thư viện được sử dụng để hỗ trợ tính toán là Apache Commons Math

Đánh giá: nghiên cứu của Ee-Chien Chang và Qiming Li không phù hợp cho việc xử lý các tập

set lớn Với t và n lớn, các công nghệ phù hợp cho nền tảng di động Android hiện nay như Javagặp khó khăn trong việc tính toán nghiệm vì Java không phải là ngôn ngữ chuyên dụng cho tínhtoán chính xác Độ lớn của số hạng trong các đa thức là xt với (x [0,2000] và t [0,20]) thường cógiá trị rất lớn và nghiệm tìm được của các đa thức thường có sai số ảnh hưởng đến giải thuật

Kết luận: phương pháp của Ee-Chien Chang và Qiming Li không phù hợp với việc sửa lỗi trên

cái tập set có số lượng phần tử lớn như vector đặc trưng sinh trắc học

3.2 Mô hình Codebook Secure Sketch của D-STAR Lab

Mô hình Codebook Secure Sketch là mô hình sửa lỗi trên tập dữ liệu do Tran Tri Dang, QuynhChi Truong, Tran Khanh Dang nhóm Data Security Applied Research (D-STAR) Lab đề xuấttrong “Practical Construction of Face-based Authentication Systems with Template ProtectionUsing Secure Sketch” (2013)

Mô hình này hoạt động dựa trên ý tưởng của Y.Dodis trong để sửa lỗi khi nhiễu thay đổi giá trịcủa phần tử trong tập set một khoảng so với phần tử gốc Phần tử này sẽ được sửa nếu khoảngcách thay đổi bé hơn một khoảng t cho trước Mô hình này có độ chính xác khá cao trong các thí

nghiệm trên tập dữ liệu khuôn mặt Faces94.

3.2.1 Giải thuật

Mô hình Codebook hoạt động trên miền giá trị rời rạc nên cần bước lượng tử hóa (quantization)

để chuyển từ miền giá trị liên tục (số thực) về miền giá trị rời rạc (số nguyên)

Trang 26

Quantization: Quá trình quantization được thực hiện theo các bước sau:

o Sau khi chuẩn hóa, ta có các giá trị của vector đặc trưng chạy từ [0, 1]

o Chuyển từ miền [0, 1] thành [0, N], ta nhân các giá trị của vector với N

o Sau đó ta làm tròn các giá trị để chuyển về miền số nguyên

Tạo Sketch: Ta có [0, N] là miền giá trị của các phần tử trong vector và t là khoảng cách

tối đa có thể sửa lỗi

trong khoảng [0, N] và khoảng cách giữa mỗi 2 điểm là như nhau Khoảng cáchgiữa các điểm là 2t + 1 Do đó với mỗi codeword c trong codebook, tất cả các giátrị trong khoảng [c – t, c + t] sẽ được chuyển về codeword là c

tập Sketch của vector là S = {s0, s1, s2,…, sn} Với

 si = wi – M(wi)

Sửa lỗi: Với giá trị đầu vào xác thực là Z = {z0, z1, z2,…,zn} và tập Sketch là S = {s0,

s1, s2,…, sn}, ta thực hiện như sau

o Ta có tập W’ = {w’0, w’1, w’2,…,w’n} là tập kết quả sau sửa lỗi

Sự chính xác của giải thuật được chứng minh như sau:

 Ta có: w’i = M(zi-si) + si

 Thế si = wi – M(wi), ta có w’i = M(zi-wi + M(wi)) + wi – M(wi)

 Với | zi – wi | < t, ta có zi-wi + M(wi) nằm trong khoảng [M (w i) – t, M (w i) + t]

=> M(zi-wi + M(wi)) = M(wi)

=>w’ = w

3.2.2 Đánh giá và k t lu n ết luận ận.

Nghiên cứu của nhóm D-STAR đã được đề tài hiện thực trên nền tảng Android 2.2, JDK 1.6 sử dụng thư viện JavaCV 0.3

Ngày đăng: 23/04/2017, 17:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w