LỜI CẢM ƠN
Lần đầu tiên, tôi xin chân thành cảm ơn những thầy cô của trƣờng Đại Học Quốc
Tế Hồng Bàng đã tận tình dạy dỗ tôi trong suốt 2 năm học qua. Tôi xin cám ơn
các thầy cô Khoa sau Đại học của trƣờng đã tạo mọi điều kiện để tôi có thể hoàn
thành luận văn này.
Tôi xin chân thành cảm ơn những ngƣời đã giúp đỡ tôi thực hiện luận văn này,
đặc biệt tôi xin cảm ơn PGS. TS. Đặng Trần Khánh - ngƣời đã tận tình hƣớng
dẫn, giúp tôi có thể hoàn thành luận văn này.
Đặc biệt, Trong quá trình thực hiện luận văn, tôi biết rằng còn những thiếu sót,
những hạn chế của luận văn mà tôi chƣa phát hiện ngay đƣợc, Vì thế, tôi rất
mong nhận đƣợc những ý kiến đóng góp của Thầy cô, bạn bè, những ngƣời đã
xem qua luận văn này. Cảm ơn rất nhiều!
TP HCM, ngày 24 tháng 09 năm 2014
Tác giả luận văn
Trần Thanh Sang
1
TÓM TẮT
Hiện nay, nhu cầu bảo mật thông tin trên điện thoại di động là thật cần thiết, để
bảo mật thông tin, phƣơng pháp phổ biến nhất là dùng mật khẩu hoặc mã số PIN
để bảo về dữ liệu và điện thoại. Nhƣng dùng mật khẩu thì có 1 số vấn đề bất tiện
là: dễ bị đánh cắp, khó nhớ hoặc thất lạt. Nhƣng nếu ta dùng các sinh trắc học
nhƣ là vân tay, khuôn mặt, giọng nói, móng mắt,… thì không thể bị đánh cắp và
thất lạc đƣợc. Để khắc phục vấn đề trên, sinh trắc học đã đƣợc đƣa vào ứng dụng
trên điện thoại di động để cải thiện vấn để bảo mật dữ liệu và thông tin.
Sử dụng sinh trắc học để đảm bảo an toàn cho điện thoại di động đang ngày càng
mật mã. Giới thiệu các giải thuật mã hóa dữ liệu truyền thống DES, AES.
Chƣơng 3: Mã hóa dữ liệu sử dụng sinh trắc học: Trình bày phƣơng pháp bảo
mật mẫu sinh trắc học. Giới thiệu các giải thuật để bảo mật mẫu sinh trắc học để
từ đó đề xuất quy trình mã hóa và giải mã dữ liệu sử dụng sinh trắc học.
Chương 4: Xây dựng ứng dụng mã hóa và giải mã trên điện thoại thông minh: từ
mô hình đƣợc đề xuất ở chƣơng 3, một ứng dụng đƣợc xây dựng với các chức
năng chính: Rút trích đặc trƣng sinh trắc học khuôn mặt, tạo khóa và sinh khóa
sinh trắc từ giải thuật Secure Sketch, sử dụng khóa sinh trắc nhƣ là một khóa để
mã hóa và giải mã dữ liệu bằng giải thuật mã hóa truyền thống AES.
3
Chương 5: Kết luận: Tổng kết lại những kết quả đạt đƣợc và mặt hạn chế của
luận văn để từ đó đƣa ra hƣớng nghiên cứu và phát triển tiếp theo.
ABSTRACT
In an era of information technology, mobile phones are more and more widely
used worldwide, not only for basic communications, but also as a tool to deal
with personal affairs and process information acquired anywhere at any time.
however, require extremely high security level for personal information and
privacy protection through individual identification against un-authorized use in
case of theft or fraudulent use in a networked society. Currently, the most
adopted method is the verification of Personal Identification Number (PIN),
which is problematic and might not be secured enough to meet this requirement.
As biometrics aims to recognize a person using unique features of human
physiological or behavioral characteristics such as fingerprints, voice, face, iris,
gait and signature, this authentication method naturally provides a very high
level of security.
Khuôn mặt đƣợc tạo ảnh nhƣ thế nào ................................................................... 17
2.1.5
Đặc trƣng sinh trắc ảnh khuôn mặt ....................................................................... 18
2.1.6
Hệ thống nhận diện khuôn mặt ............................................................................. 18
2.1.7
Các phƣơng pháp nhận dạng khuôn mặt ngƣời .................................................... 20
a . Nhận dạng dựa trên các đặc trƣng phần tử trên khuôn mặt...................................... 21
b . Nhận dạng dựa trên xét tổng thể khuôn mặt ............................................................ 21
2.1.8
Rút trích đặc trƣng khuôn mặt sử dụng Eigenface ............................................... 22
2.1.9
Cách giả mạo sinh trắc khuôn mặt........................................................................ 25
2.2 TỔNG QUAN VỀ MÃ HÓA DỮ LIỆU TRUYỀN THỐNG ......................................... 28
2.2.1
Tổng quan về các hệ mật mã ................................................................................ 28
a . Mật mã cổ điển ......................................................................................................... 29
Lƣợng tử hóa ..................................................................................................... 56
3.5.3
Phát sinh sketch................................................................................................. 56
3.5.4
Khôi phục đặc trƣng .......................................................................................... 57
3.6 Mô hình mã hóa dữ liệu sử dụng đặc trƣng sinh trắc học ............................................ 58
3.7 Quá trình sinh khóa và xác thực sinh trắc .................................................................... 60
3.7.1
Quá trình đăng ký.............................................................................................. 60
3.7.2
Quá trình xác thực: ............................................................................................ 61
3.8 Kết luận ........................................................................................................................ 62
Chƣơng 4: XÂY DỰNG ỨNG DỤNG TRÊN ĐIỆN THOẠI THÔNG MINH .................... 64
4.1 Giới thiệu ..................................................................................................................... 64
4.2 Hệ điều hành android ................................................................................................... 64
4.2.1
Giới thiệu về android ........................................................................................ 64
4.2.2
5.2 Mô hình cải tiến ............................................................................................................... 73
TÀI LIỆU THAM KHẢO ........................................................................................................ 77
6
DANH MỤC HÌNH VẼ
Hình 2-1 Các đặc trƣng sinh trắc phổ biến ................................................................................ 12
Hình 2-2 Hai mô hình bảo vệ khóa trong hệ bảo mật ............................................................... 15
Hình 2-3 Hệ thống nhận diện khuôn mặt .................................................................................. 18
Hình 2-4 Sơ đồ khối trích chọn đặc trƣng sử dụng Eigenfaces................................................. 20
Hình 2-5 Mã hóa với khóa mã và giải mã giống nhau .............................................................. 31
Hình 2-6 Biểu diễn dãy 64 bit x thành 2 thành phần L và R ..................................................... 33
Hình 2-7 Một vòng của DES ..................................................................................................... 34
Hình 2-8 Hàm f của DES .......................................................................................................... 36
Hình 2-9 Tính bảng khóa DES .................................................................................................. 37
Hình 2-10 Mô tả thuật toán AES ............................................................................................... 40
Hình 2-11 Mô hình mã hóa khóa công khai ............................................................................. 43
Hình 3-1 (a) secure sketch; (b) fuzzy extractor; (c) ứng dụng fuzzy extractor mã hóa dữ liệu 49
Hình 3-2 Mô hình Fuzzy Commitment ..................................................................................... 50
Hình 3-3 Mô hình Fuzzy Vault ................................................................................................. 51
Hình 3-4 Fuzzy extractor đƣợc xây dựng từ secure sketch và strong extractor ........................ 54
Hình 3-5 Các bƣớc xử lý chính ................................................................................................. 56
Hình 3-6 Mô hình mã hóa dữ liệu sử dụng đặc trƣng sinh trắc học .......................................... 58
Hình 3-7 Quá trình phát sinh sketch.......................................................................................... 59
Hình 3-8 Quá trình khôi phục khóa sinh trắc ............................................................................ 59
Hình 3-9 Quá trình đăng ký sinh trắc ........................................................................................ 60
Hình 3-10 Quá trình xác thực .................................................................................................... 61
Hình 4-1 Kiến trúc hệ điều hành Android ................................................................................. 65
Hình 4-2 Giao diện màn hình chính của ứng dụng ................................................................... 69
Rivest-Shamir-Adleman
Secure Hash Algorithm
Chuẩn mã hóa dữ liệu
Tên riêng của các nhà khoa học
Thuật toán băm an toàn
FAR
FRR
False Accept Rate
False Reject Rate
Tỉ lệ chấp nhận sai
Tỉ lệ từ chối sai
7
Chương 1:
1.1
GIỚI THIỆU
Lý do chọn đề tài
Ngày nay, trong thời đại bùng nổ công nghệ, điện thoại di động đƣợc sử dụng
rộng rãi trên toàn thế giới và ở Việt Nam. Với cuộc sống ngày càng hiện đại,
công nghệ di động hƣớng đến những chiếc điện thoại thông minh, điện thoại
không chỉ đơn giản dùng cho thoại hoặc giải trí, mà nó còn đƣợc dùng để lƣu trữ
nhiều dữ liệu cá nhân và thực hiện các chức năng nhƣ giao dịch ngân hàng,
Đối tƣợng và phạm vi nghiên cứu của luận văn là sử dụng đặc trƣng sinh trắc
học là khuôn mặt.
Thiết bị sử dụng: điện thoại thông minh chạy hệ điều hành Android.
1.3
Câu hỏi và giả thiết nghiên cứu của đề tài
- Qui trình rút trích đặc trƣng sinh trắc học đƣợc thực hiện nhƣ thế nào?
- Làm thế nào để bảo vệ mẫu đặc trƣng sinh trắc học?
- Sử dụng đặc trƣng sinh trắc học để mã hóa dự liệu an toàn?
1.4
Mục tiêu nghiên cứu
Mục tiêu của luận văn là nghiên cứu mã hóa dữ liệu sử dụng đặc trƣng sinh trắc
học để xây dựng ứng dụng dùng đặc trƣng sinh trắc học khuôn mặt để mã hóa và
giải mã dữ liệu trên điện thoại thông minh với các chức năng chính:
- Rút trích các đặc trƣng sinh trắc học là khuôn mặt.
- Mã hóa các đặc trƣng sinh trắc học để bảo vệ tính riêng tƣ đặc trƣng sinh
trắc học.
- Sử dụng sinh trắc học nhƣ là một khóa để mã hóa và giải mã dữ liệu.
9
1.5
hiện qua điện thoại và Internet (thƣơng mại điện tử và ngân hàng điện tử). Do có
mối đe dọa an ninh gia tăng, nhiều quốc gia đã bắt đầu bằng cách sử dụng sinh
trắc học cho kiểm soát biên giới và thẻ ID quốc gia. Việc sử dụng các sinh trắc
học xác định hoặc xác nhận các hệ thống đang đƣợc sử dụng rộng rãi trong các
công ty khác nhau cũng nhƣ các cơ quan chính phủ.
Mỗi ngƣời có một đặc điểm sinh học duy nhất. Dữ liệu sinh trắc học của từng cá
nhân với đặc điểm nhƣ: vân tay (Fingerprint), lòng bàn tay (Palm print), dạng
hình học bàn tay (Hand geometry), chữ ký viết tay (Hand written Signature),
khuôn mặt (Face), giọng nói (Voice), mống mắt (Iris), võng mạc (Retina), ….
11
Nguồn: [16]
Hình 2-1 Các đặc trƣng sinh trắc phổ biến
Các tiêu chuẩn phải đƣợc đảm bảo khi sử dụng các đặc trƣng sinh trắc học của
con ngƣời:
- Tính rộng rãi: Khả năng ngƣời dùng điều có những đặc trƣng này, đảm
bảo qui mô ngƣời sử dụng đƣợc hệ thống này là rộng lớn.
- Tính phân biệt: Phải đảm bảo có sự khác biệt giữa các đặc trƣng sinh trắc
học giữa hai ngƣời bất kì, đảm bảo tính duy nhất của chủ thể.
- Tính ổn định: đặc trƣng sinh trắc học phải có tính ổn định (không thay
đổi) trong một thời gian dài.
- Tính dễ thu thập: đặc trƣng sinh trắc học phải đảm bảo dễ dàng thu nhận
mẫu khi đăng ký, xác thực.
- Tính hiệu quả: việc xác thực sinh trắc phải chính xác, nhanh chóng và tài
nguyên cần sử dụng chấp nhận đƣợc.
- Tính chấp nhận đƣợc: quá trình thu thập mẫu sinh trắc phải đƣợc sự chấp
nhận của ngƣời ngƣời dùng.
- Chống giả mạo: mẫu sinh trắc phải đảm bảo khả khó bị làm giả…
khóa mã đƣợc thay bằng quá trình xác thực sinh trắc. Khi ngƣời dùng muốn truy
cập khóa mã thì họ sẽ đƣợc yêu cầu cung cấp một mẫu sinh trắc bắt buộc. Mẫu
sinh trắc này cùng với các thông tin định danh ngƣời dùng sẽ đƣợc gửi đến nơi
13
lƣu trữ mẫu sinh trắc. Nếu mẫu sinh trắc học xác thực này tƣơng đƣơng với mẫu
có trong cơ sở dữ liệu đã lƣu trữ thì hệ thống sẽ cho phép truy xuất khóa mã từ
nơi lƣu trữ an toàn và có thể đƣợc dùng để mã hóa hoặc giải mã dữ liệu theo yêu
cầu. Do đó, xác thực sinh trắc học có thể thay thế việc sử dụng mật mã để bảo
mật khóa. Việc làm này có 2 ƣu điểm:
- Ngƣời dùng không phải ghi nhớ mật mã và xác nhận bảo mật.
- Chỉ có ngƣời sử dụng hợp lệ mới có thể dùng đƣợc khóa mã.
Điểm yếu trong hệ mật mã thông thƣờng chính là ở quá trình bảo vệ và quản lý
khóa, đe dọa các mục tiêu về xác thực và chống phủ nhận. Hệ sinh trắc học đƣợc
ứng dụng để giải quyết vấn đề này. Hiện nay có hai hƣớng tiếp cận để kết hợp
sinh trắc học với mật mã học nhƣ sau[2]:
- Dùng sinh trắc học quản lý khóa (biometric-based key release)
Nguyên tắc hoạt động của phƣơng pháp này: quá trình đối sánh mẫu sinh
trắc học đƣợc tách biệt với quá trình mã hóa. Đối sánh đƣợc thực hiện:
nếu mẫu sinh trắc đem đối sánh giống với mẫu sinh trắc đã đƣợc lƣu trữ
thì hệ thống sẽ giải phóng khóa mã từ nơi lƣu trữ an toàn.
14
Nguồn: [16]
Hình 2-2 Hai mô hình bảo vệ khóa trong hệ bảo mật
Hình minh họa hai mô hình bảo vệ khóa trong hệ bảo mật: mô hình (a) sử
kết quả, dẫn tới phá vỡ độ an toàn của hệ thống xác thực.
- Dùng sinh trắc học để tạo khóa (biometric-based key generation)
Nghiên cứu kết hợp kỹ thuật sinh trắc với kỹ thuật mật mã, mật mã sinh
trắc (Biometric Encryption) nhằm nghiên cứu tạo ra khóa mã từ mẫu
khuôn dạng và mẫu sinh trắc trong hệ thống. Hƣớng tiếp cận Biometric
Cryptosystem cho phép kết hợp chặt chẽ sinh trắc học với mật mã học
nhằm khắc phục các điểm yếu của phƣơng pháp bảo vệ khóa truyền thống
và cho phép thực hiện xác thực chủ thể sở hữu khóa. Đây cũng là hƣớng
tiếp cận chủ yếu hiện nay và đƣợc sử dụng trong đề tài này[2].
Bên cạnh những ƣu điểm của việc dùng sinh trắc học làm khóa, phƣơng
pháp tạo khóa từ mẫu sinh trắc học có các khó khăn chính:
Sinh ra chuỗi bit chính xác từ mẫu sinh trắc học: Đây là khó khăn
chủ yếu của phƣơng pháp này vì các mẫu sinh trắc học thu đƣợc từ
quá trình thƣờng là không ổn định, chịu nhiều tác động của các yếu
tố khác nhau. Do đó không thể tạo ra đƣợc các chuổi bit đồng nhất
16
tuyệt đối từ các mẫu sinh trắc sống của cùng một chủ thể, nên chuỗi
bit đặc trƣng sinh trắc thƣờng không đủ độ chính xác để dùng làm
khóa.
Sử dụng mẫu sinh trắc học với nhiều hệ: khi một hệ mật mã bị tấn,
độ an toàn của các hệ mật còn lại sẽ bị ảnh hƣởng. Do khả năng chỉ
sinh đƣợc một khóa từ một loại mẫu sinh trắc học. Giải pháp đƣợc
đặt ra là thêm một phần dữ liệu đặc trƣng có vai trò làm tham số
sinh ra khóa, nhằm làm tăng độ đa dạng của khóa đối với từng hệ
mật.
Tính toán phức tạp: các giải thuật tính toán để sinh khóa từ mẫu
sinh trắc học yêu cầu phải có lƣợng tính toán lớn.
duy nhất với mỗi ngƣời và đặc trƣng về nụ cƣời. Các đặc trƣng về diện mạo có
thể đƣợc trích rút trên cả khuôn mặt hoặc phần nào đó trên khuôn mặt.
2.1.6 Hệ thống nhận diện khuôn mặt
Hình 2-3 Hệ thống nhận diện khuôn mặt
18
Tiền xử lý
Quá trình tiền xử lý đối với khuôn mặt nhằm nâng cao chất lƣợng ảnh, chuẩn
hóa dữ liệu, kích thƣớc ảnh. Các ảnh trong nghiên cứu này là có chất lƣợng
tƣơng đối tốt nên ta không cần dùng các thuật toán nâng cao chất lƣợng ảnh mà
ta chỉ cần chuẩn hóa ảnh (Normalize Image). Việc chuẩn hóa này khiến độ lệch
giữa 2 điểm ảnh đƣợc giảm xuống làm quá trình rút đặc trƣng thêm chính xác.
Trích rút đặc trưng
Trích rút đặc trƣng là kỹ thuật sử dụng các thuật toán để lấy ra những thông tin
mang những đặc điểm riêng biệt của một ngƣời. Các khâu trong quá trình trích
chọn đặc trƣng:
- Đầu vào: Ảnh đã đƣợc chuẩn hóa.
- Đầu ra: vector đặc trƣng của ảnh đầu vào.
Quá trình trích rút đặc trƣng đƣợc thể hiện qua lƣu đồ sau:
19
Hình 2-4 Sơ đồ khối trích chọn đặc trƣng sử dụng Eigenfaces
2.1.7 Các phương pháp nhận dạng khuôn mặt người
Các phƣơng pháp nhận dạng hiện nay có 2 loại :
Hai phƣơng pháp thƣờng đƣợc sử dụng là PCA (Principle Components Analysis)
và LDA (Linear Discriminant Analysis).
21
2.1.8 Rút trích đặc trưng khuôn mặt sử dụng Eigenface
Khi đã xác định đƣợc khuôn mặt chúng ta sẽ lựa chọn một phƣơng pháp để rút
trích đặc trƣng khuôn mặt. Một trong những thuật toán rút trích đặc trƣng cơ bản
và phổ biến đó là phƣơng pháp phân tích thành phần chính Eigenface [15]. Ảnh
khuôn mặt thƣờng có kích thƣớc lớn, phƣơng pháp này giúp giảm số chiều của
vector đặc trƣng bằng cách thay thế các đại lƣợng của bộ dữ liệu ban đầu bằng
các tổ hợp tuyến tính của chúng và từ đó chọn ra những thành phần quan trọng
nhất.
Thuật toán eigenface làm việc từ các hình ảnh sắc xám hai chiều (twodimensional grayscale images). Từ một ảnh sắc xám, một Eigenface đƣợc trích
xuất ra. Khuôn mặt sau đó đƣợc ánh xạ tới một chuỗi các Eigenvector, dùng
thuộc tính toán học để mô tả tính duy nhất của từng khuôn mặt, tạo thành các
mẫu sinh trắc học. Mẫu này sau đó đƣợc so sánh với các Eigenface đƣợc tạo ra.
Độ chênh lệch giữa mẫu và các Eigenface liên quan sẽ đƣợc so sánh với nhau.
Giá trị chênh lệch nào thấp hơn sẽ có khả năng là chính xác.
Thuật toán Eigenface khá kỳ lạ khi thực hiện việc so sánh một với nhiều mẫu để
nhận dạng. Để tạo ra các mẫu liên quan với mẫu trực tiếp để so sánh, nó dựng
nên một tập hợp các khuôn mặt đƣợc nhập vào. Nghĩa là khi nhiều khuôn mặt
đƣợc nhập vào cơ sở dữ liệu, các mẫu liên quan phải đƣợc cập nhật lại. Hầu hết
các hệ thống dựa trên Eigenface đều có khoảng 100-150 hình ảnh khuôn mặt để
tạo ra các mẫu liên quan dùng cho việc so sánh.
Ý tƣởng của phƣơng pháp là phân tích các thành phần chủ yếu tạo nên khuôn
mặt, hoặc những vector riêng của ma trận hiệp phƣơng sai của tập ảnh các khuôn
mặt . Mỗi vector chứa một số lƣợng các đặc tính riêng biệt của khuôn mặt từ đó
tạo ra sự khác nhau giữa các khuôn mặt. Bên cạnh đó các vector riêng này có thể
(2)
Tìm tập gồm M vector trực giao un biểu diễn chiều phân bố mạnh nhất của tập
dữ liệu. Tập các vector u đƣợc gọi là eigenface của tập dữ liệu. Vector thứ k, uk,
đƣợc lựa chọn sao cho:
k
1
M
M
(u
n 1
T
k
n )2
(3)
có giá trị cao nhất, tùy thuộc vào :
1 (l k )
ulT uk lk
0 (l k )
Vector uk và λk tƣơng ứng là vector riêng và trị riêng của ma trận hiệp phƣơng
sai:
...
u M
Ƣu điểm của Eigenfaces:
– Dễ cài đặt
– Tìm đƣợc các đặc tính tiêu biểu của đối tƣợng cần nhận dạng mà
không phải xác định các thành phần và mối quan hệ giữa các thành
phần đó.
– Thuật toán có thể thực hiện tốt với các ảnh có độ phân giải cao, do
Eigenfaces sẽ thu gọn ảnh thành một ảnh có kích thƣớc nhỏ hơn.
Nhƣợc điểm của Eigenfaces:
– Các mẫu khuôn mặt phụ thuộc hoàn toàn vào tập huấn luyện, có
nghĩa là các khuôn mặt trong ảnh kiểm tra phải giống với các ảnh
huấn luyện về kích thƣớc, tƣ thế, độ sáng.
– Eigenfaces phân loại theo chiều phân bố lớn nhất của tập vector. Tuy
nhiên chiều phân bố lớn nhất không phải lúc nào cũng mang lại hiệu
24
quả tốt nhất cho bài toán nhận dạng. Đây là nhƣợc điểm cơ bản của
Eigenfaces.
– Eigenfaces rất nhạy với nhiễu.
Có nhiều thuật toán nhận dạng khuôn mặt dựa trên các chi tiết trên khuôn mặt.
Eigenface khác với nhiều thuật toán ở chổ nó nhận dạng dựa trên những nét tổng
thể của khuôn mặt. Không chỉ là một thuật toán, Eigenfaces đã cung cấp một cơ
sở cho việc mô tả các đặc trƣng của khuôn mặt, từ đó có thể phát triển những
thuật toán nhận dạng khác. Vì vậy Eigenfaces có thể không phải là thuật toán tốt
nhất, nhƣng nó là thuật toán phổ biến nhất trong bài toán nhận diện khuôn mặt