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
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA -
PHẠM DUY THÀ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
Chuyên ngành: KHOA HỌC MÁY TÍNH
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 01 năm 2015
Trang 2Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 TS Lê Lam Sơn (CT)
2 TS Trần Ngọc Thịnh (TK)
3 PGS.TS Vũ Thanh Nguyên (PB1)
4 TS Trần Mạnh Hà (PB2)
5 TS Nguyễn Thanh Bình (UV)
Xác nhận của Chủ tịch Hội đồng đánh giá luận văn và Trưởng khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Trang 3
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Phạm Duy Thành MSHV:12070547 Ngày, tháng, năm sinh: 01/01/1987 Nơi sinh: Bình Thuận Chuyên ngành: Khoa học máy tính Mã số : 60.48.01
I TÊN ĐỀ TÀI: ĐỒ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
II NHIỆM VỤ VÀ NỘI DUNG:
Ứng dụng phương pháp rút trích vector sinh trắc và bảo vệ dữ liệu sinh trắc
Xây dựng hệ thống đồng xác thực
Kiểm nghiệm và đánh giá hệ thống
III NGÀY GIAO NHIỆM VỤ : 20/01/2014
IV NGÀY HOÀN THÀNH NHIỆM VỤ:14/11/2014
Trang 10LỜI CÁM ƠN
Tôi xin gửi lời cảm ơn đến khoa Khoa học và Kỹ thuật máy tính, trường Đại học Bách Khoa, Đại học Quốc gia Thành phố Hồ Chí Minh đã giúp đỡ, tạo điều kiện để tôi hoàn thành chương trình học và đề tài của mình Xin gửi lời cảm ơn các thầy cô trong khoa đã tận tâm, nhiệt tình chia sẻ, truyền đạt kiến thức, kinh nghiệm quý báu của mình
Em gửi lời cảm ơn sâu sắc đến PGS.TS Đặng Trần Khánh, thầy đã tận tình
hướng dẫn, cung cấp tài liệu trong quá trình thực hiện đề tài Thầy đã động viên, khích lệ và chỉ dẫn khi em gặp khó khăn để em tiếp tục hoàn thành tốt nhiệm vụ của mình
Xin chân thành cảm ơn các bạn, các anh chị, thầy cô trong nhóm nghiên cứu STAR Những buổi xê-mi-na của nhóm đã cung cấp cho tôi những kiến thức bổ ích, những ý tưởng mới để hỗ trợ trong việc hoàn thành đề tài của mình
D-Từ sâu thẳm đáy lòng, con cảm kích sâu sắc công sơn sinh thành, nuôi dưỡng và dạy dỗ của cha mẹ, ông bà Tình yêu thương mà mọi người dành cho con là nguồn động lực mạnh mẽ để con luôn phấn đấu không ngừng, vượt qua mọi khó khăn, thử thách
Và cuối cùng, tôi xin cảm ơn tất cả bạn bè, anh chị em đã luôn bên cạnh giúp đỡ, ủng hộ và động viên tôi hoàn thành tốt nhiệm vụ của mình
Thành phố Hồ Chí Minh, Ngày tháng 12 năm 2014
Tác giả luận văn
Phạm Duy Thành
Trang 12ABSTRACT
In this thesis, I introduce an co-authentication system that combines biometric features face and fingerprint in order to improve the false reject rate (FRR) and fase accept rate (FAR) in android smartphone authentication system Since the system performance is often affected by external conditions and variabilities, I also propose
a fuzzy logic weight estimation method which takes two inputs: face image illuminance and the quality of fingerprint to automatically adjust the weights of each factor for the exactness improvement.Beside, I use the fuzzy vault method to improve the security of the system
Trang 13LỜI CAM ĐOAN
Tôi xin cam đoan rằng, những kết quả về hệ thống đồng xác thực với nhân tố xác thực khuôn mặt và dấu vân tay là công trình nghiên cứu của tôi dưới sự hướng
dẫn của PGS.TS Đặng Trần Khánh, xuất phát từ yêu cầu thực tiễn của đề tài và
nguyện vọng tìm tòi, khám phá của bản thân tôi Những tài liệu, mã nguồn tham khảo trong đề tài được trích dẫn hết sức rõ ràng, đúng theo nguyên tắc khoa học và kết quả của đề tài chưa từng được công bố trước đây
Thành phố Hồ Chí Minh, Ngày tháng 12 năm 2014
Tác giả luận văn
Phạm Duy Thành
Trang 14MỤC LỤC
LỜI CÁM ƠN i
TÓM TẮT ii
ABSTRACT iii
LỜI CAM ĐOAN iv
MỤC LỤC v
CHƯƠNG 1: GIỚI THIỆU 1
1.1 Sinh trắc học 1
1.1.1 Khái quát 1
1.1.2 Sự cần thiết của sinh trắc học 5
1.1.3 Nhận dạng (identification) và xác minh (verification) 7
1.1.4 Nhiệm vụ chính của đề tài 7
1.1.5 Những kiến thức tìm hiểu trong đề tài 7
1.1.6 Phương pháp thực hiện 8
1.2 Bố cục đề tài 8
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 9
2.1 Logic mờ 9
2.1.1 Tập mờ 9
2.1.2 Logic mờ 10
2.1.3 Hệ thống điều khiển mờ 10
2.2 Phương pháp bảo vệ đặc trưng sinh trắc học 13
2.2.1 Sơ lược về các phương pháp bảo vệ đặc trưng sinh trắc học 13
2.2.2 Bộ chuyển đổi vector sinh trắc học (Biometric Vector Transformator) 18
2.3 Hầm mờ (Fuzzy Vault) 19
CHƯƠNG 3: PHƯƠNG PHÁP RÚT TRÍCH VECTOR ĐẶC TRƯNG SINH TRẮC HỌC 23
3.1 Rút trích vector đặc trưng từ khuôn mặt 23
3.1.1 Dò tìm khuôn mặt 24
3.1.2 Tiền xử lý 25
3.1.3 Rút trích vector Eigenfaces 25
Trang 153.1.4 Rút trích vector Fisherfaces 27
3.2 Rút trích vector đặc trưng từ dấu vân tay 28
3.2.1 Một số thuật toán tăng cường ảnh 28
3.2.2 Tăng cường ảnh bằng phương pháp lọc Gabor 29
3.2.3 Tạo các vùng mặt nạ 35
3.2.4 Lọc Gabor 36
3.3 Một số thuật toán rút trích đặc trưng 38
3.3.1 Rút trích các đặc trưng từ ảnh đã được nhị phân hóa 38
3.3.2 Rút trích các đặc trưng trực tiếp từ ảnh xám 41
CHƯƠNG 4: HỆ THỐNG ĐỒNG XÁC THỰC 45
4.1 Giới thiệu đồng xác thực 45
4.2 Các kỹ thuật kết hợp trong đồng xác thực 45
4.2.1 Kết hợp ở tầng dữ liệu thô (Raw level) 46
4.2.2 Kết hợp ở tầng vector đặc trưng (Feature level) 47
4.2.3 Kết hợp ở tầng điểm (Score level) 47
4.2.4 Kết hợp ở tầng quyết định (Decision level) 48
4.2.5 Đề xuất phương pháp kết hợp 48
CHƯƠNG 5: KIẾN TRÚC HỆ THỐNG ĐỒNG XÁC THỰC 49
5.1 Mô tả hệ thống 49
5.2 Các thành phần của hệ thống 49
5.2.1 Thành phần xác thực khuôn mặt 49
5.2.2 Thành phần xác thực dấu vân tay 51
5.2.3 Thành phần ước lượng trọng số 52
5.2.4 Thành phần kết hợp điểm 52
5.2.5 Thành phần đồng xác thực 53
5.3 Hiện thực hệ thống 53
5.3.1 Môi trường phát triển 53
5.3.2 Thư viện hỗ trợ 57
5.3.3 Cấu trúc mã nguồn 57
CHƯƠNG 6: KẾT QUẢ THỰC NGHIỆM 60
6.1 KỊCH BẢN THỰC NGHIỆM 60
6.1.1 Thực nghiệm xác thực khuôn mặt 60
Trang 166.1.2 Thực nghiệm xác thực dấu vân tay 60
6.1.3 Thực nghiệm xác thực dùng hệ thống đồng xác thực 61
6.2 KẾT QUẢ THỰC NGHIỆM 62
6.2.1 Thực nghiệm xác thực dùng khuôn mặt 62
6.2.2 Thực nghiệm xác thực dùng dấu vân tay 62
6.2.3 Thực nghiệm xác thực dùng hệ thống đồng xác thực 63
CHƯƠNG 7: KẾT LUẬN VÀ KIẾN NGHỊ 64
7.1 KẾT LUẬN 64
7.1.1 Kết luận về các nội dung nghiên cứu 64
7.1.2 Những đóng góp của đề tài 64
7.1.3 Khả năng ứng dụng của kết quả nghiên cứu 64
7.2 KIẾN NGHỊ 64
7.2.1 Hướng phát triển 64
TÀI LIỆU THAM KHẢO 64
PHỤ LỤC A 67
Trang 17DANH MỤC THUẬT NGỮ VIẾT TẮT
FAR False Accept Rate
FRR False Reject Rate
Trang 18DANH MỤC HÌNH VẼ
Hình 1.1Phân loại mẫu sinh trắc học 2
Hình 1.2 Các loại xác thực người dùng 6
Hình 2.1 Hàm mờ và hàm rõ 9
Hình 2.2 Hàm liên thuộc cho hướng di chuyển của xe 13
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 15
Hình 2.4 Các loại hệ thống bảo vệ đặc trưng sinh trắc học 17
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 đổi vector 18
Hình 2.6 Mô phỏng quá trình đăng ký vault 21
Hình 2.7 Cơ chế lọc điểm dữ liệu thật 21
Hình 2.8 Mô phỏng quá trình giải mã vault 22
Hình 3.1 Các bước tăng cường ảnh của phương pháp lọc Gabor 29
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(M0 100, VAR0 100) 30
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 32
Hình 3.4 Cửa sổ hướng và x signature 35
Hình 3.5Biểu diễn đồ họa của bộ lọc Gabor xác định bởi tham số 0 90 ,f 1/ 5, x y 3 36
Hình 3.6 Một biểu diễn đồ họa trong một nhóm 24 bộ lọc Gabor (n0 8 và 1 5) n với x y 4 37
Hình 3.7 a) Ảnh vân tay xám; b) Ảnh nhị phân hóa; c) Ảnh làm mỏng 39
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 40
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 41
Hình 3.10 Các đường vân (ridge) và các rãnh (ravine) trên bề mặt vân tay 42
Trang 19Hình 3.11 Điểm cực đại ( ,i j c c) tương ứng với (i ,s j s) 43
Hình 3.12 Dịch chuyển một đoạn theo đường vân 43
Hình 3.13 Thiết diện của đường vân 44
Hình 4.1 Các kỹ thuật kết hợp trong đồng xác thực 46
Hình 5.1 Thành phần xác thực sinh trắc 51
Hình 5.2 Thành phần xác thực dấu vân tay 52
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] 54
Hình 5.4 Kiến trúc hệ thống Android 56
Hình 5.5 Phân loại các phiên bản Android 56
Hình 5.6 Cấu trúc mã nguồn gói bioauthen.face 58
Hình 5.7 Cấu trúc mã nguồn gói bioauthen.face.preprocess 59
Hình 5.8 Cấu trúc mã nguồn gói bioauthen.face.extractor 59
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 62
Hình 6.2 Kết quả thực nghiệm dùng hệ thống đồng xác thực 63
Hình A.1: Đăng ký người dùng mới 69
Trang 20CHƯƠNG 1: GIỚI THIỆU 1.1 Sinh trắc học
1.1.1 Khái quát
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:
Trang 21Hình 1.1Phân loại mẫu sinh trắc học
Khuôn mặt
Nhận diện khuôn mặt là phương pháp không thâm nhập (non-instrusive) Khuôn mặt là một trong những đặc trưng được sử dụng rộng rãi nhất vì nó là một trong những phương pháp thông dụng mà con người sử dụng để nhận dạng trong giao tiếp hàng ngày.Hai phương pháp chính để nhận dạng dựa trên khuôn mặt gồm:
i Vị trí và hình dạng của các thuộc tính như mắt, lông mày, mũi, môi, càm và mối quan hệ giữa chúng
ii Phân tích tổng quan các hình ảnh biểu diễn khuôn mặt như sự kết hợp
có trọng số của một số hình ảnh tiêu biểu
Dấu vân tay
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
Trang 22Bàn tay
Đề cập đến 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 là tương đối đơn giản và dễ sử dụng Tuy nhiên, vì sự khác nhau không rõ ràng hình dạng bàn tay trong phạm vi ứng dụng lớn nên những hệ thống dùng phương thức bàn tay thường dùng để xác minh (verification) hơn là nhận dạng (identification) Ngoài ra, vì thiết bị lấy dữ liệu phải có kích thước tối thiểu là kích thước bàn tay, quá lớn so với các thiết bị như laptop
Chỉ tay (Palmprint)
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
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ý
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
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
Trang 23củ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
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
Trang 24vii 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…
Object-based (what you have): đặc trưng bởi sự sở hữu vật lý Khóa vật lý (physical keys) được dùng để phân biệt với khóa mật mã (cryptographic keys) là các token để định danh người dùng
ID-based (who you are): đặc trưng bởi sự duy nhất của một người Loại này bao gồm thẻ định danh (identification card), hộ chiếu, bằng lái xe, các đặc điểm sinh trắc như khuôn mặt, giọng nói, vân tay
Các phương pháp dựa trên Knowledge-based và Object-based dễ dàng bị quên, chia sẻ, sao chép hoặc đánh cắp, do đó gây hại cho hệ thống Sinh trắc học đề xuất một giải pháp tự nhiên và tin cậy cho hệ thống xác thực người dùng dựa trên đặc trưng vật lý cũng như tính cách của họ Sinh trắc học dựa trên những gì thuộc
Trang 25về người dùng (Who you are) hơn là những gì người dùng sở hữu (who you posses),
ví dụ như thẻ dịnh danh, hoặc những gì người dùng nhớ như mật khẩu (hình 1.2[6])
Hình 1.2 Các loại xác thực người dùng
Sự hiệu quả của hệ thống xác thực dựa trên sự bền vững của nó trước các cuộc tấn công độc hại cũng như các mối liên quan của chúng tới một ứng dụng cụ thể O’Gorman [7] đã liệt kê ra danh sách các cuộc tấn công vào hệ thống xác thực dựa trên mật khẩu và tokens:
Client attack: đoán mật khẩu, đánh cắp token…
Host attack: truy cập lấy thông tin trong file text chứa mật khẩu…
Eavesdroping: nghe lén mật khẩu trên đường truyền
Repudiation: thoái thác rằng tokens đã bị đánh cắp
Trojan horse attact: cài đặt màn hình không có thật để đánh cắp mật khẩu
Denial of service: làm tê liệt hệ thống, làm mất đi tính sẵn sàng của hệ thống bằng cách gửi đi một lượng lớn yêu cầu đồng thời vào hệ thống, vượt qua khả năng phục vụ của hệ thống
Trang 26Ngày nay thiết bị di động ngày càng được sử dụng rộng rãi, đảm trách nhiều công việc và dần thay thế máy tính truyền thống Theo đó, thiết bị di động sẽ chứa một lượng lớn dữ liệu quan trọng Do vậy một cơ chế xác thực hiệu quả trên các thiết bị này để đảm bảo an toàn cho dữ liệu là hết sức cần thiết
1.1.3 Nhận dạng (identification) và xác minh (verification)
Sinh trắc học được sử dụng theo hai thể thức chính là nhận dạng và xác minh:
Identification:xác định mẫu sinh trắc thuộc về ai Cơ chế định danh
thường là 1:N thông qua tìm một bộ khớp nhất trong cơ sở dữ liệu so với mẫu Phương pháp này đòi hỏi rất nhiều chi phí tính toán nếu kích thước dữ liệu lớn
Verification:xác định mẫu sinh trắc có thuộc về một chủ thể cho
trước hay không Cơ chế xác minh thường là 1 : 1 thông qua việc so khớp giữa mẫu kiểm tra với các mẫu thuộc chủ thể đó trong cơ sở dữ liệu Do vậy phương pháp này đòi hỏi ít chi phí tính toán hơn so với định danh
Trong đề tài này, vì ứng với mỗi thiết bị điện thoại thông minh chỉ có một người đăng ký và sau đó xác minh chủ sở hữu, do vậy đề tài áp dụng thể thức verification
1.1.4 Nhiệm vụ chính của đề tài
Xây dựng phương pháp rút trích vector sinh trắc học
Xây dựng phương pháp bảo vệ dữ liệu sinh trắc học
Xây dựng hệ thống đồng xác thực
1.1.5 Những kiến thức tìm hiểu trong đề tài
Các kỹ thuật và phương pháp để rút trích đặc trưng từ khuôn mặt và dấu vân tay
Phương pháp bảo vệ đặc trưng sinh trắc ứng dụng Fuzzy vault
Hệ thống đồng xác thực và các cách kết hợp điểm của các thành phần
Trang 27 Kỹ thuật lập trình android
1.1.6 Phương pháp thực hiện
Dựa vào các kết quả nghiên cứu đăng trên các hội nghị, tạp chí khoa học Dựa vào thông tin trong các sách giáo khoa, sách điện tử, trang web đáng tin cậy, tôi lựa chọn khuôn mặt, dấu vân tay là những nhân tố sinh trắc học cho quá trình đồng xác thực
Dựa vào những công nghệ đã có như Java, Android để phát triển một ứng dụng trên nền tảng mã nguồn mở Android
1.2 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ị
Trang 28CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Ở chương này, tôi tập trung vào các kỹ thuật, kiến thức nền tảng được áp dụng để thực hiện đề tài – Phát triển hệ thống đồng xác thực kết hợp các đặc trưng sinh trắc dùng Fuzzy Vault cho điện thoại thông minh
2.1 Logic mờ
2.1.1 Tập mờ
Tập mờ là một dạng mở rộng của lý thuyết tập hợp cổ điển Trong lý thuyết tập hợp cổ điển, quan hệ thành viên của các phần tử trong tập hợp được đánh giá theo điều kiện nhị phân rõ ràng - một phần tử hoặc thuộc hoặc không thuộc về tập hợp Ngược lại, lý thuyết tập mờ cho phép đánh giá quan hệ thành viên giữa một phần tử và một tập hợp, quan hệ thành viên này được mô tả bằng một hàm liên thuộc (membership function) 0, 1
Hàm thành viên A trong không gian nền X được định nghĩ như sau:
( ,x A( )) |x x X
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õ
Trang 29mờ đượ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
Trang 30Mờ hóa
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 x0.3 ta chuyển đổi như sau:
Đặ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 0 0
[ 180 ,180 ]
X , 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 leftcó 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:
Trang 31là gì?
Để đơn giản, ta giả sử hành động điều khiển u x với cùng hàm liên thuộc thành viên X U cho tất cả các trường hợp Qua đó, trong trường hợp này, hành động dành cho tài xế là thỏa hiệp giữa hai hành động bắc 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
Trang 32(a) Hàm liên thuộc cho việc đi thẳng Hình 2.2 Hàm liên thuộc cho hướng di chuyển của xe
Ở đây có thể diễn giải là tài xế nên di chuyển về bên trái 50
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
i
r i
i i
2.2 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á
Trang 33trì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 để
Trang 34có 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 đề tài, tôi chỉ tập trung vào bảo vệ các đặc trưng sinh trắc (ứng với vị trí số 4 trên hình 4.1) Một hệ thống bảo vệ mẫu sinh trắc học phải thỏa mãn 4 tính chất [18]:
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
Trang 352 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)
Cách tiếp cận ii) được dùng với mục đích bảo mật khóa với đặc trưng sinh trắc hoặc sinh ra khóa bảo mật từ đặc trưng sinh trắc Trong hệ thống mã hóa sinh trắc, một vài thông tin đặc trưng công khai được lưu trữ, còn được gọi là các dữ liệu giúp đỡ (helper data), chúng không tiết lộ bất cứ thông tin gì về vector đặc trưng ban đầu Hệ thống mã hóa sinh trắc được phân loại thành hệ thống gắn kết khóa (key binding) hoặc sinh khóa (key generation) tùy thuộc vào việc có được dữ liệu giúp đỡ
Các giải thuật kết hợp khóa (key binding): khóa trong các hệ thống mã hóa được sinh độc lập sau đó kết hợp trực tiếp với dữ liệu sinh trắc, sinh ra các dạng dữ liệu an toàn không thể được sử dụng để đơn phương sinh ngược lại các dữ liệu gốc
Trang 36ban đầu Dạng dữ liệu này được tính toán nhằm cho phép người dùng với thông tin sinh trắc gần giống với thông tin sinh trắc gốc có thể sinh ngược lại khóa ban đầu đồng thời thông qua kiểm tra xác thực
Các giải thuật sinh khóa (key generation): đối với hướng nghiên cứu này dữ liệu sinh trắc được sử dụng để trực tiếp sinh ra khóa bí mật Khóa này có thể được
sử dụng ở các hệ thống bảo mật khác Hệ thống xác thực người dùng hợp lệ bằng cách sử dụng thông tin sinh trắc được cung cấp để sinh lại khóa bí mật Khóa này sau khi so trùng với khóa đã được lưu trữ trong hệ thống sẽ cung cấp kết quả xác thực Hướng nghiên cứu này cần giải quyết bài toán sinh chuỗi đồng nhất từ nguồn
dữ liệu đầu vào chứa nhiễu
Hệ thống mã hóa sinh trắc được áp dụng nhiều như Secure Sketch [20], Fuzzy Vault [21], Fuzzy Extractor [22]
Cách tiếp cận iii) nghiên cứu về các giải pháp kết hợp: nhánh này kết hợp các giải pháp từ hai nhánh trên nhằm tối ưu hóa ưu điểm và hạn chế các khuyết điểm, mục đích chính là bảo mật dữ liệu sinh trắc trong khi vẫn đảm bảo các thông
số lỗi do nhiễu được kiềm chế ở mức độ hợp lý Đơn cử là các nghiên cứu về chuyển đổi dữ liệu sinh trắc nhằm cung cấp tư liệu đầu vào cho các hệ thống mã hóa 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 372.2.2 Bộ chuyển đổi vector sinh trắc học (Biometric Vector Transformator)
Đối với đặc trưng khuôn mặt, tôi sử dụng phương pháp chuyển đổi vector
( , )
F T K được đề xuất bởi Yongjin Wang và K.N Plataniotis [24]
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
đổi vector Quá trình chuyển đổi dựa trên sự lượng tử hóa hai chiều vector khoảng cách giữa vector trích xuất được với một cặp vector sinh ngẫu nhiên
Mô tả thuật toán
1 Tạo ra hai ma trận ngẫu nhiên với kích thước N M , trong đó N là chiều dài của vector đặc trưng, M là giá trị tùy ý, được chọn thỏa điều kiện điện MN Áp dụng chu trình Gram-Schmidt để trực giao hóa hai ma trận trên thành hai ma trận Q1 và Q2
2 Tạo ra hai vector ngẫu nhiên một chiều r r1, 2 có kích thước M, các phần tử của r r1, 2 phải phân phối đồng dạng trong khoảng 0, , với
là một giá trị cho trước
3 Tính R1i Q1ir1i và R2i Q2ir i2i, 1 M , với i là chỉ số cột trong
1 2
(Q Q, ) và phần tử thứ i trong ( ,r r1 2)
Trang 384 Tính khoảng cách Euclidean giữa vector đặc trưng y và mỗi cột trong
ma trận R R1, 2, kết quả thu được là hai mảng d d1, 2 có kích thước M
1, 2
d d chính là hai vector khoảng cách được chuyển đổi từ vector đặc trưng Q Q r r1, 2, ,1 2 chính là khóa K được áp dụng cho quá trình đăng
ký lẫn quá trình xác thực
Bằng việc sử dụng phương pháp được đề xuất, vector đặc trưng có độ dài N
được ánh xạ sang hai vector khoảng cách có độ dài M Việc sử dụng tới hai vector khoảng cách cho phép vector đặc trưng ban đầu được chiếu vào không gian tọa độ hai chiều, mỗi vector khoảng cách ứng với một trục tọa độ, như vậy cho phép xác định chính xác hơn vector đặc trưng ban đầu Bởi vì các ma trận R1và R2 là ngẫu nhiên do r1 và r2 ngẫu nhiên nên các phép chiếu vector vào từng trục tọa độ là độc lập với nhau Do tính chất của việc trực giao hóa, bước một của thuật toán giúp tạo
ra các vector không tương đồng với nhau do đó rất khó để tấn công brute-force truy ngược lại vector đặc trưng ban đầu
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 k0 1 k n1)
Biễu diễn K dưới dạng đa thức
1 0 ( )
k
i i i
Ta thêm vào R một số điểm, gọi là điểm gây nhiễu:
Trang 39 , | , ( )
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 Kbằ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 FB Kết hợp tập F B và vault VAhệ 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 FB
Trang 40Hì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ật được lựa chọn sẽ được sử dụng làm đầu vào cho giải thuật giải
mã sinh ngược lại đa thức khi biết tập nghiệm Red Solomon hoặc hàm nội suy Lagrange Các hệ số của đa thức vừa được sinh ra được rút trích và kết nối tái tạo lại khóa bí mật ban đầu