1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc

89 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Tác giả Phạm Duy Thành
Người hướng dẫn PGS.TS. Đặng Trần Khánh
Trường học Đại học Bách Khoa - Đại học Quốc gia Tp.HCM
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2015
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 89
Dung lượng 2,9 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU (20)
    • 1.1 Sinh trắc học (20)
      • 1.1.1 Khái quát (20)
      • 1.1.2 Sự cần thiết của sinh trắc học (24)
      • 1.1.3 Nhận dạng (identification) và xác minh (verification) (26)
      • 1.1.4 Nhiệm vụ chính của đề tài (26)
      • 1.1.5 Những kiến thức tìm hiểu trong đề tài (26)
      • 1.1.6 Phương pháp thực hiện (27)
    • 1.2 Bố cục đề tài (27)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (28)
    • 2.1 Logic mờ (28)
      • 2.1.1 Tập mờ (28)
      • 2.1.2 Logic mờ (29)
      • 2.1.3 Hệ thống điều khiển mờ (29)
    • 2.2 Phương pháp bảo vệ đặc trưng sinh trắc học (32)
      • 2.2.1 Sơ lược về các phương pháp bảo vệ đặc trưng sinh trắc học (32)
      • 2.2.2 Bộ chuyển đổi vector sinh trắc học (Biometric Vector Transformator) (37)
    • 2.3 Hầm mờ (Fuzzy Vault) (38)
  • CHƯƠNG 3: PHƯƠNG PHÁP RÚT TRÍCH VECTOR ĐẶC TRƯNG SINH TRẮC HỌC (42)
    • 3.1 Rút trích vector đặc trưng từ khuôn mặt (42)
      • 3.1.1 Dò tìm khuôn mặt (43)
      • 3.1.2 Tiền xử lý (44)
      • 3.1.3 Rút trích vector Eigenfaces (44)
      • 3.1.4 Rút trích vector Fisherfaces (46)
    • 3.2 Rút trích vector đặc trưng từ dấu vân tay (47)
      • 3.2.1 Một số thuật toán tăng cường ảnh (47)
      • 3.2.2 Tăng cường ảnh bằng phương pháp lọc Gabor (48)
      • 3.2.3 Tạo các vùng mặt nạ (54)
      • 3.2.4 Lọc Gabor (55)
    • 3.3 Một số thuật toán rút trích đặc trưng (57)
      • 3.3.1 Rút trích các đặc trưng từ ảnh đã được nhị phân hóa (57)
      • 3.3.2 Rút trích các đặc trưng trực tiếp từ ảnh xám (60)
  • CHƯƠNG 4: HỆ THỐNG ĐỒNG XÁC THỰC (64)
    • 4.1 Giới thiệu đồng xác thực (64)
    • 4.2 Các kỹ thuật kết hợp trong đồng xác thực (64)
      • 4.2.1 Kết hợp ở tầng dữ liệu thô (Raw level) (65)
      • 4.2.2 Kết hợp ở tầng vector đặc trưng (Feature level) (66)
      • 4.2.3 Kết hợp ở tầng điểm (Score level) (66)
      • 4.2.4 Kết hợp ở tầng quyết định (Decision level) (67)
      • 4.2.5 Đề xuất phương pháp kết hợp (67)
  • CHƯƠNG 5: KIẾN TRÚC HỆ THỐNG ĐỒNG XÁC THỰC (68)
    • 5.1 Mô tả hệ thống (68)
    • 5.2 Các thành phần của hệ thống (68)
      • 5.2.1 Thành phần xác thực khuôn mặt (68)
      • 5.2.2 Thành phần xác thực dấu vân tay (70)
      • 5.2.3 Thành phần ước lượng trọng số (71)
      • 5.2.4 Thành phần kết hợp điểm (71)
      • 5.2.5 Thành phần đồng xác thực (72)
    • 5.3 Hiện thực hệ thống (72)
      • 5.3.1 Môi trường phát triển (72)
      • 5.3.2 Thư viện hỗ trợ (76)
      • 5.3.3 Cấu trúc mã nguồn (76)
  • CHƯƠNG 6: KẾT QUẢ THỰC NGHIỆM (79)
    • 6.1 KỊCH BẢN THỰC NGHIỆM (79)
      • 6.1.1 Thực nghiệm xác thực khuôn mặt (79)
      • 6.1.2 Thực nghiệm xác thực dấu vân tay (79)
      • 6.1.3 Thực nghiệm xác thực dùng hệ thống đồng xác thực (80)
    • 6.2 KẾT QUẢ THỰC NGHIỆM (81)
      • 6.2.1 Thực nghiệm xác thực dùng khuôn mặt (81)
      • 6.2.2 Thực nghiệm xác thực dùng dấu vân tay (81)
      • 6.2.3 Thực nghiệm xác thực dùng hệ thống đồng xác thực (82)
  • CHƯƠNG 7: KẾT LUẬN VÀ KIẾN NGHỊ (83)
    • 7.1 KẾT LUẬN (83)
      • 7.1.1 Kết luận về các nội dung nghiên cứu (83)
      • 7.1.2 Những đóng góp của đề tài (83)
      • 7.1.3 Khả năng ứng dụng của kết quả nghiên cứu (83)
    • 7.2 KIẾN NGHỊ (83)
      • 7.2.1 Hướng phát triển (83)
  • TÀI LIỆU THAM KHẢO (84)

Nội dung

1.1.2 Sự cần thiết của sinh trắc học Một hệ thống xác thực người dùng tin cậy là thành phần quan trọng trong nhiều hệ thống ứng dụng mà ở đó hệ thống chỉ cấp phát tài nguyên cho người d

GIỚI THIỆU

Sinh trắc học

Sinh trắc học (biometrics) là lĩnh vực nghiên cứu các phương pháp toán học và thống kê trên các bài toán phân tích dữ liệu sinh trắc học Cụm từ “biometric” xuất phát từ chữ “bio” (life) và “metric” (mesure) trong tiếng Hy Lạp

Sinh trắc học gồm các phương thức xác thực con người dựa trên các đặc điểm sinh lý học (physiological) hay các đặc điểm hành vi (behavioral) của người đó Các hệ thống sinh trắc đã và đang phát triển trong các ứng dụng của đời sống như hệ thống rút tiền tự động (ATM) sử dụng lòng bàn tay ở hệ thống ngân hàng Mitsubishi Tokyo Nhật Bản [3], hệ thống thị thực của Hoa Kỳ (US-VISIT [4])

Về phân loại, sinh trắc có thể được phân thành hai loại là sinh trắc thể (physiological) và sinh trắc hành vi (behavioral):

 Sinh trắc thể: Bao gồm các đặc điểm sinh học trên cơ thể như khuôn mặt, DNA, tròng mắt, dấu vân tay, Trong đó dấu vân tay đã được nghiên cứu và sử dụng từ lâu

 Sinh trắc hành vi: Bao gồm các đặc điểm hành vi của con người như tốc độ gõ phím, giọng nói, chữ ký, dáng đi…

Mỗi đặc điểm đều có đặc trưng riêng Bên dưới là mô tả sơ lược về các đặc điểm phổ biến:

Hình 1.1Phân loại mẫu sinh trắc học

Nhận diện khuôn mặt là phương pháp không thâm nhập sử dụng các đặc điểm khuôn mặt để xác định danh tính Trong nhận diện khuôn mặt, hai phương pháp phổ biến được sử dụng: phương pháp dựa trên đặc điểm và phương pháp dựa trên phân tích tổng quan Phương pháp dựa trên đặc điểm tập trung vào vị trí và hình dạng của các thuộc tính trên khuôn mặt như mắt, mũi và môi, trong khi phương pháp dựa trên phân tích tổng quan sử dụng sự kết hợp có trọng số của các hình ảnh tiêu biểu để thể hiện khuôn mặt.

Con người đã sử dụng dấu vân tay cho quá trình pháp y qua nhiều thập kỷ

Sự chính xác của hệ thống sinh trắc dùng dấu vân tay tương đối cao Dấu vân tay là một mô hình của núi và thung lũng (ridges and valleys) trên bề mặt ngón tay, được hình thành trong suốt bảy tháng đầu của quá trình phát triển bào thai Dấu vân tay tương đối phân biệt, kể cả những cặp sinh đôi

Phương pháp nhận dạng bàn tay tập trung vào đặc điểm hình dạng bàn tay, kích thước lòng bàn tay, chiều dài và chiều cao của các ngón tay Ưu điểm của phương pháp này nằm ở sự đơn giản và dễ sử dụng Tuy nhiên, phương pháp này cũng có những hạn chế nhất định Do sự khác biệt không rõ ràng trong hình dạng bàn tay trong phạm vi ứng dụng rộng lớn, các hệ thống sử dụng phương pháp bàn tay thường được dùng để xác minh hơn là nhận dạng Ngoài ra, thiết bị lấy dữ liệu bằng phương pháp này phải có kích thước tối thiểu là kích thước bàn tay, gây cản trở khi sử dụng với các thiết bị nhỏ hơn như laptop.

Chỉ tay thường được dùng kết hợp với đặc trưng dấu vân tay và bàn tay Chỉ tay cũng chứa các rãnh, lằn giống như vân tay và thường được dùng trong nhận dạng pháp y

Tròng mắt là một màng mỏng có màu, hình tròn, bao quanh con ngươi Sự phức tạp của tròng mắt chứa đựng thông tin rất riêng biệt, đem lại sự chính xác cao cho quá trình nhận dạng Tuy nhiên hệ thống sử dụng tròng mắt có tỉ lệ chấp nhận lỗi False Accept Rate (FAR) rất thấp, cũng như tỉ lệ từ chối lỗi False Reject Rate (FRR) tương đối cao

Chữ ký con người thay đổi theo thời gian Chữ ký là thuộc tính hành vi phụ thuộc vào trạng thái cảm xúc, sức khỏe của người ký Khả năng bị giả mạo tương đối cao, tuy nhiên nó được chấp nhận để xác thực trong một thời gian dài

Giọng nói là sự tổng hợp trực tiếp của đặc trưng sinh trắc vât lý và hành vi (Campell, 1997) Đặc trưng vật lý dựa trên hình dạng và kích thước của những phần phụ (thanh quản, miệng, mũi và môi) được sử dụng trong quá trình tổng hợp âm Đặc trưng vật lý là không thay đổi cho mỗi cá nhân, tuy nhiên các khía cạnh hành vi

4 của giọng nói chịu tác động bởi tuổi tác, cảm xúc, ngôn ngữ và tình trạng sức khỏe Chất lượng của thiết bị ghi âm và tiếng ồn cũng ảnh hưởng tới hiệu suất

Dáng đi đề cập đến cách thức con người di chuyển, và cũng được sử dụng để nhận dạng Hệ thống nhận dạng dáng đi dựa trên quá trình xử lý ảnh để trích xuất hình bóng người dùng và các thuộc tính không thời gian liên quan Dáng đi chịu tác động bởi nhiều yếu tố như sự lựa chọn quần áo, bề mặt di chuyển, thời tiết…

Mỗi đặc trưng sinh trắc đều có ưu và nhược điểm, vì vậy việc lựa chọn đặc trưng sinh trắc nào vào ứng dụng cụ thể phụ thuộc vào một loạt các vấn đề bên cạnh hiệu suất Jain[5] đã xác định 7 yếu tố để chọn lựa sự phù hợp của một đặc trưng sinh trắc thể hay sinh trắc hành vi: i Tính phổ thông (Universality): cho biết mọi người thông thường đều có đặc trưng này, tạo khả năng sử dụng hệ thống an ninh sinh trắc cho một số lượng lớn người ii Tính duy nhất (Uniqueness): các đặc điểm sinh trắc phải khác nhau và duy nhất iii Tính bền vững (Permanence): liên quan đến cách thức mà một đặc điểm sinh trắc biến đổi theo thời gian Cụ thể, một đặc điểm sinh trắc bền vững tốt phải bất biến theo thời gian đối với các thuật toán so sánh cụ thể iv Tính đo lường (Measurability): các đặc điểm sinh trắc có thể thu được và số hóa bằng cách sử dụng các thiết bị thích hợp mà không gây bất tiện cho người dùng v Hiệu suất (Performance): liên quan đến sự chính xác, tốc độ và mạnh mẽ của công nghệ được sử dụng vi Sự chấp nhận (Acceptability): đề cập đến việc người dùng có chấp nhận công nghệ này và sẵn sàng cho đặc điểm sinh trắc của họ cho hệ thống

5 vii Sự giả mạo (Circumvention): các đặc điểm sinh trắc phải đủ khó để giả mạo

Không có đặc trưng riêng lẻ nào đáp ứng đầy đủ yêu cầu, tuy nhiên kết hợp một số đặc trưng lại với nhau có thể chấp nhận được

1.1.2 Sự cần thiết của sinh trắc học

Một hệ thống xác thực người dùng tin cậy là thành phần quan trọng trong nhiều hệ thống ứng dụng mà ở đó hệ thống chỉ cấp phát tài nguyên cho người dùng đăng ký hợp lệ Tác vụ chính của hệ thống xác thực là quá trình xác minh cá nhân nhằm ngăn chặn kẻ giả mạo truy cập vào các tài nguyên được bảo vệ Các phương thức truyền thống để xác thực người dùng được chia làm ba loại: i Những gì bạn biết (What you know): ví dụ như mật khẩu… ii Những gì bạn có (What you have): ví dụ như token… iii Những gì là bạn (Who you are): như các đặc trưng sinh trắc học…

Knowledge-based (what you know): đặc trưng bởi các bí mật Loại này bao gồm việc ghi nhớ các mật khẩu Tuy nhiên, nó cũng bao gồm các mật khẩu chia sẻ dùng chung bởi nhiều người như tên người nổi tiếng, ngày sinh, tên một ca khúc được yêu thích…

Bố cục đề tài

Bố cục của đề tài được chia thành 7 chương:

 Chương 1: Giới thiệu tổng quan về sinh trắc học cũng như mục tiêu, nhiệm vụ, phương pháp nghiên cứu được thực hiện của đề tài

 Chương 2: Giới thiệu nền tảng lý thuyết áp dụng vào việc rút trích đặc trưng và các nghiên cứu liên quan

 Chương 3: Giới thiệu các kỹ thuật thường dùng để rút trích đặc trưng khuôn mặt và dấu vân tay

 Chương 4: Xây dựng hệ thống đồng xác thực

 Chương 5: Kiến trúc hệ thống đồng xác thực

 Chương 6: Kết quả thực nghiệm

 Chương 7: Kết luận và kiến nghị

CƠ SỞ LÝ THUYẾT

Logic mờ

Lý thuyết tập mờ mở rộng lý thuyết tập hợp cổ điển, cho phép đánh giá quan hệ thành viên của phần tử trong tập hợp không chỉ theo điều kiện nhị phân tuyệt đối (thuộc hoặc không thuộc) Thay vào đó, lý thuyết tập mờ sử dụng hàm liên thuộc để mô tả quan hệ thành viên này, với các giá trị trong khoảng [0, 1], thể hiện mức độ từ "không thuộc" đến "thuộc hoàn toàn" của phần tử đối với tập hợp.

Hàm thành viên A trong không gian nền X được định nghĩ như sau:

Hàm liên thuộc  A ( )x lượng hóa mức độ mà các phần tử x thuộc về tập cơ sở X Nếu hàm cho kết quả 0 đối với một phần tử thì phần tử đó không có trong tập đã cho, kết quả 1 mô tả một thành viên toàn phần của tập hợp Các giá trị trong khoảng mở từ 0 đến 1 đặc trưng cho các thành viên mờ

Hình 2.1 Hàm mờ và hàm rõ

Logic mờ được phát triển từ lý thuyết tập mờ để thực hiện lập luận một cách xấp xỉ thay vì lập luận chính xác theo logic vị từ cổ điển Logic mờ có thể được coi là mặt ứng dụng của lý thuyết tập mờ để xử lý các giá trị trong thế giới thực cho các bài toán phức tạp Người ta hay nhầm lẫn mức độ đúng với xác suất Tuy nhiên, hai khái niệm này khác hẳn nhau Độ đúng đắn của logic mờ biểu diễn độ liên thuộc với các tập được định nghĩa không rõ ràng, chứ không phải khả năng xảy ra một biến cố hay điều kiện nào đó Để minh họa sự khác biệt, xét tình huống sau: An đang đứng trong một ngôi nhà có hai phòng thông nhau: phòng bếp và phòng ăn Trong nhiều trường hợp, trạng thái của An trong tập hợp gồm những thứ “ở trong bếp” hoàn toàn đơn giản: hoặc là anh ta “trong bếp” hoặc “không ở trong bếp” Nhưng nếu An đứng tại cửa nối hai phòng thì sao? Anh ta có thể được coi là “có phần ở trong bếp” Việc định lượng trạng thái “một phần” này cho ra một quan hệ liên thuộc đối với một tập mờ Chẳng hạn, nếu An chỉ thò một ngón chân cái vào phòng ăn, ta có thể nói rằng An ở “trong bếp” đến 99% và ở trong phòng ăn 1% Một khi anh ta còn đứng ở cửa thì không có một biến cố nào (ví dụ một đồng xu được tung lên) quyết định rằng An hoàn toàn “ở trong bếp” hay hoàn toàn “không ở trong bếp” Các tập mờ được đặt cơ sở trên các định nghĩa mờ về các tập hợp chứ không phải dựa trên sự ngẫu nhiên Logic mờ cho phép độ liên thuộc có giá trị trong khoảng đóng 0 và

1, và ở hình thức ngôn từ, các khái niệm không chính xác như “hơi hơi”, “gần như”,

“khá là” và “rất” Cụ thể, nó cho phép quan hệ thành viên không đầy đủ giữa thành viên và tập hợp Tính chất này có liên quan đến tập mờ và lý thuyết xác suất Logic mờ đã được đưa ra lần đầu vào năm 1965 bởi GS Lotfi Zadeh tại Đại học California, Berkeley

2.1.3 Hệ thống điều khiển mờ

Quá trình điều khiển mờ gồm 3 quá trình chính “Mờ hóa (fuzzification) – tính toán mờ (fuzzy operation) và giải mờ (defuzzification)” Quá trình tính toàn mờ dựa trên các luật IF – Then

Cho tập hợp X và hàm liên thuộc  X trên X , khi đó (X, X )được gọi là tập mờ Quá trình mờ hóa là quá trình chuyển đổi một giá trị rõ x sang tập mờ Ví dụ với x0.3 ta chuyển đổi như sau:

Thông thường, trong thực hành, nếu muốn biểu diễn x nằm trong tập X với hàm liên thuộc  X ( )x , ta viết là: “x is X ”, nếu x thuộc về hai tập mờ X 1 và X 2 thì ta viết “x is X AND x is X 1 2 ”, hàm liên thuộc khi đó thành  X 1  X 2 ( ) x với định nghĩa sau:

Tính toán mờ Đặc điểm chung của kiểm soát mờ là hệ thống dựa trên kiến thức, có nghĩa là hệ thống dựa trên các luật IF-THEN.Các luậtIF-THENcó được dựa trên kiến thức chuyên gia của con người về hệ thống Ví dụ về người điều khiên xe ô tô Khi ô tô chạy chẳng, anh ta biết được cần phải làm gì với vo-lim lái Khi ô tô muốn rẽ phải, anh ta phải quay vo-lim về bên trái, nếu ô tô muốn rẽ phải càng nhiều, anh ta phải quay vo-lim về bên trái càng nhiều và tiếp tục như vậy

Cho tập hợp X  [ 180 ,180 ] 0 0 , x là vị trí của xe ô tô,  left là hàm liên thuộc của việc xe rẽ trái  right là hàm liên thuộc của việc xe rẽ phải và  0 là hàm liên thuộc của xe đi thẳng Chẳng hạn khi viết x is X left có nghĩa là x thuộc X với hàm liên thuộc  left Ta có các luật cho hoạt động lái xe như sau:

1: IF( left ) THEN u is U right ;

2: IF( right ) THEN u is U ; left

R x is X với u is U 0 có nghĩa là không làm gì với vo- lim lái

Theo như nội dung ở trên, một phần tử thuộc tập hợp mờ có khả năng sở hữu nhiều hàm liên thuộc thành viên Ví dụ như ở hình 2.4, với $x = 5^0$, có hai hàm liên thuộc thành viên: $\mu_{right} (x) = 0,028$ và $\mu_{(0)}x = 0,5$ Điều đó ngụ ý rằng ô tô dịch chuyển một phần nhỏ về phía phải, hoặc cũng có thể xét đến việc ô tô di chuyển thẳng nhiều hay ít hơn Dựa theo các luật được miêu tả ở trên, tài xế có nghĩa vụ thực hiện hai động tác cùng lúc, do đó không thật sự cần thiết Vậy thì động tác điều khiển thực hiện là gì? Để đơn giản hóa, ta giả định động tác điều khiển là $u = -x$ với cùng hàm liên thuộc thành viên $\mu_x = \mu_u$ cho mọi trường hợp Như vậy, trong trường hợp này, động tác dành cho tài xế là thỏa hiệp giữa hai động tác bắt buộc.

(a) Hàm liên thuộc cho việc di chuyển sang trái

(b) Hàm liên thuộc cho việc di chuyển sang phải

Hàm liên thuộc cho hướng di chuyển của xe (Hình 2.2) thể hiện các thông tin về hướng di chuyển của xe: Di chuyển về bên trái 5 độ.

Quá trình cho ra kết quả là giá trị rõ từ tập các luật được gọi là quá trình giải mờ

Công thức cho việc giải mờ thông thường được tiến hành như sau:

Phương pháp bảo vệ đặc trưng sinh trắc học

2.2.1 Sơ lược về các phương pháp bảo vệ đặc trưng sinh trắc học

Với hệ thống xác thực dựa trên sinh trắc học, Nalini K.Ratha, Jonathan H.Connell, và Ruud M.Bolle [14] đã chỉ ra 8 điểm yếu mà kẻ tấn công có thể lợi dụng để tấn công vào hệ thống

1 Giả mạo sinh trắc ở quá trình thu (Fake biometrics at the sensor): Ở hình thức tấn công này, thông tin sinh trắc tái tạo lại được sử dụng trong hệ thống Ví dụ thay vì chụp hình để xác thực vào hệ thống, kẻ tấn công có thể sử dụng tấm hình chụp trước của người dùng để đặt trước thiết bị thu đặc trưng

2 Phát lại sinh trắc cũ lưu trong cơ sở dữ liệu (Resubmission of old digitally stored biometrics signal): Ở hình thức tấn công này, thông tin sinh trắc cũ được lưu trong cơ sở dữ liệu được dùng để vượt qua quá

14 trình thu đặc trưng Ví dụ như một đoạn thu giọng nói của người dùng được sử dụng lại để vượt qua quá trình xác thực dùng giọng nói Lưu ý hình thức này khác hình thức 1 ở chỗ, thông tin sinh trắc được lấy từ cơ sở dữ liệu chứ không phải tái tạo lại

3 Thay thế vector trích xuất (Override feature Extract): Quá trình trích xuất vector có thể bị tấn công bởi ngựa thành Troia (Trojan horse), vì thế nó có thể tạo ra tập hợp vector được chọn trước bởi kẻ tấn công Ngựa Troia xuất phát từ điển tích nổi tiếng con ngựa thành Troia trong thần thoại Hy Lạp Trong điển tích đó, người Hy Lạp đã giả vờ để quên một con ngựa gỗ khổng lồ khi họ rút khỏi chiến trường Trong bụng con ngựa gỗ này có nhiều chiến binh Hy Lạp ẩn náo Người Troia tưởng rằng mình có một chiến lợi phẩm và kéo con ngựa gỗ này vào thành Đến đêm thì các chiến binh Hy Lạp chui ra khỏi bụng con ngựa này để mở của thành giúp quân Hy Lạp vào chiến thành Trong máy tính, ngựa thành Troia chỉ các chương trình độc hại giả danh các chương trình máy tính hữu ích

4 Giả mạo sự biểu diễn vector đặc trưng (Tampering with the feature representation): Sau khi vector được trích xuất từ tín hiệu đầu vào chúng được thay thế bởi một bộ tính năng khác (Giả sử rằng sự biểu diễn đã được biết) Thông thường hai quá trình trích xuất vector và so trùng phụ thuộc với nhau, do vậy hình thức tấn công này cực kì khó khăn Tuy nhiên, nếu vector đặc trưng được truyền tải đến một quá trình so trùng ở server khác (Internet), mối hiểm họa này rất thực tế

Kẻ tấn công có thể bắt gói tin và thay thế bằng gói tin khác

5 Tấn công so trùng (Override matcher): Quá trình so trùng bị tấn công để luôn cho kết quả tốt hoặc luôn cho kết quả xấu

6 Giả mạo mẫu được lưu trữ (Tampering with stored templates): Cơ sở dữ liệu của quá trình đăng ký được lưu trữ nội bộ hoặc trên server Cơ sở dữ liệu cũng có thể được lưu trữ phân phối ở nhiều server Kẻ tấn công cố gắng để chỉnh sửa một hoặc nhiều mẫu trong cơ sở dữ liệu để

15 có thể xác thực thành công kẻ giả mạo hoặc từ chối quá trình xác thực người dùng bình thường khi thiếu mẫu

7 Tấn công kênh truyền giữa mẫu và so trùng (Channel attack between stored templates and the matcher): Mẫu lưu trong cơ sở dữ liệu gửi tới quá trình so trùng có thể bị chỉnh sửa bởi kẻ tấn công trước khi tới quá trình so trùng

8 Thay thế quyết định (Decision override): Nếu quyết định cuối cùng bị thay thế thì hệ thống hết sức nguy hiểm cho dù các bước khác trong hệ thống đạt hiệu quả tốt

Các đặc trưng luôn gắn liền với người sử dụng, do vậy một khi đặc trưng sinh trắc này bị lộ, hệ thống xác thực có thể bị phá vỡ

Hình 2.3 Các điểm yếu của hệ thống xác thực dựa trên sinh trắc học

Trong phạm vi bài viết, tác giả tập trung vào vấn đề bảo vệ các đặc trưng sinh trắc (ứng với vị trí số 4 trên hình 4.1) Theo lý thuyết, một hệ thống bảo vệ mẫu sinh trắc học phải đảm bảo bốn tính chất cơ bản:

1 Đa dạng (Diversity): Vector bảo mật không được phép dùng chung giữa nhiều cơ sở dữ liệu, do đó đảm bảo tính chất riêng tư của người sử dụng

2 Có thể hủy bỏ (Revocability): Dễ dàng để thu hồi lại vector bảo mật đã bị thỏa hiệp và sinh ra vector bảo mật khác dựa vào vector đặc trưng ban đầu

3 Bảo mật (Security): Liên quan tới việc tính toán rất phức tạp (Computationally hard) để truy ngược về lại vector đặc trưng ban đầu khi có được dạng vector bảo mật Đặc tính này ngăn chặn được một cuộc tấn công vật lý vào cơ sở dữ liệu để đánh cắp vector bảo mật

4 Hiệu suất (Performance): Hệ thống bảo vệ đặc trưng sinh trắc không làm giảm hiệu suất nhận dạng (FAR, FRR) của hệ thống sinh trắc

Các hướng nghiên cứu hướng đến mục tiêu bảo vệ đặc trưng có thể được phân ra thành ba nhánh chính là i) chuyển đổi đặc trưng (feature tranformation) và ii) hệ thống mã hóa sinh trắc (biometric cryptosystem) [19] và iii) các giải pháp kết hợp

Với phương pháp tiếp cận i), một hàm chuyển đổi ( )F được áp dụng cho đặc trưng sinh trắc ( ) T và chỉ đặc trưng được chuyển đổi F T K( ; ) được lưu vào cơ sở dữ liệu Tham số ( )K có thể là một vector sinh ngẫu nhiên hay mật khẩu Hàm chuyển đổi tương tự ( ) F được áp dụng cho đặc trưng truy vấn ( )Q và sau đó F T K( ; ) được so trùng với F(Q;K)

Hầm mờ (Fuzzy Vault)

Trong bài viết này, mô hình Fuzzy Vault được đề cập là một kỹ thuật sinh trắc kết hợp khóa phổ biến, đóng vai trò bảo vệ đặc trưng sinh trắc.

A.Juels và M.Sudan [21] giới thiệu một khái niệm gọi là “Fuzzy Vault” Một khóa bí mật K được khóa bằng một tập A , sau đó có thể được mở khóa bằng một tập B nếu và chỉ nếu B gần giống với A , hay nói cách khác A  B đủ lớn

Quá trình khóa bí mật K bằng tập A :

 Bí mật k được biễu diễn bởi một vector k ( , , ,k k 0 1 k n  1 )

 Biễu diễn K dưới dạng đa thức

R x p x xA được gọi là “tập các điểm chính danh”

Ta thêm vào R một số điểm, gọi là điểm gây nhiễu:

Các “điểm gây nhiễu” này chính là thành phần tạo nên tính bảo mật của hệ thống, kẻ tấn công sẽ không biết được đâu là điểm “gây nhiễu”, đâu là điểm “chính danh” Số lượng “điểm gây nhiều” càng nhiều, tính bảo mật của hệ thống càng cao nhưng bù lại đòi hỏi không gian lưu trữ càng lớn

Quá trình mở khóa bí mật K bằng tập B :

Nếu phần giao nhau giữa tập B và tập A là đủ lớn, Qsẽ chứa một số lượng

“điểm chính danh” đủ lớn, lúc này ta dùng mã Reed Solomon giải mã Q để tính K Ngược lại, quá trình giải mã Reed Solomon sẽ cho ra kết quả khác K

Quá trình được diễn tả chỉ tiết như sau: Ở giai đoạn đăng ký: khóa bí mật k được chia thành những phần nhỏ đều nhau nhằm phân bổ làm hệ số cho đa thức đơn biến p có dạng chuẩn định trước Dữ liệu sinh trắc sau giai đoạn tiền xử lý lọc nhiễu được sử dụng để rút trích ra tập đặc trưng sinh trắc cụ thể đối với dấu vân tay là tọa độ các điểm nút Các điểm thật của vault V A ứng với tập đặc trưng sinh trắc A được sinh bằng cách chiếu tọa độ kết hợp của từng điểm nút lên đa thức p Nhằm giấu các điểm dữ liệu thật trong V A, giải thuật thêm ngẫu nhiên các điểm dữ liệu giả vào V A Ví dụ cho quá trính sinh vault

V A có thể được hiểu rõ hơn thông qua hình 2.3, tọa độ các điểm trích xuất từ đặc trưng sinh trắc sẽ được thực hiện phép nối ( từ (2,3) chuyển thành số tương ứng 23) sau đó chiếu trực tiếp lên đa thức sinh ra từ khóa bí mật p =f(x) tạo nên tập các điểm thật trong vault G A, , các điểm dữ liệu giả thêm vào thuộc tập C A Ở giai đoạn xác thực: hệ thống nhận vào một tập dữ liệu sinh trắc B gần trùng lắp với A Sau quá trình rút trích đặc trưng hệ thống nhận được tập đặc trưng sinh trắc F B Kết hợp tập F B và vault V A hệ thống lọc ra được các điểm có khả năng là điểm thật trong vault VA bằng phương pháp chọn ra các điểm có hoành độ gần với các số sinh ra từ tập đặc trưng sinh trắc F B

Hình 2.6 Mô phỏng quá trình đăng ký vault

Hình 2.7 Cơ chế lọc điểm dữ liệu thật

Các điểm thực đã chọn được sử dụng làm đầu vào cho thuật toán giải mã ngược, giúp giải mã đa thức khi biết tập nghiệm Red Solomon hoặc hàm nội suy Lagrange Từ đó, các hệ số của đa thức được trích xuất và kết nối, tái tạo lại khóa bí mật ban đầu.

Hình 2.8 Mô phỏng quá trình giải mã vault Đối với bộ giải mã Reed Solomon, quá trình xác thực thất bại khi bộ giải mã không đưa ra được kết quả, đối với kết quả trả về cũng cần tiến hành thêm các bước xác thực khác như so trùng hàm băm để đưa ra kết luận xác thực cuối cùng Toàn bộ quá trình xác thực chỉ có thể thành công khi tập B trùng lắp ở mức độ cho phép so với tập A ban đầu Hình 2.8 Mô phỏng quá trình giải mã vault cho ta ví dụ về phần giải mã cho ví dụ 1 ở trên

PHƯƠNG PHÁP RÚT TRÍCH VECTOR ĐẶC TRƯNG SINH TRẮC HỌC

Rút trích vector đặc trưng từ khuôn mặt

Nhận dạng khuôn mặt là một việc dễ dàng đối với con người Những thực nghiệm trong [9] đã cho thấy, ngay cả những đứa trẻ từ một đến một đến ba ngày tuổi cũng có thể phân biệt được những khuôn mặt mà chúng đã biết Vậy đối với

Máy tính có thể nhận diện khuôn mặt dễ dàng nhờ quá trình nhận diện tự động Quá trình này gồm ba bước: trích xuất đặc điểm khuôn mặt từ hình ảnh, biểu diễn các đặc điểm theo dạng phù hợp và áp dụng thuật toán phân loại để đưa ra kết quả.

Có nhiều phương pháp để máy tínhcó thể nhận diện được khuôn mặt Trong số đó, nhận diện khuôn mặt dựa vào các đặc tính hình học (vị trí của mắt, mũi, miệng…) được dùng nhiều nhất Để nhận dạng khuôn mặt, hình ảnh sau khi chụp sẽ được tiến hành rút trích vector đặc trưng Có nhiều thuật toán có thể dùng để rút trích vector đặc trưng từ hình ảnh đã chụp như Independent Component Analysis (ICA), Linear Discriminant Analysis (LDA), Principal Component Analysis (PCA)…Trong giới hạn của để tài không đi sâu phân tích các thuật toán cũng như các phương pháp nhận diện khuôn mặt mà chỉ chọn hai phương pháp để thực hiện Trong đề tài này tôi chọn phương pháp Eigenfaces và Fisherfaces [10] vì đây là những hướng tiếp cận tổng thể, phổ biến và có độ chính xác cao Để hỗ trợ cho việc hiện thực hai phương pháp trên, chúng tôi dùng thư viện JavaCV, chi tiết thư viện này có thể tham khảo ở [11]

Bước này là một bước rất quan trọng, nó ảnh hưởng lớn đến hiệu suất và tính khả thi của hệ thống Mục đích của bước này là loại bỏ đi phần nền không cần thiết của ảnh, chỉ giữ lại phần khuôn mặt Việc dò tìm khuôn mặt có thể dựa vào một số dấu hiệu: màu da (dùng cho ảnh màu), hình dạng khuôn mặt, hình dạng đầu hoặc có thể kết hợp các dấu hiệu trên Dò tìm khuôn mặt dựa vào các dấu hiệu trên khuôn mặt chính là hướng tiếp cận Appearance-Based Ngoài ra, còn một hướng tiếp cận khác cũng được sử dụng nhiều đó là Learning Based Ở hướng tiếp cận này, việc dò tìm khuôn mặt dựa vào việc học từ tập khuôn mặt trước đó (Training set) thông qua các phương pháp thống kê Trong đề tài này, dò tìm khuôn mặt được thực hiện bằng FaceDetectionListener của Android Camera, chi tiết có thể tham khảo ở [12]

Sau khi dò tìm khuôn mặt, nếu ảnh được đưa trực tiếp vào quá trình rút trích vector đặc trưng mà không thông qua tiền xử lý thì độ chính xác thu được sẽ rất thấp Vì vậy, một bước rất quan trọng trước khi rút trích vector đặc trưng đó là áp dụng các kỹ thuật tiền xử lý để đưa các hình ảnh thu được về một dạng chuẩn nhất phù hợp cho nhận dạng khuôn mặt Hầu hết các thuật toán nhận dạng khuôn mặt hiện nay đều bị ảnh hưởng rất lớn từ điều kiện ánh sáng Ví dụ, hệ thống nhận dạng sẽ có thể không nhận dạng được một người trong điều kiện môi trường sáng nếu người đó đã đăng ký trong môi trường tối Để khắc phục sự phụ thuộc trên và làm tăng độ chính xác của quá trình nhận dạng, quá trình tiền xử lý được tiến hành thông qua hai bước sau:

Bước 1: Chuyển ảnh màu (ảnh RGB) sang ảnh xám (ảnh GrayScale)

Bước 2: Áp dụng Histogram Equalization, bước này sẽ giúp cân bằng độ sáng và độ tương phản của hình ảnh thu được

Một vấn đề của việc biểu diễn hình ảnh đó là số lượng chiều của không gian vector cần để biểu diễn thường là rất lớn Một hình ảnh hai chiều có kích thước p q  cần không gian vector m   p q chiều để biểu diễn Câu hỏi là: Có phải tất cả các chiều đều cần thiết? Câu trả lời là: Không, chúng ta chỉ quyết định dựa vào các thành phần chính, các thành phần chứa hầu hết thông tin

Principal Component Analysis (PCA) được đề xuất bởi Karl Pearson (1901) và Harold Hotelling (1993) nhằm chuyển một tập các biến có quan hệ với nhau thành một tập nhỏ hơn gồm các biến độc lập nhau Ý tưởng là, một tập dữ liệu nhiều chiều thường được mô tả bởi một tập các biến cố có quan hệ với nhau và vì thế chỉ có một số biến chứa hầu hết thông tin Phương pháp PCA tìm ra những biến có bật tự do cao nhất Những biến này được gọi là thành phần chủ yếu, và đây chính là thành phần chứa nhiều thông tin nhất mà chúng ta cần tìm

Cho X  x x x 1, 2, , ,1 x n , là một vector ngẫu nhiên với x i  R d

1 Tính vector “khuôn mặt” trung bình (mean image) 

2 Tính ma trận hiệp phương sai S

3 Tính eigenvalues  i và eigenvectors v i của S

4 Sắp xếp các eigenvectors theo thứ tự giảm dần eigenvalues K thành phần chủ yếu chính là K eigenvectors có eigenvalues lớn nhất

K thành phần chủ yếu của vector x được cho bởi:

Vector X được khôi phục từ PCA bằng công thức sau:

Phương pháp Eigenfaces thực hiện quá trình nhận dạng khuôn mặt qua các bước sau:

 Chiếu tất cả các hình ảnh của tập huấn luyện ban đầu vào không gian PCA

 Chiếu ảnh cần truy vấn vào không gian PCA

 Tìm thành phần gần nhất của tập hình ảnh huấn luyện đã chiếu vào không gian PCA với thành phần sau khi đã chiếu vào không gian PCA của hình ảnh cần truy vấn

Phân tích thành phần chính (PCA) là cốt lõi của phương pháp Eigenfaces PCA loại bỏ các yếu tố bậc tự do thấp để giảm chiều không gian nhưng có thể làm mất các thông tin phân biệt có giá trị Phương pháp Fisherfaces khắc phục điều này bằng cách kết hợp PCA với phân tích phân biệt tuyến tính (LDA), khai thác sự phân tán giữa các lớp để cải thiện khả năng phân loại.

Cho X là một vector ngẫu nhiên với mẫu lấy từ c lớp khác nhau:

Ma trân phân tán S B và S W được tính như sau:

Với  là tổng trung bình:

Với  i là tổng trung bình của lớp i1 c

Thuật toán lớp Fisher (Fisher’s class algorithm) xây dựng phép chiếuW, với mục đích là làm tăng tính khả tách: arg max

Theo [10] và [13] bài toán tối ưu được giải quyết bằng cách sau: arg max T pca W T

T T pca B pca fld W T T pca W pca

Ma trận biến đổi W chiếu dữ liệu mẫu vào không gian  c  1  chiều bằng công thức sau:

Rút trích vector đặc trưng từ dấu vân tay

3.2.1 Một số thuật toán tăng cường ảnh

Trong một ảnh vân tay, chất lượng của cấu trúc vân tay là một đặc tính rất quan trọng, vì các vân tay mang thông tin đặc tính của các đặc trưng và chúng rất cần thiết cho bước rút trích đặc trưng vân tay Trong trường hợp lý tưởng, ảnh vân tay có chất lượng lượng tốt, các vân lồi và vân lõm uốn cong đều với nhau theo cùng một hướng, cho phép các đặc trưng được rút trích một cách chính xác Tuy nhiên, trên thực tế, ảnh vân tay thường có chất lượng không được tốt vì các thông

29 tin nhiễu của ảnh làm sai lệch các đặc trưng, làm ảnh hưởng đến quá trình rút trích đặc trưng Như vậy, mục đích của bước tăng cường ảnh là làm giảm các thông tin nhiễu, làm rõ các cấu trúc vân tay và đánh dấu các vùng có thể khôi phục hay không thể khôi phục

3.2.2 Tăng cường ảnh bằng phương pháp lọc Gabor

Phương pháp lọc Gabor được triển khai bởi Lin Hong [23] là một trong những phương pháp tăng cường ảnh vân tay phổ biến nhất hiện nay Phương này dựa vào bộ lọc Gabor, bộ lọc này là sự hòa hợp của hướng vân và tần số cục bộ Các bước chính của phương pháp này bao gồm: chuẩn hóa ảnh (normalization), ước lượng hướng ảnh (orientation image estimation), ước lượng tần số ảnh (frequence image estimation), tạo các vùng mặt nạ (region mask generation) và lọc Gabor (filtering), hình 3.1

Hình 3.1 Các bước tăng cường ảnh của phương pháp lọc Gabor

1) Chuẩn hóa ảnh:Mục đích của bước này là làm giảm độ khác biệt các giá trị mức xám giữa các vân tay với nhau nhằm tạo thuận lợi cho các bước xử lý tiếp theo Nguyên nhân của sự khác biệt giá trị mức xám này là do quá trình lấy dấu vân tay từ thiết bị đã tạo nên sự không đồng đều màu, có vùng màu nhạt, có vùng màu đậm Đặc biệt ảnh vân

30 tay sau khi được chuẩn hóa, các vân tay sẽ được làm rõ hơn mà không làm thay đổi cấu trúc của vân tay

Hình 3.2 Minh họa kết quả chuẩn hóa ảnh (a) Ảnh gốc (b) Ảnh đã được chuẩn hóa(M 0 100, VAR 0 100)

2) Ước lượng hướng ảnh:Mục đích của bước này là xác định hướng của các đường vân tay nhằm phục vụ cho bước ước lượng tần số ảnh và lọc Gabor Đây được xem là một trong những bước quan trọng nhất trong phần tăng cường ảnh Vì nếu việc ước lượng hướng không đúng sẽ dẫn đến việc ước lượng tần số và lọc Gabor sai Kết quả này làm ảnh sau khi tăng cường không tốt, thậm chí còn xấu hơn rất nhiều so với ảnh ban đầu, dẫn đến việc rút trích đặc trưng không tốt Cho một ảnh đã chuẩn hóaG, các bước chính của ước lượng hướng ảnh như sau:

 Chia ảnh G thành nhiều ô có kích thước w w  (16 16) 

 Ở mỗi ô có tâm điểm ( , ) i j , dùng toán tử Sobel để tính gradiant

 x và  y (i, j) tại mỗi điểm ( , )i j Toán tử Sobel ngang dùng để tính  x (i, j)

Toán tử Sobel dọc được dùng để tính  y (i, j)

 Ước lượng hướng ở mỗi ô có tâm điểm( , )i j theo phương trình sau: w w

Trong đó ( , )i j là hướng cục bộ của ô có tâm điểm là ( , )i j

 Sử dụng lọc Gaussian làm mượt các trường hướng của ô căn cứ vào thông tin của các ô lân cận, vì các điểm gây nhiễu, vân bị đứt hay các đặc trưng vân tay…trong ảnh vân tay làm cho việc xác định hướng cục bộ của ô không đúng (hình 3.3a) Ngoài ra, tính chất hướng của các ô thay đổi một cách từ từ so với các ô lân cận của nó nên một lọc thông thấp (low-pass) được dùng để chỉnh sửa những hướng vân cục bộ sai Để thực hiện lọc thông thấp, hướng của các ô được chuyển về các trường vector liên tục

Trong đó  x (i, j) và  y (i, j) là các trường vector ứng với x và y Áp dụng bộ lọc thông thấp lên các trường vector ta có: w /2 w /2

Trong đó W là lọc thông thấp Gaussian của kích thước w  w 

Hướng sau khi được làm mượt ở mỗi ô:

Hình 3.3 a) Ước lượng hướng ảnh chưa được làm mượt; b) Ước lượng hướng ảnh đã được làm mượt

3) Ước lượng tần số ảnh: Mục đích của bước này là xác định tần số của vân tay nhằm phục vụ cho bước lọc Gabor Tần suất vân cục bộ tại điểm ( , )i j là nghịch đảo của số vân trên một đơn vị chiều dài dọc theo đoạn có tâm tại ( , ) i j và vuông góc với hướng vân cục bộ Cho G là ảnh đã được chuẩn hóa, O là ảnh hướng, các bước chính của ước lượng tần số ảnh gồm:

 Chia Gthành các ô có kích thước w w  (16 16) 

 Ở mỗi tâm điểm ( , )i j của ô, tính giá trị trong cửa sổ hướng (oriented window) có kích thước lw (32 16) , hình 3.4

 Ở mỗi tâm điểm ( , )i j của ô, tính x signature , X[0], X[1],…,X[l-1] của vân lồi và vân lõm trong cửa sổ hướng

Nếu trong cửa sổ hướng không chứa đặc trưng vân tay nào thì hình dạng của x signature là một hình sin rời rạc có biên độ gần bằng nhau, do đó tần số của vân có thể được ước lượng từ x signature Đặt T i j ( , ) là khoảng cách trung bình của cặp đỉnh liền kề trong x signature , tần số vân ( , )i j được tính như sau:

Đối với ảnh có độ phân giải không thay đổi, tần số vân cục bộ nằm trong một khoảng giá trị cố định Ví dụ, đối với ảnh 500dpi, giá trị tần số nằm trong khoảng [1/3, 1/25] Nếu giá trị ước lượng tần số nằm ngoài phạm vi này, ô đó được gán giá trị -1 để biểu thị rằng tần số không thể xác định được.

 Đối với những cửa sổ có hướng có chứa những đặc trưng vân tay thì hình dạng của x signature là một hình sin có các giá trị của đỉnh biên độ trên lệch nhau nhiều Giá trị tần số của ô được suy ra từ các giá trị tần số của các ô lân cận Ta có thuật toán sau:

W g là một nhân Gaussian rời rạc (discrete Gaussian kernel) mà trong đó giá trị của mean là 0 và giá trị của variance là 9 khi kích thước nhân WΩ=7 b) Nếu tồn tại ít nhất một ô có giá trị tần số là -1 thì hoán đổi giữa Ω và Ω’, sau đó quay lại bước a)

 Khoảng cách giữa các tâm của vân thay đổi rất ít trong cùng một vùng lân cận cục bộ Do vậy một lọc thông thấp có thể được dùng để xóa phần nằm ngoài trong f’:

Trong đó: Wl là một lọc thông thấp hai chiều và kích thước của bộ lọc W l = 7

Hình 3.4 Cửa sổ hướng và x signature

3.2.3 Tạo các vùng mặt nạ

Mục đích của bước này là xác định các vùng điểm của ảnh vân tay đầu vào nào có khả năng được phục hồi và vùng điểm nào không thể được phục hồi Việc phân loại các điểm ảnh vào vùng có khả năng được phục hồi hay không thể được phục hồi là dựa vào hình dạng sóng của vân tay cục bộ Ba yếu tố sau được dùng là đặc tính của sóng hình dạng sin của tần số: biên độ (α), tần số (β), độ khác biệt (γ)

Thuật toán: Đặt X[1], X[2],…, X[l] là x signature của ô có tâm ( , )i j Ba đặc tính được tính như sau:

 α = (chiều cao trung bình của các đỉnh – bề sâu trung bình của các đáy của sóng hình sin)

   1 / ( , ) T i j , trong đó T i j ( , ) là số điểm ảnh trung bình giữa hai đỉnh kề nhau

Nếu sự kết hợp của ba đặc tính trên mà lớn hơn một ngưỡng nào đó thì ô có tâm ( , )i j có khả năng được phục hồi, ngược lại thì không thể được phục hồi

Cấu trúc song song của vân tay cùng với một tần số vân và hướng trong một ảnh vân tay cung cấp thông tin hữu ích cho việc loại bỏ các nhiễu ra khỏi ảnh vân tay Do đó, việc dùng bộ lọc Gabor mà dựa vào tần số và hướng vân giúp làm rõ ảnh vân tay một cách hiệu quả Một bộ lọc đối xứng hai chiều Gabor có dạng như sau:

Trong đó θ là hướng của bộ lọc và [ ,x y   ]là ảnh của [ , ] x y sau khi quay quanh trục Cartersian một góc (90 0 – θ):

0 sin( ) cos( ) cos(90 ) sin(90 ) cos( ) sin( ) sin(90 ) cos(90 ) x x x y y y

Trong biểu thức trên f là tần suất của sóng phẳng hình sin,   x , y là độ lệch chuẩn Gaussian tương ứng dọc theo trục x và y

Hình 3.5Biểu diễn đồ họa của bộ lọc Gabor xác định bởi tham số

Một số thuật toán rút trích đặc trưng

Có hai phương pháp chính để tìm các đặc trưng: rút trích các đặc trưng từ ảnh đã được nhị phân hóa và rút trích các đặc trưng trực tiếp từ ảnh xám

3.3.1 Rút trích các đặc trưng từ ảnh đã được nhị phân hóa

3.3.1.1 Phương pháp nhị phân hóa

Từ ảnh xám ban đầu, áp dụng bộ lọc thích hợp để phát hiện và làm mỏng đường vân về dạng một điểm ảnh Sau đó, chuyển ảnh xám thành ảnh nhị phân với giá trị 0 hoặc 1 Cuối cùng, các đặc trưng được trích xuất dựa trên điểm lân cận xung quanh của điểm ảnh.

Một trong những kĩ thuật dễ dàng nhất là sử dụng ngưỡng toàn cục t và được thực hiện bằng cách thiết lập các điểm ảnh có mức xám nhỏ hơn t về 0 và các điểm ảnh còn lại về 1 Nhưng các phần khác nhau của ảnh có thể được đặc tính hóa bởi độ tương phản và cường độ khác nhau Do vậy, một ngưỡng đơn là không đủ để nhị phân hóa chính xác Một kĩ thuật khác là dùng ngưỡng cục bộ t, bằng cách điều chỉnh giá trị của nó theo cường độ cục bộ trung bình Trong trường hợp ảnh vân tay

39 có chất lượng thấp, kĩ thuật ngưỡng cục bộ không phải lúc nào cũng cho ra một kết quả tốt vì có sự xuất hiện các lỗ, các đứt gãy nhỏ và các cầu giữa các vân trên ảnh nhị phân hóa Để giải quyết vấn đề này ta cần có thêm bước lọc đặc trưng

3.3.1.2 Phương pháp làm mỏng (thinning)

Phương pháp này nhằm làm mỏng bề dày của vân tay về còn một điểm ảnh mà các cấu trúc vân tay vẫn được đảm bảo (hình 3.8)

Hình 3.7 a) Ảnh vân tay xám; b) Ảnh nhị phân hóa; c) Ảnh làm mỏng

Giả sử ( , )x y là một điểm trên đường vân đã được làm mỏng và N N 0 , 1 , ,N 7 là 8 điểm xung quanh nó thì:

 ( , ) x y là một điểm kết thúc nếu

 ( , )x y là một điểm rẽ nhánh nếu

Hình 3.8 a) Một phần điểm của vân tay; b) Điểm kết thúc; c) Điểm rẽ nhánh

Sự xuất hiện các lỗ, các đứt gãy nhỏ và các cầu giữa các vân trên ảnh vân tay đã được nhị phân hóa làm ảnh hưởng đến việc rút trích sai các đặc trưng Như vậy một bước tiền xử lý trước khi rút trích các đặc trưng sẽ hữu ích cho việc loại bỏ các đặc trưng lỗi

Two types of post-processing are used to eliminate false minutiae: structural post-processing and minutiae filtering in the gray-scale domain.

 Xử lý dựa vào cấu trúc vân: có thể dùng vài luật cấu trúc đơn giản để phát hiện các đặc trưng lỗi nhằm xác định các đặc tính số học liên quan đến các đặc trưng: chiều dài các vân, góc đặc trưng và số các đặc trưng đối diện gần kề trong lân cận

Hình 3.9 Các cấu trúc vân lỗi phổ biến được điều chỉnh lại thành các cấu trúc vân đúng

 Lọc đặc trưng theo miền mức ảnh xám: để phát hiện các đặc trưng thực sự, thuật toán rà soát lại dựa vào các đặc trưng gần kề xung quanh nó

3.3.2 Rút trích các đặc trưng trực tiếp từ ảnh xám Ý tưởng của phương pháp này là dựa vào thuật toán dò theo đường vân (ridge line following) Từ ảnh vân tay đã được tăng cường, thuật toán sẽ dò các đường vân để tìm ra các đặc trưng rẽ nhánh và các đặc trưng kết thúc Mặc dù độ phức tạp khái niệm của phương pháp này nhiều hơn nhưng phương pháp này có độ tính toán ít phức tạp hơn so với phương pháp rút trích các đặc trưng từ ảnh đã được nhị phân hóa

3.3.2.1 Dò theo đường vân (ridge line following)

Giả sử I là một ảnh xám có kích thước là a b  và z là giá trị mức xám tại điểm ( , )i j thì bề mặt của ảnh vân tay I có dạng như trong hình 3.10

Hình 3.10 Các đường vân (ridge) và các rãnh (ravine) trên bề mặt vân tay

Về mặt toán học, đường vân là tập hợp các điểm cực đại dọc theo cùng một hướng xác định Việc rút trích các đặc trưng trực tiếp từ ảnh xám dựa vào thuật toán Dò theo đường vân Trong đó, thuật toán này dựa vào việc xác định các điểm cực đại trực giao với hướng của đường vân

Các bước chính rút trích đặc trưng bằng thuật toán Dò theo đường vân được thực hiện như sau:

 Lấy một điểm bất kỳ (i , s j s ) trên ảnh I

 Xác định hướng  s tại điểm (i , s j s )

 Tìm điểm cực đại ( ,i j c c ) mà gần với (i , s j s ) nhất

 Xác định hướng  c tại điểm ( ,i j c c )

 Dịch chuyển một đoạn  theo hướng  c

 Điều chỉnh lại điểm cực đại ( ,i j c c ) và hướng  c

 Tiếp tục dò theo đường vân cho đến khi không phát hiện được điểm cực đại ( ,i j c c ) thì đó là điểm đặc trưng (có thể là điểm kết thúc hay điểm rẽ nhánh)

 Tiếp theo chọn một điểm (i , s j s ) khác và thực hiện lại quá trình trên cho đến khi dò hết tất cả các đường vân

Hình 3.11 Điểm cực đại ( ,i j c c ) tương ứng với (i , s j s )

Hình 3.12 Dịch chuyển một đoạn  theo đường vân

Thuật toán xác định điểm cực đại:

Giả sử (( , j ), , )i t t   là thiết diện của đường vân có điểm chính giữa là ( , )i j t t , hướng của thiết diện     t / 2 ( t là hướng của đường vân tại ( , )i j t t và

44 bề rộng của thiết diện m21 điểm ảnh (hình 3.13) Khi đó,  được xác định như sau:

( , ) | ( , )i j j j I i j, ( , ) segment i(( start , j start ), (i end ,j end ))

(i start ,j start )(round i( t ),round j( t .sin )) (i end , j end )(round i( i ),round j( t .sin )) Điểm cực đại được xác định bằng cách so sánh mức xám giữa các điểm trong

Hình 3.13 Thiết diện của đường vân

HỆ THỐNG ĐỒNG XÁC THỰC

Giới thiệu đồng xác thực

Chương 1 đã đề cập đến một số hệ thống xác thực được dùng phổ biến hiện nay bao gồm:

 Object-based: thẻ ATM, thẻ nhân viên…

 Id-based: các đặc trưng sinh trắc học…

Mỗi loại hệ thống có điểm mạnh, điểm yếu riêng và bị thỏa hiệp bởi một số loại tấn công nhất định Vì vậy, khi kết hợp các loại hệ thống xác thực hoặc các thực thể khác nhau của một hệ thống xác thực lại với nhau sẽ làm tăng sức mạnh của hệ thống

Có nhiều cách để xây dựng một hệ thống đồng xác thực như: kết hợp nhiều đặc trưng sinh trắc học với nhau, kết hợp mật khẩu với sinh trắc học, kết hợp sinh trắc học vào thẻ nhân viên…Trong đề tài này, tôi phát triển một hệ thống đồng xác thực kết hợp các đặc trưng sinh trắc Hệ thống được phát triển với mục tiêu tăng sức mạnh của hệ thống xác thực và bảo vệ an toàn cho dữ liệu sinh trắc được lưu trên điện thoại.

Các kỹ thuật kết hợp trong đồng xác thực

Trong hệ thống xác thực đa yếu tố, việc kết hợp các phương pháp xác thực riêng lẻ lại với nhau là điều bắt buộc Có bốn cách chính để thực hiện điều này: kết hợp ở tầng dữ liệu thô, kết hợp ở tầng giao thức, kết hợp ở tầng ứng dụng và kết hợp ở tầng trình duyệt Mỗi phương pháp có những ưu điểm và nhược điểm riêng, do đó nên lựa chọn phương pháp phù hợp nhất với nhu cầu bảo mật và khả năng tương thích của hệ thống.

46 tầng vector đặc trưng, kết hợp ở tầng điểm và kết hợp ở tầng quyết định Dữ liệu vào cho quá trình kết hợp của các phương pháp trên theo thứ tự giảm dần

Theo ví dụ ở Hình 4.1 dữ liệu vào ở tầng dữ liệu thô là 1.2 MB, ở tầng vector đặc trưng là 22 Bytes, ở tầng điểm là 1 Byte và ở tầng quết định là 1 Bit Dữ liệu đầu vào càng lớn thì sẽ càng chứa nhiều thông tin hơn Tuy nhiên, ngoài dữ liệu đầu vào thì còn rất nhiều yếu tố ảnh hưởng đến việc xác định cách kết hợp nào phù hợp với hệ thống Dưới đây là kết quả phân tích sâu hơn về bốn phương pháp kết hợp này

Hình 4.1 Các kỹ thuật kết hợp trong đồng xác thực

4.2.1 Kết hợp ở tầng dữ liệu thô (Raw level) Ở tầng này, quá trình kết hợp diễn ra trước khi dữ liệu được đưa vào trích xuất vector đặc trưng Cách kết hợp này thích hợp cho các hệ thống sử dụng nhiều mẫu của cùng một đặc trưng sinh trắc học Ví dụ, hệ thống chụp nhiều ảnh của cùng một khuôn mặt sau đó kết hợp lại thành một ảnh duy nhất rồi đưa vào quá trình rút trích vector đặc trưng

Kết hợp ở tầng dữ liệu thô có những ưu điểm và nhược điểm sau đây:

So với các phương pháp kết hợp thông tin khác, phương pháp kết hợp ở tầng dữ liệu thô có lượng thông tin đầu vào lớn nhất.

 Nhược điểm: Dữ liệu thu được của các đặc trưng sinh trắc học rất khác nhau nên rất khó tìm ra một thuật toán kết hợp tổng quát Dữ liệu thô thu được thường có độ nhiễu cao nên kết hợp ở tầng này sẽ có độ

47 chính xác không cao Ngoài ra, hệ thống sẽ không kết hợp được với các hệ thống xác thực truyền thống như: mật khẩu, các loại thẻ…

4.2.2 Kết hợp ở tầng vector đặc trưng (Feature level) Ở tầng này, quá trình kết hợp diễn ra trên các vector đặc trưng đã được rút trích từ dữ liệu thô Sau khi kết hợp, kết quả thu được là một vector đặc trưng tổng hợp Vector này sẽ được đưa vào quá trình tính điểm

Mô hình kết hợp ở tầng vector đặc trưng được chia làm hai lớp chính là đồng nhất và không đồng nhất Lớp đồng nhất được dùng để kết hợp các vector đặc trưng được rút trích từ cùng một đặc trưng và cùng một thuật toán Lớp không đồng nhất được dùng để kết hợp các vector đặc trưng của các đặc trưng khác nhau hoặc được rút trích từ các thuật toán khác nhau

Kết hợp ở tầng vector đặc trưng có những ưu điểm và nhược điểm sau đây:

 Ưu điểm: Lượng thông tin đầu vào tuy ít hơn tầng dữ liệu thô nhưng vẫn còn chứa rất nhiều thông tin Độ nhiễu đã được giảm xuống trong quá trình trích xuất vector đặc trưng nên độ chính xác được cải thiện

Hạn chế lớn của phương pháp này là mối quan hệ giữa các vector đặc trưng có thể không xác định được hoặc không tương thích với nhau, dẫn đến khó khăn trong việc xây dựng thuật toán kết hợp.

4.2.3 Kết hợp ở tầng điểm (Score level) Ở tầng này, quá trình kết hợp diễn ra trên điểm được sinh ra do quá trình so sánh vector đặc trưng hiện tại với vector đặc trưng đã đăng ký trước đó Kết hợp ở tầng điểm rất dễ hiện thực và linh hoạt nên đây là cách được dùng nhiều nhất Ở tầng này, điểm được sinh ra từ các vector đặc trưng khác nhau có thể kết hợp lại với nhau theo trọng số khác nhau tùy theo mức độ quan trọng của mỗi đặc trưng

Kết hợp ở tầng điểm có những ưu điểm và nhược điểm sau đây:

 Ưu điểm: Dễ thực hiện, linh hoạt, có thể thay đổi tính chất của hệ thống theo hướng bảo mật hoặc thuận tiện cho người dùng thông qua việc thiết lập trọng số cho các đặc trưng khác nhau

 Nhược điểm: Điểm được sinh ra từ các đặc trưng khác nhau có thể không đồng nhất Nguyên nhân là do điểm được sinh ra theo các phân bố xác suất khác nhau hoặc cách đánh giá sự tương đồng khác nhau

Ví dụ, đặc trưng thứ nhất điểm càng cao thì độ tương đồng càng cao trong khi đó ở đặc trưng thứ hai điểm càng cao thì độ tương đồng càng thấp

4.2.4 Kết hợp ở tầng quyết định (Decision level) Ở tầng này, mỗi hệ thống xác thực tự so sánh với dữ liệu đã lưu trong quá trình đăng ký trước đó để đưa ra quyết định là đồng ý hoặc từ chối truy cập Sau đó, các kết quả này sẽ được kết hợp lại dùng các phép toán logic như AND, OR…

Kết hợp ở tầng quyết định có những ưu điểm và nhược điểm sau đây:

 Ưu điểm: Dễ thực hiện, thông tin đầu vào của quá trình kết hợp đã được lọc nhiễu từ các bước trước đó

 Nhược điểm: Không linh hoạt, chứa quá ít thông tin nên khó có thể điều chỉnh hệ thống thiên về bảo mật hay thuận tiện cho người dùng

KIẾN TRÚC HỆ THỐNG ĐỒNG XÁC THỰC

Mô tả hệ thống

Hệ thống đồng xác thực dựa vào đặc trưng sinh trắc cho Android Smartphone là hệ thống có chức năng chính là xác thực người dùng dựa trên đặc điểm sinh trắc học của cá nhân.

Sau khi phân tích, tôi chọn dùng khuôn mặt kết hợp với dấu vân tay vì hai đặc trưng này phổ biến với người dùng Bên cạnh đó, đặc trưng khuôn mặt dễ dàng thu nhận được từ thiết bị android smartphone Tuy nhiên đặc trưng dấu vân tay hầu như chưa được hỗ trợ trên android smartphone hoặc nhà sản xuất chưa cho bên thứ ba truy xuất để lấy thông tin đặc trưng này Do vậy đặc trưng dấu vân tay sẽ được thực nghiệm thông qua tập hình ảnh dấu vân tay được đưa vào thiết bị

Sau đây là các thành phần chính của hệ thống:

The Biometrics Authenticator extracts feature vectors and compares biometric data from the authentication and enrollment processes to generate a score (s) and a validity check value.

Hệ thống ước lượng trọng số mờ nhòe (Fuzzy logic Weight Estimation System) giúp ước lượng trọng số của khuôn mặt và dấu vân tay trong quá trình xác thực sinh trắc học dựa trên điều kiện môi trường hiện tại Điều này cho phép hệ thống điều chỉnh độ tin cậy của các phương thức xác thực khác nhau theo sự thay đổi của môi trường, đảm bảo hiệu suất xác thực chính xác và đáng tin cậy.

 Thành phần kết hợp điểm (Score and Decision Fusion): kết hợp điểm nhận được từ thành phần xác thực

 Thành phần đồng xác thực (Co-Authentication): So sánh điểm d nhận được từ thành phần kết hợp điểm với ngưỡng  để đưa ra kết quả cuối cùng là cho phép truy cập hoặc từ chối truy cập.

Các thành phần của hệ thống

5.2.1 Thành phần xác thực khuôn mặt

Quá trình đăng ký: Từ dữ liệu sinh trắc thu được R e quá trình tiền xử lý (Pre-processing) sẽ được thực hiện để thu được vector P e Sau đó, vector đặc trưng

F e  R sẽ được rút trích bằng Biometrics Feature Extractor Tiếp theo, vector khoảng cách d e được sinh ra bằng Biometric Vector Transformator Cuối cùng vector này sẽ được lưu vào bộ nhớ để dùng cho quá trình xác thực

Quá trình xác thực:Tương tự như quá trình đăng ký, mẫu dữ liệu sinh trắc học mới thu được sẽ được chuyển thành vector khoảng cách d a Sau đó khoảng cách Euclidean D của ( ,d d e a )với d e được truy xuất từ dữ liệu đã lưu ở quá trình đăng ký, sẽ được xác định thông qua Distance Calculator bằng công thức sau:

Sau đó, dựa vào ngưỡng khoảng cách D threshold và ngưỡng điểm S threshold cho trước, điểm s và biến kiểm tra hợp lệ d sẽ được tính thông qua Score Calculator sau:

𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 , 𝑑 = 𝑡𝑟𝑢𝑒 𝑛ế𝑢 𝐷 ≤ 𝐷 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 (5.2) Với 𝑆𝑐𝑜𝑟𝑒 𝑅𝑎𝑛𝑔𝑒 là thang điểm dùng cho quá trình xác thực

Hình 5.1 Thành phần xác thực sinh trắc

5.2.2 Thành phần xác thực dấu vân tay

Thành phần xác thực dấu vân tay sử dụng mô hình Fuzzy Vault Trong quá trình đăng ký, đặc trưng dấu vân tay F e được dùng để mã hóa khóa k và được che giấu trong vault và lưu vào bộ nhớ Trong quá trình xác thực đặc trưng dấu vân tay

F a được dùng để sinh lại khóa k' Nếu k'k thì d mang giá trị đúng và ngược lại d mang giá trị sai Điểm s là một hằng số cho trước ( S default ) và s được xem là hợp lệ khi d mang giá trị đúng, ngược lại,s không hợp lệ nếu d mang giá trị sai

Hình 5.2 Thành phần xác thực dấu vân tay

5.2.3 Thành phần ước lượng trọng số

Thành phần ước lượng trọng số nhận dữ liệu vào là độ sáng của hình ảnh (Fillum), hệ số chất lượng ảnh vân tay sau đó tính ra hệ số   1 , 2 cho quá trình kết hợp điểm

5.2.4 Thành phần kết hợp điểm

Thành phần kết hợp điểm nhận dữ liệu vào là điểm ( , s )s 1 2 , biến kiểm tra hợp lệ ( ,d d 1 2 ) lần lượt của đặc trưng khuôn mặt và đặc trưng dấu vân tay từ thành phần xác thực khuôn mặt và thành phần xác thực dấu vân tay, trọng số ( ,  1 2 ) lần lượt của đặc trưng khuôn mặt và đặc trưng dấu vân tay để sinh ra điểm cuối cùng d f

Do s 1 , s 2 được sinh ra theo các phân bố xác suất khác nhau và có cách đánh giá tương đồng khác nhau nên chúng ta cần thêm một bước chuẩn hóa để đưa s 1 , s 2 về cùng một phân bố xác suất và có cách đánh giá tương đồng giống nhau Trong đề tài này, tôi chọn thang điểm là 100 nên s 1 , s 2 sẽ được chuẩn hóa theo công thức sau:

(5.5) Khi s 1 , s 2 đã được chuẩn hóa, điểm d f được tính như sau:

5.2.5 Thành phần đồng xác thực

Thành phần đồng xác thực nhận dữ liệu vào là điểm cuối cùng d f từ thành phần kết hợp điểm và ngưỡng  để sinh ra kết quả cuối cùng d Kết quả cuối cùng d được tính như sau:

Hiện thực hệ thống

Trong đề tài này, hệ thống được hiện thực trên nền tảng hệ điều hành Android Android được chọn bởi vì hiện tại Android là hệ điều hành có người sử dụng lớn nhất Ngoài ra, Android là hệ điều hành mã nguồn mở nên thuận tiện cho việc can thiệp sâu vào hệ thống bảo mật mặc định của hệ điều hành

Hình 5.3 Thống kê số lượng điện thoại bán ra trên toàn thế giới [16]

Android là hệ thống tuần tự các phần mềm (Software stack) cho thiết bị di động bao gồm hệ điều hành (Operating System), các trình điều khiển phần cứng (Middleware) và các ứng dụng cơ bản (Key applications) Android dựa trên nền tảng Linux 2.6 cho các dịch vụ chính của hệ thống như: bảo mật, quản lý bộ nhớ, quản lý tiến trình và lớp giao tiếp mạng Android có mã nguồn mở và Google phát hành mã nguồn theo giấy phép Apache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do

Android gồm các tính năng sau:

 Khung ứng dụng: cho phép tái sử dụng lại các ứng dụng có sẵn

 Máy ảo Dalvik: là máy ảo được tinh chỉnh riêng cho thiết bị di động chạy trên nền Android

 Trình duyệt web được tích hợp sẵn: được dựa trên bộ mã nguồn mở webkit

 Hệ thống xử lý đồ họa tối ưu hóa: gồm thư viện đồ họa 2D, 3D dựa trên nền OpenGL

 SQLite: dùng cho lưu trữ cơ sở dữ liệu cục bộ

 Media: hỗ trợ các định dạng âm thanh, video và hình ảnh thông thường như: MPEG4, H.264, MP3, ACC, AMR, JPG, PNG và GIF

 Điện thoại GSM với chức năng nghe gọi, nhắn tin

 Hỗ trợ hầu hết các phương thức kết nối Bluetooth, EDGE, 3G và wifi

 Hỗ trợ các phần cứng như: Camera, GPS, la bàn số, cảm ứng gia tốc và đo nhịp tim

 Môi trường phát triển đa dạng: bao gồm các thiết bị máy ảo, công cụ để kiểm tra lỗi, bộ nhớ và và công cụ cung cấp thông tin giả lập

Dưới đây là kiến trúc của hệ thống Android

Hình 5.4 Kiến trúc hệ thống Android

Hình 5.5 Phân loại các phiên bản Android

Phiên bản Android được dùng trong quá trình hiện thực hệ thống là 4.0 (Ice Cream Sandwich) hoặc mới hơn Tôi chọn phiên bản 4.0 hoặc mới hơn bởi vì đây là một trong những phiên bản được sử dụng nhiều nhất Ngoài ra, từ phiên bản 4.0 trở lên, chức năng phát hiện khuôn mặt của các điện thoại Android được cải thiện đáng

57 kể, cả phần mềm lẫn phần cứng Sự cải thiện về khả năng phát hiện khuôn mặt giúp quá trình nhận dạng khuôn mặt được chính xác hơn và làm tăng tốc độ của quá trình xác thực so với phát hiện khuôn mặt dùng thư viện API của thư viện JavaCV

Thư viện JavaCV và OpenCV

Trong đề tài này, hai thư viện JavaCV [11] và OpenCV [17] được dùng để hỗ trợ cho việc tiền xử lý hình ảnh và rút trích vector đặc trưng khuôn mặt Thư viện JavaCV là một interface được viết bằng ngôn ngữ Java giúp giao tiếp với các thư viện xử lý đồ họa phổ biến như: OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput và ARTToolKitPlus

OpenCV (Open Source Computer Vision) là thư viện xử lý đồ họa được phát hành dưới giấy phép BSD OpenCV có C++, C, Python và Java interfaces và hỗ trợ hầu hết các hệ điều hành hiện tại như: Windows, Linux, Mac OS, iOS và Android OpenCV được thiết kế ưu tiên về tính toán hiệu năng cao và phù hợp cho các ứng dụng yêu cầu thời gian thực OpenCV hỗ trợ rất nhiều API để xử lý ảnh và hỗ trợ các phương pháp dùng để nhận dạng khuôn mặt như: Eigenfaces, Fisherfaces và Local Binary Patterns Histograms Ngoài ra, OpenCV là một trong những thư viện xử lý đồ họa phổ biến nhất hiện nay với cộng đồng gần 47.000 người dùng và gần 7 tỷ lượt tải

Cấu trúc mã nguồn của hệ thống được tổ chức thành các gói chức năng (packages) như sau:

 Bioauthen: Gói mã nguồn chính của chương trình, chứa các Activity, Fragment và Service

 Bioauthen.authencation: Gói mã nguồn chứa thành phần đăng ký, thành phần xác thực, thành phần đồng xác thực và thành phần kết hợp điểm của hệ thống

 Bioauthen.face: gói mã nguồn chứa các lớp phục vụ cho việc thu thập hình ảnh và chứa thành phần xác thực khuôn mặt

 Bioauthen.face.preprocess: Gói mã nguồn chứa các lớp phục vụ cho việc tiền xử lý hình ảnh

 Bioauthen.face.extractor: Gói mã nguồn chứa các lớp phục vụ cho việc rút trích vector đặc trưng khuôn mặt

 Fingerprintauthentication.extractor: gói mã nguồn chứa các lớp phục vụ cho việc rút trích, xử lý đặc trưng dấu vân tay

 Fingerprintauthentication.lagrange: gói mã nguồn chứa các lớp phục vụ cho việc thực hiện giải thuật Fuzzy vault

Hình 5.6 Cấu trúc mã nguồn gói bioauthen.face

59 Hình 5.7 Cấu trúc mã nguồn gói bioauthen.face.preprocess

Hình 5.8 Cấu trúc mã nguồn gói bioauthen.face.extractor

KẾT QUẢ THỰC NGHIỆM

KỊCH BẢN THỰC NGHIỆM

Quá trình thực nghiệm gồm có:

1 Thực nghiệm xác thực dùng khuôn mặt

2 Thực nghiệm xác thực dùng dấu vân tay

3 Thực nghiệm xác thực dùng hệ thống đồng xác thực

Mục đích của quá trình thực nghiệm là để tính ra tỷ lệ chấp nhận sai (FAR) và tỷ lệ từ chối sai (FRR) theo công thức sau:

Với 𝑁 𝐹𝐴 là số lần chấp nhận sai, N là tổng số mẫu thử

6.1.1 Thực nghiệm xác thực khuôn mặt

Quá trình thực nghiệm xác thực dùng khuôn mặt được tiến hành trên hai nhóm người như sau:

Nhóm 1: gồm 10 người khác nhau Quá trình thử nghiệm được tiến hành bằng cách lần lượt từng người đăng ký Sau mỗi lần đăng ký, người đó sẽ xác thực lại 5 lần Sau đó tổng hợp số lần từ chối sai để tính FRR

Nhóm 2: gồm 10 người khác nhau Quá trình thử nghiệm được tiến hành bằng cách cho lần lượt từng người xác thực với người dùng đăng ký ở nhóm 1, mỗi người xác thực 5 lần Sau đó tổng hợp số lần chấp nhận sai để tính FAR

6.1.2 Thực nghiệm xác thực dấu vân tay

Quá trình thực nghiệm xác thực bằng dấu vân tay được tiến hành trên bốn bộ dữ liệu mẫu [25], [26]

Bộ 1: gồm 80 mẫu dấu vân tay của 10 người khác nhau Quá trình thử nghiệm được tiến hành bằng cách lấy 3 mẫu dấu vân tay của người dùng cho đăng ký, dùng 5 mẫu còn lại của người đó để xác thực Sau đó tổng hợp số lần từ chối sai để tính FRR

Bộ 2: gồm 50 mẫu dấu vân tay của 10 người khác nhau Quá trình thử nghiệm được tiến hành bằng cách, cho lần lượt 50 mẫu dấu vân tay này xác thực với các mẫu dấu vân tay đăng ký ở bộ 1 Sau đó tổng hợp số lần chấp nhận sai để tính FAR

6.1.3 Thực nghiệm xác thực dùng hệ thống đồng xác thực

Quá trình thực nghiệm được tiến hành trên hai bộ dữ liệu sau:

Bộ 1: gồm tập dữ liệu khuôn mặt và dấu vân tay của 10 người khác nhau Quá trình thử nghiệm được tiến hành bằng cách lần lượt lấy 1 tập dữ liệu của người dùng cho đăng ký, dùng 5 tập dữ liệu còn lại của người dùng đó để xác thực Sau đó tổng hợp số lần từ chối sai để tính FRR

Bộ 2: gồm tập dữ liệu khuôn mặt và dấu vân tay của 10 người khác nhau Quá trình thử nghiệm được tiến hành bằng cách cho lần lượt người xác thực với các tập dữ liệu dùng đăng ký ở bộ 1 Sau đó tổng hợp số lần chấp nhận sai để tính FAR

KẾT QUẢ THỰC NGHIỆM

6.2.1 Thực nghiệm xác thực dùng khuôn mặt

Hình 6.1 Kết quả thực nghiệm xác thực dùng nhận dạng khuôn mặt

Nhận xét: Dựa vào kết quả thực nghiệm, ngưỡng D cho kết quả tốt nhất là

870, tương ứng với mức D này, FRR = 22%, FAR = 24% Kết quả trên cho thấy, xác thực dùng khuôn mặt cho kết quả chưa tốt, FRR và FAR còn ở mức cao Nguyên nhân là do hai phương pháp rút trích đặc trưng Eigenfaces và Fisherfaces có độ chính xác không cao đối với hình ảnh được chụp từ máy ảnh của điện thoại

6.2.2 Thực nghiệm xác thực dùng dấu vân tay

Qua thực nghiệm, kết quả đạt được FRR = 15 % và FAR = 7%

6.2.3 Thực nghiệm xác thực dùng hệ thống đồng xác thực

Hình 6.2 Kết quả thực nghiệm dùng hệ thống đồng xác thực

Nhận xét: Kết quả thực nghiệm cho thấy ngưỡng điểm cho kết quả tốt nhất là

50, tương ứng với ngưỡng điểm này, tỷ lệ chấp nhận sai và và từ chối sai lần lượt là FAR =1.4%, FRR = 2% Kết quả trên cho thấy, hệ thống đồng xác thực giúp giảm tỷ lệ chấp nhận sai và tỷ lệ từ chối sai như sau:

 Giảm tỷ lệ từ chối sai từ 22% ở nhận dạng khuôn mặt và 15% ở dấu vân tay xuống còn 2%

 Giảm tỷ lệ chấp nhận sai từ 24% ở nhận dạng khuôn mặt và 7% ở dấu vân tay xuống còn 1.4%

Ngày đăng: 09/09/2024, 16:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] A. Georghiades, P. Belhumeur and D. Kriegman, "From Few to Many: Illumination Cone Models for Face Recognition under Variable Lighting and Pose," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 23, no. 6, pp. 643-660, June 2001 Sách, tạp chí
Tiêu đề: From Few to Many: Illumination Cone Models for Face Recognition under Variable Lighting and Pose
[5] A.K. Jain, R.M. Bolle, and S. Pankanti (editors), Biometrics: Personal Identification in a Networked Society, Kluwer Academic Publishers, 1999 Sách, tạp chí
Tiêu đề: Biometrics: Personal Identification in a Networked Society
[6] A. K. Jain, A. A. Ross, and K. Nandakumar, Introduction to Biometrics. Springer, 2011 Sách, tạp chí
Tiêu đề: Introduction to Biometrics
[7] L. O'Gorman, "Comparing passwords, tokens, and biometrics for user authentication", Proceedings of the IEEE, Vol. 91, No. 12, Dec. 2003, pp.2019-40 Sách, tạp chí
Tiêu đề: Comparing passwords, tokens, and biometrics for user authentication
[8] A. Adler, R. Youmaran, and S. Loyka, "Towards a measure of biometric information," in CCECE'06, Canadian Conf. on Electrical and Computer Engineering, 2006, pp. 210-213 Sách, tạp chí
Tiêu đề: Towards a measure of biometric information
[10] P. Belhumeur, J. Hespanda and D. Kriegman, "Eigenfaces versus Fisherfaces: Recognition Using Class Specific Linear Projection," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 19, no. 7, pp. 711-720, July 1997 Sách, tạp chí
Tiêu đề: Eigenfaces versus Fisherfaces: Recognition Using Class Specific Linear Projection
[13] S.J. Raudys and A.K. Jain, "Small Sample Size Effects in Statistical Pattern Recognition: Recommendations for Practitioners", IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 13, pp. 252-264, March 1991 Sách, tạp chí
Tiêu đề: Small Sample Size Effects in Statistical Pattern Recognition: Recommendations for Practitioners
[14] N.K. Ratha, J.H. Connell and R.M. Bolle, "An Analysis of Minutiae Matching Strength," Proc. Third Int',l. Conf. Audio- and Video-Based Biometric Person Authentication, pp. 223-228, June 2001 Sách, tạp chí
Tiêu đề: An Analysis of Minutiae Matching Strength
[19] A.K. Jain, K. Nandakumar and A. Nagar, "Biometric Template Security", EURASIP J. Advances in Signal Processing, vol. 8, 2008 Sách, tạp chí
Tiêu đề: Biometric Template Security
[21] A. Juels and M. Sudan. “A fuzzy vault scheme”. Des. Codes Cryptography, 38(2):237–257, February 2006 Sách, tạp chí
Tiêu đề: A fuzzy vault scheme
[22] Y. Dodis , R. Ostrovsky , L. Reyzin and A. Smith "Fuzzy extractors: How to generate strong keys from biometrics and other noisy data", SIAM J. Comput., pp.97 -139, 2008 Sách, tạp chí
Tiêu đề: Fuzzy extractors: How to generate strong keys from biometrics and other noisy data
[23] L. Hong, Y. Wan, and A. K. Jain, "Fingerprint image enhancement: Algorithm and performance evaluation", IEEE Trans. Pattern Anal. Machine Intell., vol.20, pp.777 -789 1998 Sách, tạp chí
Tiêu đề: Fingerprint image enhancement: Algorithm and performance evaluation
[3] Palm vein pattern biometrics authentication system. http://www.fujitsu.com/global/casestudies/WWW2_casestudy_BTM.html, Oct 2013 Link
[11] Javacv. https://github.com/bytedeco/javacv, Oct 2014 Link
[12] Camera. http://developer.android.com/guide/topics/media/camera.html, Sept 2014 Link
[15] Android. https://developer.android.com/index.html , Sep 2014 Link
[16] Smartphone OS Market Share. http://www.idc.com/prodserv/smartphone-os-market-share.jsp, Sep 2014 Link
[25] Fuzzy logic. http://en.wikipedia.org/wiki/Fuzzy_logic, Sep 2014 Link
[26] Fingerprint Verification Competition , http://bias.csr.unibo.it/fvc2000/ Link
[27] Fingerprint Verification Competition , http://bias.csr.unibo.it/fvc2002/ Link

HÌNH ẢNH LIÊN QUAN

Hình 1.1Phân loại mẫu sinh trắc học - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 1.1 Phân loại mẫu sinh trắc học (Trang 21)
Hình 1.2 Các loại xác thực người dùng - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 1.2 Các loại xác thực người dùng (Trang 25)
Hình 2.1 Hàm mờ và hàm rõ - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 2.1 Hàm mờ và hàm rõ (Trang 28)
Hình 2.3 Các điểm yếu của hệ thống xác thực dựa trên sinh trắc học - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 2.3 Các điểm yếu của hệ thống xác thực dựa trên sinh trắc học (Trang 34)
Hình 2.4 Các loại hệ thống bảo vệ đặc trưng sinh trắc học - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 2.4 Các loại hệ thống bảo vệ đặc trưng sinh trắc học (Trang 36)
Hình 2.5 Lược đồ bảo vệ đặc trưng sinh trắc sử dụng cách tiếp cận chuyển - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 2.5 Lược đồ bảo vệ đặc trưng sinh trắc sử dụng cách tiếp cận chuyển (Trang 37)
Hình 2.6 Mô phỏng quá trình đăng ký vault - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 2.6 Mô phỏng quá trình đăng ký vault (Trang 40)
Hình 2.8 Mô phỏng quá trình giải mã vault - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 2.8 Mô phỏng quá trình giải mã vault (Trang 41)
Hình 3.1 Các bước tăng cường ảnh của phương pháp lọc Gabor - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.1 Các bước tăng cường ảnh của phương pháp lọc Gabor (Trang 48)
Hình 3.2 Minh họa kết quả chuẩn hóa ảnh. (a) Ảnh gốc. (b) Ảnh đã được - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.2 Minh họa kết quả chuẩn hóa ảnh. (a) Ảnh gốc. (b) Ảnh đã được (Trang 49)
Hình 3.4 Cửa sổ hướng và  x signature  - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.4 Cửa sổ hướng và x signature  (Trang 54)
Hình 3.5Biểu diễn đồ họa của bộ lọc Gabor xác định bởi tham số - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.5 Biểu diễn đồ họa của bộ lọc Gabor xác định bởi tham số (Trang 55)
Hình 3.6 Một biểu diễn đồ họa trong một nhóm 24 bộ lọc Gabor  ( n 0  8 và - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.6 Một biểu diễn đồ họa trong một nhóm 24 bộ lọc Gabor ( n 0  8 và (Trang 56)
Hình 3.7 a) Ảnh vân tay xám; b) Ảnh nhị phân hóa; c) Ảnh làm mỏng. - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.7 a) Ảnh vân tay xám; b) Ảnh nhị phân hóa; c) Ảnh làm mỏng (Trang 58)
Hình 3.8 a) Một phần điểm của vân tay; b) Điểm kết thúc; c) Điểm rẽ nhánh - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.8 a) Một phần điểm của vân tay; b) Điểm kết thúc; c) Điểm rẽ nhánh (Trang 59)
Hình 3.9 Các cấu trúc vân lỗi phổ biến được điều chỉnh lại thành các cấu trúc - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.9 Các cấu trúc vân lỗi phổ biến được điều chỉnh lại thành các cấu trúc (Trang 60)
Hình 3.10 Các đường vân (ridge) và các rãnh (ravine) trên bề mặt vân tay. - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.10 Các đường vân (ridge) và các rãnh (ravine) trên bề mặt vân tay (Trang 61)
Hình 3.12 Dịch chuyển một đoạn    theo đường vân. - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.12 Dịch chuyển một đoạn  theo đường vân (Trang 62)
Hình 3.11 Điểm cực đại  ( , i j c c )  tương ứng với  (i , s j s ) - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.11 Điểm cực đại ( , i j c c ) tương ứng với (i , s j s ) (Trang 62)
Hình 3.13 Thiết diện của đường vân - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 3.13 Thiết diện của đường vân (Trang 63)
Hình 4.1 Các kỹ thuật kết hợp trong đồng xác thực - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 4.1 Các kỹ thuật kết hợp trong đồng xác thực (Trang 65)
Hình 5.1 Thành phần xác thực sinh trắc - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 5.1 Thành phần xác thực sinh trắc (Trang 70)
Hình 5.2 Thành phần xác thực dấu vân tay - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 5.2 Thành phần xác thực dấu vân tay (Trang 71)
Hình 5.3 Thống kê số lượng điện thoại bán ra trên toàn thế giới [16] - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 5.3 Thống kê số lượng điện thoại bán ra trên toàn thế giới [16] (Trang 73)
Hình 5.4 Kiến trúc hệ thống Android - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 5.4 Kiến trúc hệ thống Android (Trang 75)
Hình 5.5 Phân loại các phiên bản Android - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 5.5 Phân loại các phiên bản Android (Trang 75)
Hình 5.8 Cấu trúc mã nguồn gói bioauthen.face.extractor - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 5.8 Cấu trúc mã nguồn gói bioauthen.face.extractor (Trang 78)
Hình 6.1 Kết quả thực nghiệm xác thực dùng nhận dạng khuôn mặt - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 6.1 Kết quả thực nghiệm xác thực dùng nhận dạng khuôn mặt (Trang 81)
Hình 6.2 Kết quả thực nghiệm dùng hệ thống đồng xác thực. - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
Hình 6.2 Kết quả thực nghiệm dùng hệ thống đồng xác thực (Trang 82)
Hình A.1: Đăng ký người dùng mới - Luận văn thạc sĩ Khoa học máy tính: Đồng xác thực dùng phương pháp hầm mờ trên điện thoại thông minh sử dụng sinh trắc
nh A.1: Đăng ký người dùng mới (Trang 88)