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

Mã hóa dữ liệu trên thiết bị di động dùng đặc trưng sinh trắc học

81 32 0

Đ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

Định dạng
Số trang 81
Dung lượng 1,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để sử dụng đặc trưng sinh trắc học vào việc mã hóa dữ liệu, ta cần phải có phương pháp trích xuất những thông tin mang tính chất cố định từ dữ liệu sinh trắc học sao cho kết quả trích xu

Trang 1



BK

TP.HCM

NGUYỄN VĂN ĐÔNG

MÃ HÓA DỮ LIỆU TRÊN THIẾT BỊ DI ĐỘNG DÙNG ĐẶC

Trang 3

Tp Hồ Chí Minh, ngày 21 tháng 1 năm 2013

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên: Nguyễn Văn Đông MSHV: 11070444

Ngày, tháng, năm sinh: 2 tháng 1 năm 1985 Nơi sinh: Sông Bé

Chuyên ngành: Khoa học máy tính Mã số: 60.48.01

I TÊN ĐỀ TÀI: Mã hóa dữ liệu trên thiết bị di động dùng đặc trưng sinh trắc học

II NHIỆM VỤ VÀ NỘI DUNG:

- Tìm hiểu các nghiên cứu liên quan trong việc mã hóa dữ liệu dùng đặc trưng sinh

trắc học

- Đề xuất phương pháp sử dụng đặc trưng sinh trắc học vào việc mã hóa, chú ý đến

khả năng triển khai trên thiết bị di động

- Hiện thực phương pháp, đánh giá kết quả thực nghiệm

III NGÀY GIAO NHIỆM VỤ : 21/01/2013

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 21/06/2013

V CÁN BỘ HƯỚNG DẪN: PGS.TS Đặng Trần Khánh

Tp HCM, ngày 13 tháng 9 năm 2013

TRƯỞNG KHOA

Trang 4

Em xin chân thành cảm ơn tất cả các thầy, cô trong bộ môn Khoa Học Máy Tính trường Đại học Bách Khoa – Đại học Quốc Gia thành phố Hồ Chí Minh vì những kiến thức mà các thầy cô đã truyền đạt cho chúng em, các thầy cô luôn là tấm gương về tinh thần cống hiến hết mình cho khoa học, tinh thần làm việc chuyên nghiệp, không mệt mỏi cho chúng em noi theo Xin cảm ơn tất cả các bạn lớp cao học Khoa Học Máy Tính khóa 2011 và các khóa khác – những người đã đồng hành cùng tôi trong suốt khóa học

Xin cảm ơn anh Nguyễn Xuân Hoàng, anh Ngô Minh Quân và tất cả mọi người trong công ty TNHH Giải pháp hệ thống MO LI đã tạo điều kiện thuận lợi trong thời gian tôi tham gia khóa học

Và cuối cùng, xin cảm ơn VỢ, em chính là món qua tuyệt vời nhất trong suốt cuộc đời anh

Trang 5

TÓM TẮT LUẬN VĂN

Bản chất của dữ liệu sinh trắc học là không chính xác, cùng một đối tượng nhưng ở

những thời điểm khác nhau sẽ có kết quả đo đạc khác nhau Để sử dụng đặc trưng

sinh trắc học vào việc mã hóa dữ liệu, ta cần phải có phương pháp trích xuất những

thông tin mang tính chất cố định từ dữ liệu sinh trắc học sao cho kết quả trích xuất

từ những mẫu thu thập được trên cùng một đối tượng với sai biệt trong giới hạn cho

phép là giống nhau Dựa trên giải thuật Eigenfaces và lý thuyết mã sửa lỗi, luận văn

đề xuất phương pháp trích xuất dữ liệu cố định từ hình ảnh khuôn mặt của người

dùng; dữ liệu cố định này có thể được dùng sinh khóa, bảo vệ một khóa khác, hoặc

kết hợp với một đặc trưng sinh trắc học khác Phương pháp được hiện thực và đánh

giá dựa trên cơ sở dữ liệu ảnh khuôn mặt “Essex94” và so sánh với một phương

pháp đơn giản khác Kết quả thực nghiệm cho thấy tỉ lệ lỗi tương đương với giải

thuật Eigenfaces truyền thống và entropy ở mức chập nhận được

ABSTRACT

Biometric data are variable by nature, i.e., biometric samples captured from the

same object at different time are not identical To be able to use biometrics for

cryptography, we need an extraction method so that the extraction results from

biometric samples which are captured from same object are identical Based on

Eigenfaces algorithm and Error-Correcting theory, this thesis proposes methods to

extract stable data from similar face images; this data can be used to generated

cryptographic key, protect another key, or combine with other biometrics The

extraction methods are implemented and evaluated using “Essex94” face database

and compared with another simple method The experimentation shows that error

rates are equivalent to traditional Eigenfaces algorithm with good entropy

Trang 6

LỜI CAM ĐOAN

Tôi xin cam đoan: Luận văn này là công trình nghiên cứu của cá nhân tôi, dưới sự

hướng dẫn và hỗ trợ từ PGS.TS Đặng Trần Khánh

Các nội dung nghiên cứu và kết quả thực nghiệm trong đề tài này là trung thực và

chưa từng được ai công bố trong bất cứ công trình nghiên cứu nào trước đây Các số

liệu, bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả

thu thập thông qua quá trình thực nghiệm

Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm trước

Hội đồng, cũng như kết quả luận văn của mình

Tp Hồ Chí Minh, ngày 20 tháng 6 năm 2013

Tác giả

Nguyễn Văn Đông

Trang 7

MỤC LỤC

Chương 1 Giới thiệu 1

1.1 Giới thiệu đề tài, ý nghĩa khoa học và thực tiễn 1

1.2 Đối tượng và phạm vi nghiên cứu 3

1.3 Tóm tắt nội dung luận văn 6

1.4 Danh mục từ viết tắt 6

Chương 2 Các nghiên cứu liên quan 7

2.1 Hướng tiếp cận dùng mã sửa lỗi 7

2.1.1 Juels & Wattenberg - A Fuzzy Commitment Scheme (1999) 7

2.1.2 Juels & Sudan - A Fuzzy Vault Scheme(2003) 8

2.1.3 Dodis et al – Fuzzzy Extractor (2008) 9

2.1.4 Những công trình nghiên cứu khác 9

2.2 Hướng tiếp cận không dùng mã sửa lỗi 11

2.2.1 Colin Soutar et al - Biometric Encryption (1999) 11

2.2.2 Các phương pháp của Fabian Monrose 14

Chương 3 Cơ sở lý thuyết 15

3.1 Mã sửa lỗi 15

3.1.1 Giới thiệu 15

Trang 8

3.1.2 Không gian Metric 15

3.1.3 Khoảng cách Hamming 16

3.1.4 Định nghĩa mã sửa lỗi 17

3.2 Phương pháp phân tích thành phần chính (PCA) 18

3.2.1 Ví dụ 19

3.2.2 Vector riêng và trị riêng 23

3.2.3 Phương pháp PCA 25

3.3 Thuật toán nhận diện gương mặt Eigenfaces 27

3.4 Các khái niệm “Min Entropy”, “Secure Sketch”, “Fuzzy Extractor” 30

3.4.1 Entropy tối thiểu 30

3.4.2 Entropy tối thiểu trung bình 31

3.4.3 Khoảng cách tĩnh 31

3.4.4 Hàm Trích xuất 32

3.4.5 Secure Sketch 32

3.4.6 Fuzzy Extractor 34

Chương 4 Phương pháp Secure Sketch cho dữ liệu ảnh gương mặt 37

4.1 Giới thiệu 37

4.2 Nguyên lý xây dựng “Secure Sketch” 37

Trang 9

4.3 Taxicab Metric 38

4.4 Xây dựng Secure Sketch dựa trên Taxicab metric 42

4.5 Xây dựng “Mã Taxicab” và phương pháp “giải mã Taxicab” 44

4.5.1 Biến đổi Hadamard 45

4.5.2 Xây dựng mã Taxicab 47

4.5.3 Giải thuật giải mã Taxicab 48

4.5.4 Nhận xét 49

4.6 Độ phức tạp 50

4.7 Đánh giá entropy 51

Chương 5 Kết quả thực nghiệm và đánh giá 53

5.1 Tỷ lệ lỗi 53

5.2 Entropy 53

5.3 Ảnh hưởng của số chiều của vector đặc trưng 53

5.4 Thời gian thực thi 54

5.5 So sánh với phương pháp sửa lỗi từng thành phần 55

5.5.1 Giới thiệu phương pháp 55

5.5.2 So sánh với phương pháp sửa lỗi dùng khoảng cách Taxicab 56

Chương 6 Kết luận và hướng phát triển 60

Trang 10

6.1 Kết luận 60 6.2 Đề xuất hướng phát triển 62

Trang 11

MỤC LỤC BẢNG

Bảng 5.1 Entropy của phương pháp sửa lỗi “Secure Sketch” cho Taxicab

Metric 53

Bảng 5.2 Biến thiên của tỷ lệ lỗi theo số chiều của vector đặc trưng 54

Bảng 5.3 Biến thiên của entropy theo số chiều của vector đặc trưng 54

Bảng 5.4 Thời gian thực thi của giải thuật “Secure Sketch” cho Taxicab 55

Bảng 5.5 Tỷ lệ lỗi và entropy của phương pháp sửa lỗi từng thành phần 56

Bảng 5.6 So sánh phương pháp sửa lỗi từng thành phần với phương pháp sửa lỗi dùng khoảng cách Taxicab 58

Trang 12

MỤC LỤC HÌNH

Hình 1.1 Mô hình hệ thống mã hóa dữ liệu dùng đặc trưng sinh trắc học 4

Hình 1.2 Dùng đặc trưng sinh trắc học để bảo vệ khóa 5

Hình 2.1 Giải thuật liên kết khóa của Ullrich Martini và Stephan Beinlich 10

Hình 2.2 Thuật toán biến đổi vector đặc trưng của Yagiz Sutcu 10

Hình 2.3 Quá trình mã hóa dựa trên thông tin sinh trắc học của Bioscrypt Inc 12

Hình 2.4 Quá trình giải mã dữ liệu dựa trên thông tin sinh trắc học của Bioscrypt Inc 13

Hình 3.1 Mô phỏng khả năng sửa lỗi của một mã 18

Hình 3.2 Biểu diễn dữ liệu quan sát được trong không gian 2 chiều 20

Hình 3.3 Biểu diễn dữ liệu quan sát được sau khi tịnh tiến gốc tọa độ 21

Hình 3.4 Biểu diễn dữ liệu sau khi biến đổi trực giao 22

Hình 3.5 Dữ liệu được khôi phục sau chỉ giữ lại thành phần chính 23

Hình 3.6 Quy trình nhận diện gương mặt dùng Eigenfaces 28

Hình 3 Ví dụ về eigenface 29

Hình 3.8 Secure Sketch 33

Hình 3.9 Fuzzy Extractor 34

Trang 13

Hình 3.10 ng dụng của Fuzzy Extractor 35

Hình 3.11 Xây dựng Fuzzy Extractor từ Secure Sketch và hàm trích xuất 35

Hình 4.1 Code Offset construction for Secure Sketch 37

Hình 4.2 Tỷ lệ lỗi khi dùng khoảng cách Euclid 40

Hình 4.3 Tỷ lệ lỗi khi dùng khoảng cách Taxicab 41

Hình 4.4 So sánh tỷ lệ lỗi giữa phương pháp kiểm tra dùng khoảng cách Eulcid với phương pháp kiểm tra dùng khoản cách Taxicab 41

Hình 4.5 Xây dựng “Secure Sketch” cho Taxicab Metric 42

Hình 4.6 Giải mã Taxicab trên không gian 2 chiều 45

Hình 5.1 Tỷ lệ lỗi của phương pháp sửa lỗi từng thành phần 57

Hình 5.2 So sánh tỷ lệ lỗi của phương pháp sửa lỗi từng thành phần và phương pháp sửa lỗi dùng khoảng cách Taxicab 57

Hình 5.3 So sánh entropy của phương pháp sửa lỗi từng thành phần và phương pháp sửa lỗi dùng khoảng cách Taxicab 58

Trang 14

Chương 1 Giới thiệu 1.1 Giới thiệu đề tài, ý nghĩa khoa học và thực tiễn

Cùng với sự phát triển của ngành công nghệ thông tin – truyền thông, vấn đề bảo mật dữ liệu luôn nhận được nhiều sự quan tâm của các nhà nghiên cứu cũng như doang nghiệp Trong đó, mã hóa dữ liệu là một trong những giải pháp để bảo vệ dữ liệu lưu trữ cũng như trên đường truyền Nhiều giải thuật mã hóa đối xứng (DES, AES,…) và bất đối xứng (RSA, DSA,…) được đưa ra để giải quyết vấn đề mã hóa

dữ liệu, sức mạnh của những giải thuật này đã được kiểm chứng và trở thành chuẩn mực trong việc mã hóa cho đến thời điểm hiện tại Tuy nhiên, trong tất cả các giải thuật mã hóa nói trên, việc giữ bí mật khóa là một yêu cần bắt buộc Một khóa mã hóa thông thường có chiều dài từ 56 đến 128 bit, việc ghi nhớ một dãy số nhị phân

vô nghĩa như vậy nằm ngoài khả năng của một người dùng bình thường Do đó, việc quản lý khóa (bao gồm sinh khóa, phân phối khóa và giữ bí mật khóa) trở thành điểm yếu nhất của các hệ thống mã hóa; làm sao để sinh ra một khóa đủ mạnh trong khi dễ dàng phân phối và giữ bí mật Một số phương pháp truyền thống có thể

kể ra sau đây:

Mã hóa dựa trên mật khẩu: Mật khẩu được dùng để dẫn xuất ra khóa dựa

trên các giải thuật dẫn xuất (PBKDF1, PBKDF2,…) Hệ điều hành Android

sử dụng phương pháp này cung cấp tính năng mã hóa toàn bộ đĩa của hệ thống Vấn đề đối với phương pháp này là độ mạnh của khóa tương đương với độ mạnh của mật khẩu Mà vấn đề của mật khẩu thì như chúng ta đã biết: mật khẩu đơn giản sẽ dễ bị kẻ tấn công đoán được bằng cách sử dụng một số công cụ tấn công theo kiểu từ điển; mật khẩu có độ phức tạp cao khiến việc ghi nhớ chúng trở nên khó khăn đối với người sử dụng, dẫn đến việc anh ta

sẽ ghi nó ra đâu đó và có khả năng mật khẩu sẽ bị lộ

Mã hóa dựa trên token: Token là một thiết bị phần cứng có khả năng lưu trữ

khóa và thực hiện các thao tác mã hóa, giải mã dựa trên khóa lưu trữ Các thiết bị này thường là các thẻ thông minh tiếp xúc hoặc không tiếp xúc, trong

Trang 15

đó, toàn bộ hệ thống được tích hợp trong một chip có kích thước vài milimet, việc can thiệp vào hệ thống để đọc được khóa lưu trữ trong đó là gần như không thể Phương pháp này được sử dụng phổ biến trong các hệ thống yêu cầu độ bảo mật cao Tuy nhiên, con người luôn là điểm yếu nhất trong bất kỳ

hệ thống bảo mật nào, người dùng thường cảm thấy bất tiện khi phải luôn mang token theo bên mình và việc đánh mất hoặc để quên token cũng thường xuyên xảy ra Một số token yêu cầu phải được kích hoạt bằng một mã PIN bí mật để kẻ đánh cắp cũng không sử dụng được token Tuy nhiên việc này lại làm nhiều người cảm thấy bất tiện và họ ghi luôn mã PIN lên token

Các phương pháp nói trên đều không có sự cân bằng giữa sức mạnh của khóa và độ

tiện lợi đối với người dùng Trong khi đó, ý tưởng mã hóa dùng đặc trưng sinh trắc

học mở ra một hướng nghiên cứu mới nhằm cung cấp một giải pháp thỏa mãn cả 2 yêu cầu trên

Đặc trưng sinh trắc học là thông tin về những đặc tính sinh lý có thể đo đạt được và đặc trưng cho mỗi người Ví dụ: dấu vân tay, mống mắt, giọng nói, chữ ký,…; do

đó, người dùng không cần phải ghi nhớ cũng không cần phải luôn mang theo hay sợ

bị đánh cắp Với khả năng 2 người khác nhau có đặc trưng sinh trắc học giống nhau

là rất thấp (tùy từng loại đặc trưng, đối với mống mắt là 10-72), những thông tin này

có thể được sử dụng để sinh ra một khóa đủ mạnh dùng cho các giải thuật mã hóa Tuy nhiên, việc đo đạc những đặc trưng này ở những lần khác nhau (trên cùng một đối tượng) sẽ không thể nào cho ra kết quả giống nhau chính xác; trong khi đó, những giải thuật mã hóa truyền thống đòi hỏi độ chính xác tuyệt đối, chỉ một bit sai biệt trong khóa cũng sẽ tạo ra sai biệt rất lớn trong kết quả mã hóa/giải mã Để áp dụng đặc trưng sinh trắc học vào hệ thống mã hóa, đòi hỏi phải có những kỹ thuật/thuật toán đặc biệt để sử dụng, đồng thời bảo đảm tính bí mật những thông tin

có nhiễu này

Mã hóa dữ liệu dựa trên đặc trưng sinh trắc học là một hướng nghiên cứu khá mới, được khởi xướng vào năm 1994 bởi giáo sư George Tomko, người sáng lập Mytec

Trang 16

Technologies (Toronto, Canada) [1, p 22] Việc áp dụng những thành quả nghiên cứu trong lĩnh vực này vào thực tế còn khá hạn chế Theo như những gì học viên tìm hiểu được thì công nghệ privIDTM của Philips là sản phẩm thương mại đầu tiên

và duy nhất tính đến thời điểm này áp dụng kỹ thuật mã hóa dùng đặc trưng sinh trắc học [1, p 22]

Ngày nay, các thiết bị cá nhân như điện thoại thông minh, máy tính bảng ngày một phổ biến và mạnh mẽ Những thiết này có sức mạnh gần tương đương với một máy tính cá nhân, có khả năng lưu trữ và xử lý hầu hết mọi loại dữ liệu từ hình ảnh, danh

bạ, ghi chú cá nhân đến những dữ liệu nhạy cảm như email, tài khoản ngân hàng Một số nhân viên còn lưu trữ cả những tài liệu mật của công ty trên điện thoại di động của mình Trong khi đó, vấn đề bảo mật trên các thiết bị di động vẫn chưa nhận được sự quan tâm cần thiết từ phía người dùng, một số cảm thấy phiền phức, không thuận tiện khi phải áp dụng các giải pháp bảo mật; việc này biến các thiết bị

di động trở thành đối tượng ưa thích của tin tặc Đó là lý do vì sao nền tảng di động được chọn để thực hiện đề tài, với mong muốn áp dụng những kết quả nghiên cứu vào thực tế, cung cấp một giải pháp bảo vệ dữ liệu vừa an toàn vừa thuận tiện cho các thiết bị di động này

1.2 Đối tượng và phạm vi nghiên cứu

Hình 1.1 mô tả một hệ thống đơn giản sử dụng đặc trưng sinh trắc học vào việc mã hóa dữ liệu

Trang 17

H nh 1.1 Mô h nh hệ thống mã hóa dữ liệu dùng đặc trưng sinh trắc học

1 B1: Thông thường, mẫu sinh trắc học đo đạc được không được dùng ngay

mà được xử lý qua một bước gọi là “trích xuất vector đặc trưng”, việc xử lý,

so sánh dựa trên các vector đặc trưng này dễ dàng và hiệu quả hơn so với dữ liệu thô ban đầu Ví dụ: vector đặc trưng của dấu vân tay là một tập các điểm đầu mút của đường vân tay trong ảnh chụp dấu vân tay

2 B2: Các vector đặc trưng này vẫn chưa phải là dữ liệu chính xác hoàn toàn, vẫn chưa thể dùng được cho các giải thuật mã hóa Bước này sẽ thực hiện quá trình sửa lỗi, loại bỏ những thành phần sai số và trích xuất ra thông tin cố định Nếu dữ liệu đầu vào là kết quả thu thập được trên cùng một đối tượng, kết quả đầu ra phải giống nhau

3 Kết quả của B2 có thể được dùng để sinh ra khóa hoặc bảo vệ một khóa khác, hoặc kết hợp với kết quả trích xuất của một đặc trưng sinh trắc học khác để mã hóa dữ liệu

Đề tài tập trung nghiên cứu và đề xuất phương pháp có thể áp dụng được cho B2 Mục tiêu của đề tài là xây dựng phương pháp để có thể áp dụng được trên thiết

bị di động Hiện tại, đối với hầu hết các thiết bị di động thông minh, chỉ có việc chụp ảnh gương mặt và ghi âm giọng nói là khả thi, các đặc trưng sinh trắc học khác như dấu vân tay hay mống mắt là gần như không thể Do đó, đề tài lựa chọn ảnh

B1

Vector đặc trưng B2

Mã hóa

Dữ liệu

Trang 18

gương mặt, dùng giải thuật Eigenfaces để trích xuất vector đặc trưng và xây dựng phương pháp để sửa lỗi và trích xuất dữ liệu cố định từ vector đặc trưng này

Hình 1.2 mô tả một cách tiếp cận khác trong việc sử dụng đặc trưng sinh trắc học vào hệ thống mã hóa [1, p 21] Trong cách tiếp cận này, khóa được sinh ra một cách ngẫu nhiên, sau đó kết hợp với đặc trưng sinh trắc học để bảo vệ khóa đó

H nh 1.2 Dùng đặc trưng sinh trắc học để bảo vệ khóa

Tuy thứ tự sử dụng khác nhau, nhưng về cơ bản, các giải thuật “Key binding” và

“Key retrieval” trong hình trên cũng phải chấp nhận được sự những sai số của đặc trưng sinh trắc học, giải quyết vấn đề sửa lỗi và trích xuất thông tin cố định từ thông tin có nhiễu tương tự như B2 trong mô hình ở Hình 1.1

Trang 19

1.3 Tóm tắt nội dung luận văn

Nội dung trình bày trong phần còn lại của luận văn bao gồm các phần sau:

 Chương 2 sẽ giới thiệu các công trình nghiên cứu tiêu biểu liên quan đến vấn

đề mã hóa dữ liệu dùng đặc trưng sinh trắc học

 Chương 3 tóm tắt các cơ sở lý thuyết và giải thuật được sử dụng trực tiếp trong việc xây dựng phương pháp và đánh giá của luận văn

 0 là phần chính, diễn giải phương pháp mà luận văn đề xuất

 Chương 5 trình bày kết quả thực nghiệm và so sánh với một phương pháp đơn giản khác

 Chương 6 nêu kết luận và đề xuất các hướng phát triển tiếp theo của đề tài

1.4 Danh mục từ viết tắt

FAR False Acceptance Rate: Tỷ lệ chấp nhận sai, là tỷ lệ một mẫu sinh

trắc học không hợp lệ (không phải của đối tượng đang xác thực) được chấp nhận

FRR False Rejection Rate: Tỷ lệ từ chối sai, là tỷ lệ một mẫu sinh trắc

học hợp lệ (của đối tượng đang xác thực) bị từ chối EER Equal Error Rate: Tỷ lệ lỗi cân bằng, trong các hệ thống bảo mật,

khi FAR tăng thì FRR giảm và ngược lại, để so sánh các hệ thống với nhau, người ta so sánh giá trị ERR ERR là tỷ lệ lỗi của hệ thống khi các thông số được xác định sao cho FAR=FRR

Trang 20

Chương 2 Các nghiên cứu liên quan

2.1 Hướng tiếp cận dùng mã sửa lỗi

A.Juels và M.Wattenberg [2], đã ứng dụng mã sửa lỗi vào việc bảo vệ khóa bằng đặc trưng sinh trắc học

Quá trình kiểm tra:

 Giả sử mẫu sinh trắc học được biểu diễn bằng một chuỗi n bit nhị phân

Trang 21

thay đổi không quá nếu đo đạc trên cùng một đối tượng Do đó,

để có thể áp dụng được phương pháp này vào thực tế, ta cần phải biến đổi đặc trưng sinh trắc học sao cho đáp ứng được giả định đó

A.Juels và M.Sudan [3] giới thiệu một khái niệm gọi là “Fuzzy Vault” Một bí mật

𝓴 đượ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 𝓴 bằng tập A:

 Bí mật được biểu diễn bởi một vector

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

 đượ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 bằng tập B:

Nếu phần giao nhau giữa tập B và tập A là đủ lớn, Q sẽ 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 𝓴 Ngược lại, quá trình giải mã Reed-Solomon sẽ cho ra kết quả khác

𝓴

Trang 22

2.1.3 Dodis et al – Fuzzzy Extractor (2008)

Y.Dodis et al [4] đã giới thiệu hai khái niệm “Secure Sketch” và “Fuzzy

Extractor”, do phương pháp được đề xuất trong luận văn này được xây dựng dựa trên khái niệm “Secure Sketch”, phần 3.4.5 sẽ trình bày chi tiết khái niệm này, bài báo cũng đưa ra phương pháp đánh giá mức độ bảo mật của “Secure Sketch” và

“Fuzzy Extractor” dựa trên khái niệm “Min Entropy”, khái niệm này cũng sẽ được trình bày chi tiết trong phần3.4.1

Bài báo xây dựng “Secure Sketch” cho 3 không gian metric khác nhau:

“Hamming”, “Set Different” và “Edit”, trong đó “Secure Sketch” dựa trên

“Hamming” là phương pháp nền tảng, “Set Different” và “Edit” được biến đổi để đưa về “Hamming” và sử dụng các phương pháp mã sửa lỗi dựa trên khoảng cách

“Hamming” Công trình của Y.Dodis trở thành nền tảng cho các nghiên cứu về sau

U.Martini và S.Beinlich [5] đưa ra mô hình dựa trên lý thuyết mã sửa lỗi như là một phần của dự án “Virtual PIN Based on Biometrics (ViPBoB)” được tài trợ bởi Liên Minh Châu Âu (EU) Hình 2.1 mô tả phương pháp của Martini, về cơ bản, nó giống như “Fuzzy Commitment” của A.Juels và M.Wattenberg [2] Tuy nhiên, U.Martini

đã giới thiệu một phương pháp biến đổi dấu vân tay thành một chuỗi bit để có thể được áp dụng cho mã sửa lỗi

Trang 23

H nh 2.1 Giải thuật liên kết khóa của Ullrich Martini và Stephan Beinlich

Y.Sutcu et al [6] đã giới thiệu một phương pháp khác để biến đổi dấu vân tay

thành một chuỗi bit nhị phân Mỗi một điểm đầu mút trên dấu vân tay (minutiae

point) được biểu diễn bởi 3 tham số: tọa độ x, y và góc φ cho biết hướng của đường

vân tay tại điểm đầu mút Như vậy, vector đặc trưng của dấu vân tay sẽ là một tập các điểm trong không gian 3 chiều Tiếp theo sau đó, một tập các hình khối lập phương (cuboid) được sinh ra một cách ngẫu nhiên, tương ứng với mỗi cuboid sẽ định ra một giá trị ngưỡng tùy vào thể tích của cuboid Nếu số điểm trong cuboid vượt quá ngưỡng tương ứng, giá trị tương ứng sinh ra sẽ là 1, ngược lại là 0

H nh 2.2 Thuật toán biến đổi vector đặc trưng của Yagiz Sutcu

Các phương pháp của Y.Dodis [4] dựa trên dữ liệu rời rạc (số nguyên) trong khi các vector đặc trưng của dữ liệu sinh trắc học thường ở dạng liên tục (số thực), do đó ta cần phải biến đổi chúng về dạng rời rạc bằng cách lượng tử hóa chúng Q.Li [7], đã đưa ra khái niệm “relative entropy loss” để đánh giá một cách tương đối lượng

Trang 24

entropy bị mất do hàm lượng tử hóa “relative entropy loss” cho biết giới hạn của lượng entropy cộng thêm nếu ta dùng một hàm lượng tử hóa tối ưu mặc dù rất khó

để xác định hàm lượng tử hóa tối ưu này

Feng Hao et al [8] đã sử dụng mã Reed-Solomon và mã Hadamard, trích xuất khóa

có chiều dài 140 bit từ dữ liệu mống mắt

Felix Fontein et al [9] đã xây dựng mã sửa lỗi có thể sửa được những lỗi xãy ra

trên một cụm các bit gần nhau cũng như lỗi xảy ra trên các bit riêng biệt Trên thực

tế, những lỗi theo cụm kiểu này thường xảy ra do một tác động mạnh nào đó từ môi trường, ví dụ vệt mờ trên camera, hoặc một xung điện có thể làm thay đổi giá trị của nhiều bit nằm gần nhau

2.2 Hướng tiếp cận không dùng mã sửa lỗi

Một trong những giải pháp mã hóa dùng đặc trưng sinh trắc học đầu tiên được

C.Soutar et al [10] giới thiệu vào năm 1999 Phương pháp được giới thiệu trong

bài báo có thể được tóm tắt trong 2 hình sau:

Trang 25

H nh 2.3 Quá tr nh mã hóa dựa trên thông tin sinh trắc học của Bioscrypt Inc

Quá trinh mã hóa trong Hình 2.3 có thể mô tả vắn tắt như sau:

 Tập dữ liệu sinh trắc học sau quá trình xử lý, kết hợp với một dãy số ngẫu

nhiên sẽ sinh ra 2 thành phần: H stored (u) là thành phần công khai sẽ được lưu vào Bioscypt, c0(x) là thành phần bí mật được dùng để liên kết với khóa

Giải thuật liên kết khóa liên kết c0(x) với khóa k0, kết quả được lưu vào Bioscrypt

Trang 26

H nh 2.4 Quá tr nh giải mã dữ liệu dựa trên thông tin sinh trắc học của Bioscrypt

Inc

Quá trình giải mã trong Hình 2.4 có thể mô tả vắn tắt như sau:

Tập dữ liệu sinh trắc học sau quá trình xử lý, kết hợp với H stored (u) sinh ra

Trang 27

hợp với một dãy số ngẫu nhiên, nên tính bí mật của dữ liệu sinh trắc học được đảm bảo

 Tuy nhiên giải thuật liên kết khóa và nhận lại khóa dựa trên phương pháp bầu chọn số đông, bài báo chưa đưa ra được mô hình toán học chứng minh được độ an toàn và đánh giá khả năng chịu nhiễu của giải thuật này Bên cạnh đó, các kết quả FAR và FRR cũng chưa được đo đạt và đánh giá

F.Monrose et al [11] đã giới thiệu một phương pháp để tăng cường bảo mật cho hệ thống đăng nhập bằng mật khẩu dựa trên việc phân tích thao tác gõ phím của người dùng lúc đăng nhập Lúc đăng ký, thao tác gõ phím của người dùng sẽ được phân tích và biến đổi thành một chuỗi bit nhị phân, chuỗi bit nhị phân này được ánh xạ thành một khóa bí mật, ánh xạ này được biểu diễn dưới dạng bảng và được mã hóa bằng chính mật khẩu người dùng nhập vào Lúc đăng nhập, nếu người dùng gõ đúng mật khẩu, bảng ánh xạ trên sẽ được giải mã, sau đó hệ thống sẽ phân tích thao tác gõ phím của người dùng, nếu giống với lần đầu tiên người dùng gõ lúc đăng ký, khóa sẽ được tái tạo lại chính xác Nói tóm lại, người dùng không những phải gõ đúng mật khẩu mà thao tác gõ cũng phải giống như lúc đăng ký

Dựa trên phương pháp đó, F.Monrose et al [12] đã phát triển một phương pháp

tương tự nhưng thay vì dùng thao tác gõ phím của người dùng, phương pháp mới dùng giọng nói Tín hiệu giọng nói của người dùng sẽ được chia ra thành từng đoạn, sau đó phân tích để sinh ra một dãy bit nhị phân (khoảng 15 bit), dãy bit nhị phân này lại được ánh xạ thành một khóa tương tự như phương pháp trên

Trang 28

Chương 3 Cơ sở lý thuyết 3.1 Mã sửa lỗi

Như đã trình bày trong Chương 2, hầu hết các phương pháp cổ điển được xây dựng dựa trên lý thuyết mã sửa lỗi (Coding Theory) và sử dụng các thành tựu trong ngành này Phần này sẽ giới thiệu các khái niệm cơ bản về lý thuyết mã

Lý thuyết mã (hay còn gọi là lý thuyết mã sửa lỗi) là một ngành học được khai sinh năm 1948 sau bài báo “A Mathematical Theory of Communication” của Shannon cùng với nghành lý thuyết thông tin Mục tiêu là giải quyết vấn đề truyền dữ liệu một cách hiệu quả và tin cậy trên các kênh truyền có nhiễu Nghiên cứu các phương pháp cho phép phát hiện lỗi xảy ra trên kênh truyền và phục hồi dữ liệu ban đầu một cách hiệu quả

Dữ liệu thường được truyền đi dưới dạng một chuỗi bit nhị phân, do đó lý thuyết

mã được xây dựng gắn liền với “Hamming metric” (khoảng cách “Hamming” thể hiện sự khác nhau giữa 2 chuỗi bit) Tuy nhiên, nguyên lý cơ bản của việc sửa lỗi có thể được áp dụng cho các không gian metric khác

Định nghĩa 3.1: Không gian Metric ℳ là một bộ 2 thành phần (M,d), trong đó:

M là một tập hợp (hữu hạn hay vô hạn)

d: M ×M → ℝ là hàm tính khoảng cách giữa 2 phần tử bất kỳ của M thỏa các

điều kiện:

o (3.1)

o (3.2)

o (3.3)

Trang 29

o (bất đẳng thức tam giác) (3.4)

Trong thực tế, có rất nhiều hàm tính khoảng cách khác nhau tùy vào đặc tính của đối tượng cần khảo sát Thông thường, tên của hàm tính khoảng cách cũng là tên của không gian Metric

Trang 30

Cho một tập hữu hạn A: gọi là tập ký tự (thường là tập các ký số nhị phân

n là chiều dài của mã

Định nghĩa 3.3: Khoảng cách Hamming của một mã được định nghĩa là khoảng cách Hamming tối thiểu giữa 2 từ mã:

(3.6) Khoảng cách Hamming có ý nghĩa quan trong trong việc phát hiện lỗi và sửa lỗi trong mô hình truyền thông của Shanon, một mã có khoảng cách Hamming tối thiểu

d min sẽ có khả năng phát hiện tối đa (d min –1) lỗi và sữa tối đa ((d min–1)/2) lỗi

Không gian mã A n và khoảng cách Hamming d H tạo thành không gian Metric Hamming ℳ=( An , d H ) Giả sử ta truyền đi một từ mã c C, nếu lỗi xảy ra trên d bit, bên nhận sẽ nhận được c’ với d H (c,c’)=d Nếu d ≤ d min –1 thì c’∉ C, bên nhận sẽ

biết được có lỗi xảy ra trên đường truyền

Khả năng sửa lỗi của mã C được mô phỏng bởi hình vẽ sau:

Trang 31

H nh 3.1 Mô phỏng khả năng sửa lỗi của một mã

Giả sử C chia không gian mã A n thành các tập con, mỗi tập con bao gồm một từ mã

c và các từ c’ sao cho d H (c,c’) ≤ (d min–1)/2, ta dễ dàng nhận thấy các tập con này

không giao nhau Như vậy mỗi từ c’ sẽ thuộc về nhiều nhất một tập con

Khi bên nhận nhận được c’, nếu ta giả sử lỗi xảy ra trên nhiều nhất là (d min–1)/2 bit

thì từ mã ban đầu bên gửi gửi đi là từ mã duy nhất của tập con chứa c’

Quá trình giải mã được định nghĩa là quá trình khôi phục lại từ mã ban đầu bên gửi gửi đi từ chuỗi bit mà bên nhận nhận được với giả định lỗi xảy ra trên nhiều nhất là

(d min–1)/2 bit

3.2 Phương pháp phân tích thành phần chính (PCA)

Trong các thực nghiệm khoa học cũng như các thống kê, các biến cố quan sát được

có thể có số chiều khá lớn, việc phân tích dữ liệu trên tập dữ liệu này gặp nhiều khó khăn Tuy nhiên, giá trị trên các chiều của các biến cố này thường có mối tương quan với nhau Phân tích thành phần chính (PCA) là một phương pháp toán học biến đổi một tập các biến cố đa chiều sang một hệ trục tọa độ trực giao mới sao cho giá trị trên các chiều là không tương quan tuyến tính với nhau, số chiều trong không gian mới có thể nhỏ hơn số chiều trong không gian ban đầu Trong không gian mới

Trang 32

này ta cũng có thể chọn bỏ đi một vài thành phần (chiều) mà không bị mất quá nhiều thông tin, chỉ giữ lại các thành phần chính, giúp cho việc phân tích dữ liệu được dễ dàng hơn

Phần này sẽ giới thiệu các khái niệm liên quan và ý nghĩa của phương pháp PCA, không đi sâu vào chi tiết hiện thực

Để hiểu rõ hơn về ý nghĩa của phương pháp PCA, ta xem xét một ví dụ sau đây

Ta xét một biến cố 2 chiều với tập giá trị quan sát được như sau:

x 2.5 0.5 2.2 1.9 3.1 2.3 2 1 1.5 1.1

y 2.4 0.7 2.9 2.2 3.0 2.7 1.6 1.1 1.6 0.9

Hình 3.2 [13] sau biểu diễn tập dữ liệu trên trong không gian 2 chiều

Trang 33

H nh 3.2 Biểu diễn dữ liệu quan sát được trong không gian 2 chiều

Ta dễ dàng thấy ràng khi x tăng thì y cũng có xu hướng tăng và ngược lại, hay nói cách khác, x và y có mối quan hệ tương quan với nhau

Ta chọn gốc tọa độ mới là giá trị trung bình của tập dữ liệu, sau đó xoay các trục tọa

độ như mô tả trong hình vẽ sau:

Trang 34

H nh 3.3 Biểu diễn dữ liệu quan sát được sau khi tịnh tiến gốc tọa độ

Giả sử ta chọn các đường thẳng nét đứt làm hệ trục tọa độ mới, tập dữ liệu được biểu diễn như hình sau:

Trang 35

H nh 3.4 Biểu diễn dữ liệu sau khi biến đổi trực giao

Việc xác định hệ trục tọa độ mới này sẽ được trình bày trong phần 3.2.3, ở đây ta chỉ giả sử như ta đã xác định được hệ trục tọa độ mới này và xem xét ý nghĩa của

Trong hệ trục tọa độ mới này, ta thấy:

Giá trị cách thành phần x và y không có mối tương quan với nhau

Giá trị trên trục x biến thiên nhiều hơn giá trị trên trục y

Phương pháp PCA được dùng để suy giảm số chiều của tập dữ liệu, Nếu ta loại bỏ

thành phần y, ta cũng không mất quá nhiều thông tin Dữ liệu sau khi loại bỏ thành phần y, sau đó biến đổi về hệ trục tọa độ ban đầu được biểu diễn trong Hình 3.5 Ta

Trang 36

thấy dữ liệu mới không quá khác (không mất quá nhiều thông tin) so với tập dữ liệu gốc ban đầu

H nh 3.5 Dữ liệu được khôi phục sau chỉ giữ lại thành phần chính

Như vậy, sau quá trình biến đổi trực giao và loại bỏ đi một số thành phần có trọng

số thấp, chỉ giữ lại những thành phần có trọng số cao (thành phần chính), ta có được một tập dữ liệu mới với số chiều ít hơn số chiều ban đầu mà không mất quá nhiều thông tin, giúp cho việc phân tích dữ liệu được dễ dàng hơn

Phần sau sẽ trình bày các bước cụ thể của phương pháp PCA

Ta xét một ví dụ sau đây:

Trang 37

[ ] [ ] [ ] (3.7)

[ ] [ ] [ ] [ ] (3.8)

Trong ví dụ (3 ) ta thấy kết quả của phép nhân ma trận không phải là bội của vector ban đầu Ngược lại, trong ví dụ (3.8) ta thấy kết quả phép nhân là bội của vector ban đầu Vector [ ] được gọi là một vector riêng (eigen vector) của ma trận

và 4 là trị riêng (eigen value) tương ứng

Định nghĩa 3.4:

v là vector riêng của ma trân A nếu và chỉ nếu ℝ

c là giá trị riêng tương ứng với vector v

Tính chất:

 Chỉ có ma trận vuông mới có vector riêng và không phải mọi ma trận vuông đều có vector riêng

Nếu một ma trận vuông n×n có vector riêng thì nó có n vector riêng

Nếu v là một vector riêng thì c×v (c ℝ) cũng là một vector riêng có cùng trị riêng với c

 Các vector riêng trực giao với nhau

Việc thay đổi độ dài (không thay đổi hướng) của một vector không làm ảnh hưởng đến tính chất “vector riêng” của nó, trong toán học, ta thường làm việc với vector riêng có độ dài là 1, gọi là “vector riêng chuẩn hóa” hay “vector riêng đơn vị”

Ví dụ, vector riêng đơn vị tương ứng với [ ] là

Trang 38

Việc tìm vector riêng đối với các ma trân có kính thước lớn (lớn hơn 3×3) đòi hỏi nhiều tính toán phức tạp [13] Luận văn này sẽ không trình bày phương pháp tìm vector riêng Trong thực tế có rất nhiều thư viện có thể giúp ta làm việc này

Phần này sẽ trình bày các bước của phương pháp PCA

Giả sử ta có tập dữ liệu n chiều được biểu diễn bởi (x1, x2, , x n)

Bước 1: Tính giá trị kỳ vọng và ma trận hiệp phương sai

̅ ̅ ̅ ̅ (3.9)

[

̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅

Bước 2: Tính các vector riêng đơn vị và trị riêng tương ứng của ma trận cov, sắp

xếp các trị riêng và vector riêng theo thứ tự giảm dần của trị riêng, biểu diễn các vector riêng dưới dạng cột, ghép các vector riêng lại ta được ma trận các vector riêng

(3.11) [ ] (3.12)

Trang 39

Như đã trình bày trong phần 3.2.2, các vector viêng này trực giao với nhau, nhưng quan trọng hơn, nó cho ta thấy các thành phần của dữ liệu thu thập được Mỗi một vector riêng tương ứng với một thành phần, vector riêng có trị riêng càng lớn, thành phần đó càng chứ nhiều thông tin

Ma trận vector riêng tương ứng với dữ liệu ví dụ trong phần 3.2.1 như sau:

[

] Bước 3: Chọn một số thành phần chính, số lượng thành phần sẽ là số chiều của dữ liệu sau phân tích PCA, tùy thuộc vào yêu cầu của ứng dụng, ta sẽ chọn số lượng thành phần phù hợp Các thành phần chính là các thành phần có trị riêng lớn nhất Giả sử trong ví dụ trên, ta chọn một thành phần chính

[

] Bước 4: Biến đổi dữ liệu

Với một giá trị quan sát được [ ]

Ta biến đổi thành: ̂ ̅ (3.13)

Ta có thể thực hiện phân tích dữ liệu trên giá trị sau khi đã biến đổi ̂ hoặc biến đổi

về hệ trục tọa độ ban đầu như bước 5

Bước 5: Biến đổi dữ liệu về hệ trục tọa độ ban đầu

̃ ̂ ̅ (3.14)

Trang 40

Trong đó là ma trận nghịch đảo của ma trận C Nếu C = eigenvector thì C-1=C T (ma trận chuyển vị của C) Ta có:

Trong ví dụ ở phần 3.2.1, giả sử ta chọn 1 thành phần chính, Hình 3.5 mô tả dữ liệu sau khi phục hồi

Ta thấy dữ liệu sau khi phục hồi nằm chính xác trên một đường thẳng, số chiều của

dữ liệu đã suy giảm xuống còn 1 chiều

3.3 Thuật toán nhận diện gương mặt Eigenfaces

Thuật toán Eigenfaces dựa trên phương pháp phân tích thành phần chính (PCA) như

đã trình bày trong phần 3.2 để biến đổi hình ảnh gương mặt thành một vector đặc trưng Việc nhận diện gương mặt được thực hiện dựa trên phép so sánh các vector đặc trưng này Hình 3.6 mô tả các giai đoạn của một hệ thống nhận diện gương mặt dùng Eigenfaces

Ngày đăng: 27/01/2021, 13:49

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm