Giới thiệu về OpenCV

Một phần của tài liệu (LUẬN văn THẠC sĩ) mã hóa dữ liệu trên điện thoại thông minh sử dụng sinh trắc học (Trang 66)

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 MinMax 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 sw’.

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

Một phần của tài liệu (LUẬN văn THẠC sĩ) mã hóa dữ liệu trên điện thoại thông minh sử dụng sinh trắc học (Trang 66)

Tải bản đầy đủ (PDF)

(80 trang)