c. Chuẩn mã hóa dữ liệu AES
4.3 Giới thiệu về OpenCV
OpenCV là mã nguồn mở của Intel, nó là một thƣ viện có khả năng nhúng vào
gồm khả năng tiên tiến nhƣ phát hiện khuôn mặt, theo dõi khuôn mặt, nhận diện khuôn mặt….. Ngoài ra, nó cung cấp rất nhiều các thuật toán xử lý ảnh thông qua các hàm API. Ứng dụng của luận văn này sử dụng thƣ viện OpenCV để rút
trích đặc trƣng sinh trắc học của khuôn mặt.
4.4 Thiết kếchương chương trình mã hóa dữ
4.4.1 Rút trích đặc trưng khuôn mặt
Thuật toán đƣợc sử dụng để rút trích đặc trƣng sinh trắc học khuôn mặt là thuật toán Eigenface. Trong luận văn này sử dụng thƣ viện OpenCVđểxác định và rút
trích đặc trƣng khuôn mặt.
Ảnh của khuôn mặt đƣợc thu nhận từ camera của điện thoại, sau đó đƣợc rút
trích đặc trƣng và chuẩn hóa.
4.4.2 Lượng tử hóa vector
Các vector đặc trƣng phải đƣợc chuẩn hóa để các hệ số trong vector nằm trong
đoạn [0, 1]. Công thức chuẩn hóa đƣợc thực hiện nhƣ sau:
* , 1, 2,..., ax i i x Min x i d M Min
Với Min và Max là giá trị x lớn nhất và nhỏ nhất trong miền giá trị của tập huấn luyện.
Sau khi chuẩn hóa, phải xử lý lƣợng tử hóa nhằm chuyển đổi các giá trị đặc
trƣng từ miền liên tục sang miền rời rạc, xửlý lƣợng tử hóa sẽ chuyển giá trị này sang một số nguyên nằm trong [0, N].
4.4.3 Sinh khóa sinh trắc
Đặc trƣng khuôn mặt sau khi đƣợc chuẩn hóa và lƣợng tử, giá trị đặc trƣng w
thông qua thành phần SS của giải thuật secure sketch sẽ tạo ra thông tin công cộng s, thông tin snày đƣợc lƣu xuống bộ nhớvà đƣợc dùng cho quá trình khôi phục w. Một giá trị hàm băm của w cũng đƣợc lƣu xuống bộ nhớ để dùng cho việc so sánh mẫu sinh trắc để chứng thực ngƣời dùng.
4.4.4 Khôi phục khóa sinh trắc
Đặc trƣng khuôn mặt sau khi đƣợc chuẩn hóa và lƣợng tử, giá trị đặc trƣng w’
thông qua thành phần Rec của giải thuật secure sketch sẽ khôi phục lại đặc trƣng
w nhờ vào thông tin công cộng s và w’.
Một giá trị hàm băm của w’ đƣợc dùng đểđối sánh với mẫu giá trịbăm đã đƣợc
lƣu trƣớc đó, nếu hai giá trị này khớp với nhau tức là bƣớc xác thực thành công,
khóa sinh trắc đã đƣợc tái tạo.
4.4.5 Mã hóa dữ liệu sử dụng khóa sinh trắc
Khóa sinh trắc đƣợc đƣợc sinh ra từ quá trình sinh khóa sẽ đƣợc dùng làm đầu vào cho quá trình tiếp theo là quá trình mã hóa dữ liệu. Giải thuật đƣợc áp dụng trong ứng dụng của luận văn là giải thuật mã hóa AES.
4.4.6 Chức năng của ứng dụng Giao diện chính Giao diện chính
Ứng dụng đƣợc phát triển dựa trên công cụ Android Developer Tools v22.6.2
Hình 4-2 Giao diện màn hình chính của ứng dụng
Train face: Có chức năng thu nhận ảnh khuôn mặt của ngƣời dùng để lấy mẫu. Applications: Sử dụng khóa sinh trắc để mã hóa và giải mã dữ liệu bằng giải thuật AES.
Train face
Chức năng này thu nhận ảnh của ngƣời dùng sau đó rút trích và lƣu trữ thông tin
mẫu sinh trắc học của khuôn mặt. Chức năng này bao gồm hai phần chính, Add và Train:
Hình 4-3 Giao diện train face
Add: Chức năng này lƣu hình ảnh của khuôn mặt. Sử dụng camera của điện thoại và giải thuật eigenfaces, chƣơng trình xác định đối tƣợng phía trƣớc có phải là khuôn mặt của ngƣời dùng không. Nếu là khuôn mặt thì ảnh vùng xác
định khuôn mặt sẽđƣợc lƣu xuống bộ nhớ.
Train: Chức năng này rút trích và lƣu trữ thông tin đƣợc xử lý của khuôn mặt.
Chƣơng trình sẽ rút trích đặc trƣng từ các ảnh đƣợc lƣu trong bộ nhớ ở bƣớc
“add” ở trên, áp dụng thuật toán Eigenfaces đểrút trích các vector đặc trƣng. Các
quá trình phát sinh sketch và hàm băm. Kết quả của hai quá trình này sẽ đƣợc
lƣu vào bộ nhớ.
Khi chọn “Reset” các ảnh trong thƣ viện tập huấn luyện đƣợc lƣu trữ trên bộ nhớ
sẽ bị xóa bỏđểngƣời dùng nạp vào các ảnh mới.
Applications
Chức năng này cho phép mã hóa và giải mã dữ liệu. Khóa sinh trắc đƣợc sinh ra
từ quá trình rút trích đặc trƣng và lƣợng tử hóa ở bƣớc trên sẽ đƣợc dùng làm
khóa để mã hóa dữ liệu bằng giải thuật AES.
Encrypt: Mã hóa văn bản đƣợc nhập vào bằng giải thuật AES với khóa sinh trắc
đƣợc sinh ra ở quá trình trên.
Decrypt: Văn bản mã hóa (Ciphertext) sẽ đƣợc giải mã bằng giải thuật AES với
Chương 5: TÓM TẮT, KẾT LUẬN VÀ KIẾN NGHỊ
5.1 Kết luận
Luận văn đƣa ra một cách nhìn về việc sử dụng điện thoại thông minh đảm bảo
an toàn dữ liệu. Luận văn đã nghiên cứu và xây dựng một ứng dụng mã hóa dữ
liệu trên điện thoại thông minh sử dụng sinh trắc học là khuôn mặt.
Luận văn đã tìm hiểu bài toán mã hóa dữ liệu kết hợp với các phƣơng pháp bảo
vệ tính riêng tƣ cho các đặc trƣng sinh trắc học đƣợc sử dụng trong hệ thống
nhằm phát triển một hệ thống “Mã hóa dữ liệu trên thiết bị thông minh dùng và
có bảo vệtính riêng tƣ của các đặc trƣng sinh trắc” với ƣu điểm:
- Khóa đƣợc sinh ra từ dạng dữ liệu nhiễu (đặc trƣng sinh trắc).
- Bảo mật tính riêng tƣ cho các đặc trƣng sinh trắc khi chúng đƣợc sử dụng
trong hệ thống mã hóa trên thiết bịdi động thông minh (ngay cảkhi ngƣời
dùng đánh mất điện thoại thông minh thì mẫu sinh trắc vẫn đƣợc bảo mật).
So với phƣơng pháp mã hóa truyền thống, phƣơng pháp mã hóa sử dụng sinh
trắc học có ƣu điểm hơn với đặc điểm là có khả năng xác thực ngƣời dùng: chỉ
có ngƣời dùng hợp lệ mới có thể truy xuất khóa, những ngƣời dùng không hợp lệ
(khuôn mặt không trùng khớp trong cơ sở dữ liệu) thì không thể truy xuất khóa sinh trắc. Đây chính là điểm khác biệt lớn giữa mã hóa truyền thống và mã hóa sử dụng sinh trắc học. Ở những hệ thống mã hóa thông thƣờng, bất kì ai nhập mật mã đúng cũng có thể giải mã dữ liệu.
5.2 Mô hình cải tiến
Nhƣợc điểm của mô hình mã hóa dữ liệu sử dụng đặc trƣng sinh trắc học khuôn mặt trong luận văn này là: với phƣơng pháp tạo khóa sinh trắc sử dụng giải thuật
secure sketchnhƣ trên thì khóa mã đƣợc tạo ra mang tính ngẫu nhiên thấp, do đó
dễ bị tấn công bằng vét cạn.
Để khắc phục nhƣợc điểm trên, mô hình đƣợc đề xuất nhƣ sau:
Mô hình đề xuất đƣợc gọi là Fuzzy Extractor: secure sketch có vai trò khôi phục
đặc trƣng sinh trắc học w.
Khóa k đƣợc tạo ra qua quá trình Ext (Extractor): là sự kết hợp giữa đặc trƣng
sinh trắc học và bộ sinh số ngẫu nhiên, vì vậy khóa sinh ra có tính ngẫu nhiên cao.
Hình 5-1 Mô hình đề xuất cải tiến
Fuzzy extractor là sự kết hợp giữa Secure sketch và strong Extractor. Trong mô hình Fuzzy Extractor, thành phần Secure sketchđảm nhiệm vai trò khôi phục đặc
trƣng sinh trắc. Thành phần extractor có vai trò sinh ra khóa k có tính ngẫu nhiên.
Sinh khóa k ngẫu nhiên: đặc trƣng sinh trắc wsau khi đƣợc rút trích và lƣợng tử
hóa sẽ làm đầu vào cho cả 2 quá trình phát sinh sketch và extractor. Kết quả của quá trình SS là chuỗi công khai sđƣợc lƣu trữđể giúp phục lại w.
Thành phần Extractor có nhiệm vụ tạo ra khóa k nhờvào đặc trƣng w và một đại
lƣợng ngẫu nhiên x, chính vì x ngẫu nhiên nên khóa k đƣợc sinh ra cũng là ngẫu nhiên.
Hình 5-2 Mô hình đăng ký khóa cải tiến
Khôi phục khóa k ngẫu nhiên: Để khôi phục lại khóa k thì đầu tiên sẽ sử dụng
Secure sketch để khôi phục lại w trƣớc, sau đó kết hợp w với đại lƣợng x ngẫu nhiên để khôi phục lại khóa k nhờ vào thành phần Extractor.
Hình 5-3 Mô hình khôi phục khóa sinh trắc cải tiến
Hƣớng phát triển của luận văn: Mã hóa dữ liệu kết hợp sử dụng nhiều sinh trắc học, có thể kết hợp sinh trắc học là khuôn mặt và giọng nói để mã hóa dữ liệu, nâng cao tính bảo mật dữ liệu trên điện thoại.
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Dƣ Phƣơng Hạnh, Trƣơng Thu Hiền, Nguyễn Ngọc Hóa. Hộ chiếu
điện tử và mô hình đề xuất tại Việt Nam, tạp chí Khoa học ĐHQGHN,
Khoa học Tự nhiên và Công nghệ, số 27 (2011), tr. 37-51
[2] Nguyễn Hoàng Lan. “Hệ thống an ninh thông tin dựa trên sinh trắc học Bio-PKI”, Báo cáo tổng kết đề tài nghiên cứu theo nghị định thƣ, (2009), tr. 21-30
[3] Từ Minh Hiển, Trần Thị Khánh Hòa. “Nhận dạng khuôn mặt ngƣời bằng mạng Nơron và phƣơng pháp phân tích thành phần chính”,
(2012), tr. 2-3
[4] Vũ Anh Tuấn, “Bảo mật và an toàn thông tin trong thƣơng mại điện
tử”, luận văn thạc sĩ trƣờng Đại học Thái Nguyên, (2008)
Tiếng nước ngoài
[5] Anil Jain, Ruud Bolle, Sharath Pankanti. “an Introduction to Biometrics”, Michigan State University East Lansing, MI and IBM T. J. Watson Research Center Yourtown Heights, NY, 2004.
[6] Anil K. Jain, Karthik Nandakumar and Abhishek Nagar. “Biometric
Template Security”, 2008
[7] Ari Juels, Martin Wattenberg. “A Fuzzy Commitment Scheme”, Proc. of sixth ACM Conf. on Computer and Communication Security, 1999. [8] Ari Juels, Madhu Sudan. “A Fuzzy Vault Scheme”, In IEEE Intl.
[9] Christian Rathgeb, Andreas Uhl. “Research: A survey on biometric
cryptosystems and cancelable biometrics”
[10] Mingwu Zhang, Bo Yang, Wenzheng Zhang, Tsuyoshi Takagi.
“Multibiometric Based Secure Encryption and Authentication Scheme with Fuzzy Extractor”, International Journal of Network Security, Vol.12, No.1, PP.50–57, Jan. 2011
[11] T.Karthikeyan & B.Sabarigiri. “Enhancement of Multi-Modal Biometric Authentication Based on IRIS and Brain Neuro Image Coding”, International Journal of Biometrics and Bioinformatics (IJBB), Vol.5, 2011
[12] Qiming Li, Yagiz Sutcu, Nasir Memon. “Secure Sketch for Biometric Templates”, Polytechnic University, 6 Metrotech Center, Brooklyn,
NY 11201
[13] Shuo Wang, Jing Liu. “Biometrics on Mobile Phone”, pp.1-2 Department of Biomedical Engineering, School of Medicine, Tsinghua Unuversity, P.R China
[14] Tran Tri Dang, Quynh Chi Truong, Dang Tran Khanh. “Practical Construction of Face-Based Authentication Systems with Template Protection Using Secure Sketch”, Faculty of Computer Science & Engineering, Ho Chi Minh City University of Technology, VNUHCM, Vietnam, 2013
[15] M. Turk, A. Pentland. “Eigenfaces for Recognition”. J. Cognitive
Neuroscience 3(1), 71–86, 1991
[16] Uludag, Anil K. Jain et al. “Biometric Cryptosystems: Issues and Challenges”, Proceedings of the IEEE, 2004
[17] Volkan Akalin. “Face recognition using eigenfaces and neural network”, The Middle East Technical University, 2003
[18] Yagiz Sutcu, Shantanu Rane, Jonathan Yedidia, Stark Draper, Anthony Vetro. “Feature Transformation of Biometric Templates for
Secure Biometric Systems Based on Error Correcting Codes”, 2008 [19] Yevgeniy Dodis, Leonid Reyzin, Adam Smith. “Fuzzy Extractors”, A
Brief Survey of Results from 2004 to 2006, April 9, 2008
[20] Yevgeniy Dodis, Rafail Ostrovsky, Leonid Reyzin, Adam Smith.
“Fuzzy Extractors: How to Generate Strong Keys from Biometrics and
Other Noisy Data”, 2008
Tài liệu điện tử
[21] Android Developer Tools (ADT) plugin for Eclipse [2013 May 10];
http://developer.android.com/tools/index.html
[22] An toàn thông tin – mật mã sinh trắc [2009 Oct 04]
http://antoanthongtin.vn
[23] Diễn đàn Android Việt Nam [2014 Jun 10] http://android.vn
[24] Google Analytics SDK for Android [2013 May 27];
https://developers.google.com/analytics/devguides/collection/android/
[25] OpenCV (Open source computer vision) [2013 Jan 19];
TP.HCM, ngày 24 tháng 09 năm 2014
Giảng viên hƣớng dẫn Học viên thực hiện
PGS.TS. Đặng Trần Khánh Trần Thanh Sang