Tải bản đầy đủ (.pdf) (93 trang)

nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.68 MB, 93 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

BK
TP.HCM



LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC


NGHIÊN CỨU SỬ DỤNG GIỌNG NÓI TRONG
XÁC THỰC VÀ MÃ HÓA DỮ LIỆU TRÊN THIẾT BỊ
DI ĐỘNG VÀ XÂY DỰNG HỆ THỐNG DEMO TRÊN
ANDROID


HỘI ĐỒNG: Hệ thống thông tin
GVHD: PGS. TS Đặng Trần Khánh
GVPB: ThS. Trương Quỳnh Chi

SVTH 1: Lê Phạm Tuyên(50802487)
SVTH 2: Dương Tử Huy(50800768)
SVTH 3: Lê Trảo Việt Cường(50800240)

TP. HỒ CHÍ MINH, THÁNG 12 NĂM 2012
ii

LỜI CẢM ƠN


Chúng em xin chân thành cảm ơn Khoa Khoa học và Kỹ thuật máy tính-trường
Đại học Bách Khoa đã tạo điều kiện cho chúng em thực hiện đề tài luận văn tốt
nghiệp này.
Chúng em xin gửi lời cảm ơn sâu sắc đến Thầy Đặng Trần Khánh đã rất tận
tình hướng dẫn chúng em trong suốt thời gian thực hiện đề tài, thầy đã cung cấp
không ít tài liệu cũng như cho chúng em những ý tưởng thú vị và đây những
động lực lớn lao để chúng em thực hiện luận văn này.
Chúng em xin chân thành cảm ơn đến các thầy, cô trong nhóm nghiên cứu
DSTAR đã cho chúng em những ý kiến đóng góp quý báu trong quá trình thực
hiện đề tài; xin gửi lời cảm ơn chân thành đến các Thầy và các Cô trong Khoa đã
truyền đạt cho chúng em những kiến thức bổ ích, giúp chúng em có được một
nền tảng lý thuyết và những kỹ thuật căn bản thiết yếu.
Chúng con xin được bày tỏ lòng biết ơn sâu sắc đối với ông bà, cha mẹ, người
luôn luôn quan tâm chăm sóc, cả về mặt vật chất lẫn tinh thần, giúp cho chúng
con yên tâm, tập trung vào công việc học tập và nghiên cứu.
Cuối cùng, xin được nói lời cảm ơn đến các anh chị, bạn bè đã giúp đỡ, khích
lệ cũng như phê bình, góp ý giúp chúng em hoàn thành công việc một cách tốt
nhất.

Tp. Hồ Chí Minh, 12/2012
SVTH
Lê Phạm Tuyên
Dương Tử Huy
Lê Trảo Việt Cường
iii

LỜI CAM ĐOAN

Chúng tôi xin cam đoan đây là công trình nghiên cứu của bản thân chúng tôi,
được xuất phát từ yêu cầu của luận văn cũng như mong muốn cá nhân. Các số

liệu, tư liệu, mã nguồn tham khảo có nguồn gốc rõ ràng tuân thủ đúng nguyên tắc
và kết quả trình bày trong luận văn thu thập được trong quá trình nghiên cứu là
trung thực chưa từng được ai công bố trước đây.
iv

TÓM TẮT

Trong luận văn này, chúng tôi trình bày nghiên về cứu sinh trắc học giọng nói
và việc sử dụng giọng nói để xác thực và mã hoá dữ liệu người dùng.
Một hệ thống xác thực điển hình gồm hai quá trình đăng ký và xác thực. Khi
sử dụng giọng nói làm thông tin để xác thực, hệ thống trải qua các bước sau đây:
 Quá trình đăng ký
o Thu dữ liệu giọng nói.
o Rút trích vector đặc trưng từ dữ liệu giọng nói.
o Sử dụng một giải thuật sửa lỗi để tạo ra thông tin trợ giúp, thông tin
này là duy nhất đối mỗi đặc trưng.
o Tạo khoá từ vector đặc trưng để sử dụng cho mã hoá và giải mã dữ
liệu.
 Quá trình xác thực
o Thu dữ liệu giọng nói
o Rút trích vector đặc trưng từ dữ liệu giọng nói.
o Khôi phục lại vector đặc trưng ban đầu bằng cách sử dụng cùng giải
thuật sửa lỗi và thông tin trợ giúp sinh ra ở quá trình đăng ký. Nếu
khôi phục thành công, xác thực thành công; ngược lại, xác thực thất
bại.
o Tạo khoá từ vector đặc trưng để sử dụng cho mã hoá và giải mã dữ
liệu.
Chúng tôi cũng trình bày một hệ thống đề nghị, sử dụng sinh trắc học giọng
nói để xác thực và mã hoá dữ liệu trên thiết bị di động sử dụng Android. Hệ
thống đã được kiểm tra trên 295 mẫu giọng nói (29 người) với tỉ lệ với tỉ lệ xác

thực thành công xấp xỉ 85%.

v

ABSTRACT

In this thesis, we present our research about using voice for authentication and
data encryption/decryption.
A typical authentication system involves two phases: enrollment and
authentication. When using voice as the trait for authentication, the following
steps are done:
 Enrollment
o Capture the voice signal
o Extract the feature vector from input signal
o Apply an Error Correction Algorithm on feature vector to generate the
unique helper data.
o Generate key from this feature vector for data encryption/decryption.
 Authentication
o Capture the voice signal
o Extract the feature vector from input signal
o Recover the original feature vector by applying the same Error
Correction Algorithm together with the helper data on the feature
vector. If the recover succeeds, the authentication succeeds;
otherwise fails.
o Generate key from this feature vector for data encryption/decryption.
We also present our proposed system which uses voice for authentication. This
system has been tested using our recorded audio library. The library contains 295
voice samples of 29 people. The correction rate of authentication is about 85%.

vi


MỤC LỤC

LỜI CẢM ƠN ii
LỜI CAM ĐOAN iii
TÓM TẮT iv
ABSTRACT v
MỤC LỤC vi
DANH MỤC CÁC TỪ VIẾT TẮT ix
DANH MỤC HÌNH x
DANH MỤC BẢNG xiii
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1
1.1 Gi ới thiệu 1
1.1.1 Định nghĩa sinh trắc học 1
1.1.2 Sự cần thiết của sinh trắc học 3
1.2 Mục tiêu đề tài 4
1.2.1 Nhiệm vụ 4
1.2.2 Những vấn đề không thuộc phạm vi đề tài 5
1.2.3 Phương pháp thực hiện 5
1.3 Bố cục luận văn 6
1.3.1 Chương 1: Giới thiệu đề tài 6
1.3.2 Chương 2: Cơ sở lý thuyết 6
1.3.3 Chương 3: Các nghiên cứu liên quan 6
1.3.4 Chương 4: Phân tích và thiết kế hệ thống 6
1.3.5 Chương 5: Tổng kết đánh giá 6
Chương 2: CƠ SỞ LÝ THUYẾT 7
2.1 Rút trích vector đặc trưng từ giọng nói 7
vii

2.1.1 Lấy mẫu giọng nói 7

2.1.2 Tiền xử lý mẫu giọng nói 10
2.1.3 Rút trích vector đặc trưng từ mẫu tín hiệu giọng nói 13
2.2 Kỹ thuật sửa lỗi 17
2.2.1 Kỹ thuật lặp (repetition) 17
2.2.2 Kỹ thuật kiểm tra chẵn lẻ 18
2.2.3 Mã Hamming 18
2.2.4 Mã sửa lỗi Reed Solomon 19
2.3 Tổng quan về mã hóa 28
2.3.1 Tổng quan 28
2.3.2 Các mô hình mã hóa và giải mã 32
CHƯƠNG 3: CÁC NGHIÊN CỨU LIÊN QUAN 38
3.1 Hệ thống mã hóa bằng cách tạo khóa dựa trên tròng mắt người 38
3.1.1 Mô hình hệ thống 38
3.1.2 Quá trình rút trích đặc trưng 39
3.1.3 Mã hóa và giải mã 41
3.1.4 Kết quả thực nghiệm và phân tích 42
3.2 Sinh trắc học khuôn mặt và phương pháp nhận dạng Eigenfaces . 43
3.2.1 Giới thiệu 43
3.2.2 Phương pháp Eigenfaces 44
CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 48
4.1 Phân tích, thiết kế hệ thống 48
4.1.1 Mô tả hệ thống 48
4.2 Các thành phần của hệ thống 52
4.2.1 Thành phần thu nhận giọng nói 52
4.2.2 Thành phần rút trích đặc trưng sinh trắc 53
4.2.3 Thành phần chuẩn hóa 56
viii

4.2.4 Thành phần sửa lỗi 58
4.2.5 Thành phần tạo khóa 59

4.2.6 Thành phần mã hóa và giải mã dữ liệu 59
4.3 Các quá trình của hệ thống 59
4.3.1 Quá trình đăng kí (Enrollment) 60
4.3.2 Quá trình xác thực hệ thống (Authentication) 60
4.3.3 Quá trình mã hóa và giải mã 61
Chương 5: TỔNG KẾT – ĐÁNH GIÁ 62
5.1 Kết quả thực nghiệm 62
5.1.1 Sử dụng giải thuật LPC để rút trích vector đặc trưng 62
5.1.2 Rút trích vector đặc trưng bằng giải thuật FFT 64
5.1.3 So sánh các kết quả thu được 68
5.2 Kết quả đạt được 70
5.2.1 Ưu điểm hệ thống 70
5.2.2 Nhược điểm hệ thống 70
5.3 Hướng phát triển 71
TÀI LIỆU THAM KHẢO 72
PHỤ LỤC 74
PHỤ LỤC 1: DEMO CHƯƠNG TRÌNH BIO-CRYPT-ANDROID 74
1. Yêu cầu và cài đặt 74
2. Demo các chức năng 74
2.1 Đăng ký thông tin 75
2.2 Xác thực người dùng 77
2.3 Mã hóa và giải mã 78
2.4 Phiên bản thu giọng nói trực tiếp 78
PHỤ LỤC 2: PHÂN CÔNG CÔNG VIỆC 80

ix


DANH MỤC CÁC TỪ VIẾT TẮT


LPC
Linear Predictive Code
FFT
Fast Fourier Transform
DFT
Discrete Fourier Transform
MFCC
Mel Frequency Cepstral Coefficient
PCM
Pulse Code Modulation
DSP
Digital Signal Processing
FRR
False Reject Rate
FAR
False Accept Rate
FMR
False Match Rate
FNMR
False Non-match Rate
ECC
Error Correction Code
PCA
Principle Component Analysis
MARF
Modular Audio Recognition Framework
DES
Data Encryption Standard
AES
Advanced Encryption Standard

RSA
Ron Rivest, AdiSharmir and Leonard Adleman
DSS
Digital Signature Standard
IDEA
International Data Encryption Algorithm

x

DANH MỤC HÌNH

Hình 2.1-1 Biểu diễn tín hiệu giọng nói theo thời gian 9
Hình 2.1-2 Mẫu tín hiệu giọng nói sau khi được chuẩn hóa 10
Hình 2.1-3 Mẫu tín hiệu giọng nói trước và sau khi khử khoảng lặng 11
Hình 2.1-4 Mẫu tín hiệu giọng nói theo miền tần số sau khi lọc lấy tần số thấp 12
Hình 2.1-5 Mô hình rút trích ra vector đặc trưng 13
Hình 2.1-6 Phân khung 14
Hình 2.1-7 Cửa sổ Hamming 15
Hình 2.1-8 Cửa sổ Hanning 15
Hình 2.1-9 Cửa sổ chữ nhật 15
Hình 2.2-1 Ánh xạ các phần tử cơ bản trong trường GF(8) 21
Hình 2.3-1 Mã hóa và giải mã 28
Hình 2.3-2 Mã hóa 29
Hình 2.3-3 Không gian khóa 30
Hình 2.3-4 Sơ đồ mã hóa khóa đối xứng 32
Hình 2.3-5 Sức mạnh của các giải thuật khóa đối xứng 34
Hình 2.3-6 Mô hình mã hóa sử dụng khóa bất đối xứng 35
Hình 2.3-7 Mô hình giải mã sử dụng khóa bất đối xứng 35
Hình 2.3-8 Các định dạng thông điệp 37
Hình 3.1-1 Mô hình hệ thống mã hóa 39


xi

Hình 3.1-2 Tiền xử lý tròng mắt 40
Hình 3.1-3 Hình ảnh được lọc 41
Hình 3.1-4 Đường cong FAR và FRR 42
Hình 3.2-1 Một số Eigenface 45
Hình 4.1-1 Mô hình use case của hệ thống 48
Hình 4.2-1 Rút trích vector đặc trưng bằng giải thuật LPC 54
Hình 4.2-2 Rút trích vector đặc trưng bằng giải thuật FFT 55
Hình 4.2-3 Cấu trúc MARF Framework 56
Hình 4.2-4 Phép biến đổi vector đặc trưng LPC 57
Hình 4.2-5 Phép biến đổi vector đặc trưng FFT 57
Hình 4.2-6 Encode trong R-S 58
Hình 4.2-7 Decode trong R-S 59
Hình 4.3-1 Quá trình đăng kí 60
Hình 4.3-2 Quá trình xác thực hệ thống 61
Hình 5.1-1 Đường cong FAR và FRR của giải thuật LPC 63
Hình 5.1-2 Sự phân bố của các thành phần vector vào 5 khoảng 64
Hình 5.1-3 Đường cong FAR và FRR của giải thuật FFT-32 65
Hình 5.1-4 Sự phân bố của các thành phần vector vào 20 khoảng 65
Hình 5.1-5 Đường cong FAR và FRR của giải thuật FFT-64 66
Hình 5.1-6 Sự phân bố của các thành phần vector vào 20 khoảng 67
Hình 5.1-7 Đường cong FAR và FRR của giải thuật FFT-128 68

xii

Hình 5.1-8 Sự phân bố của các thành phần vector vào 20 khoảng 68
Hình 5.1-9 So sánh các giải thuật với nhau 69
Hình 1-1 Giao diện ban đầu của chương trình 75

Hình 1-2 a) Giao diện chọn số sample. b) Giao diện chọn file 76
Hình 1-3 Giao diện confirm đăng ký lại thông tin 77
Hình 1-4 a) Giao diện quản lý file. b) Option menu 78
Hình 1-5 Màn hình thu giọng nói 79

xiii

DANH MỤC BẢNG

Bảng 2.2-1 Chuỗi dữ liệu sau khi được thêm vào các bit chẵn lẻ 18
Bảng 2.2-2 Quá trình kiểm tra tính đúng đắn chuỗi dữ liệu 19
Bảng 2.2-3 Thể vi ệc các phép toán cộng và nhân trong GF(8) 22
Bảng 3.1-1 FAR, FRR và ngưỡng T 43
Bảng 4.1-1 Mô tả use case “Enroll” 49
Bảng 4.1-2 Mô tả use case “Re-enroll” 49
Bảng 4.1-3 Mô tả Use-case “Login” 50
Bảng 4.1-4 Mô tả use case “Encrypt/Decrypt file” 51
Bảng 5.1-1 FAR và FRR của giải thuật LPC 63
Bảng 5.1-2 FAR và FRR của giải thuật FFT với vector đặc trưng 32 chiều 64
Bảng 5.1-3 FAR và FRR của giải thuật FFT với vector đặc trưng 64 chiều 66
Bảng 5.1-4 FAR và FRR của giải thuật FFT với vector đặc trưng 128 chiều 67

Chương 1: Giới thiệu đề tài

GVHD: Đặng Trần Khánh 1
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Giới thiệu
Mở đầu, đề tài sẽ trình bày một cách khái quát về sinh trắc học. Sinh trắc học
là gì, các phương thức sinh trắc, các yếu tố để chọn lựa phương thức sinh trắc.

Tiếp theo, đề tài sẽ trình bày tại sao và tầm quan trọng sử dụng sinh trắc học
trong các hệ thống xác thực và mã hóa.
1.1.1 Định nghĩa sinh trắc học
Sinh trắc học (biometrics) là phương pháp xác thực con người dựa trên các
đặc điểm sinh trắc [1]. Các đặc điểm sinh trắc này phải là riêng biệt và có thể
đánh giá tính toán được. Các đặc điểm sinh trắc được chia thành 2 loại: vật lý và
hành vi. Các sinh trắc vật lý thường liên quan đến khuôn mặt, dấu vân tay, giọng
nói… Các sinh trắc hành vi thường đề cập đến các hành vi con người: chữ kí,
dáng đi… Các phương thức sinh trắc:
 Khuôn mặt: Những hình ảnh tĩnh hoặc động của khuôn mặt được dùng để
nhận dạng. Những cách tiếp cận ngày nay dựa trên vị trí, hình dạng và
những mối quan hệ giữa các đặc điểm trên khuôn mặt như mắt, mũi, môi
và cằm… Tuy nhiên, quá trình nhận dạng dựa trên khuôn mặt cũng gặp thử
thách vì khuôn mặt sẽ thay đổi theo thời gian.
 Dấu vân tay: Mô hình của thung lũng và đồi núi trên bề mặt đầu ngón tay,
đã được sử dụng trong các lĩnh vực pháp lý từ hơn một thế kỉ. Dấu vân tay
được hình thành trong quá trình phát triển bào thai, và ngay cả những cặp
sinh đôi đồng nhất cũng không có cùng dấu vân tay. Hệ thống nhận dạng
có thể nhận dạng một dấu vân tay hoặc nhiều dấu vân tay. Hiệu suất hệ
thống sinh trắc sử dụng dấu vân tay thường cao và chính xác.
 Bàn tay: Đề cập đến hình dạng bàn tay, kích thước lòng bàn tay, và chiều
dài và chiều rộng các ngón tay. Ưu điểm của phương thức 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
Chương 1: Giới thiệu đề tài

GVHD: Đặng Trần Khánh 2
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
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 (Palm Print): Chỉ tay kết hợp các đặc trưng của dấu vân tay và bàn
tay. Chỉ tay chứa các vết lằn và rãnh giống dấu vân tay nhưng lớn hơn. Nó
cũng như dấu vân tay thường được sử dụng trong các hệ thống nhận dạng
pháp lý.
 Tròng mắt (Iris): là màng mỏng có màu hình tròn bao bọc con ngươi đủ
phức tạp để có ích trong việc nhận dạng. Hiệu suất hệ thống sử dụng
phương thức này đầy triển vọng. Tuy nhiên, mặc dù hệ thống dựa trên
tròng mắt rất tốt nhưng FMR, FNMR lại cao. Hơn nữa, tròng mắt thay đổi
theo thời gian, nhưng sự thay đổi này chưa được nghiên cứu nhiều.
 Giọng nói: Giọng nói kết hợp trực tiếp các đặc tính sinh trắc và hành vi.
Âm thanh con người nói dựa trên nhiều yếu tố vật lý của cơ thể (miệng,
mũi, môi, thanh quản…) và bị 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 tác
động đến hiệu suất.
 Chữ kí: Chữ kí con người thay đổi theo thời gian. Nó bị tác động mạnh bởi
các yếu tố bên ngoài bao gồm tình trạng sức khỏe, và cảm xúc của người
kí. Ngoài ra, chữ kí cũng tương đối dễ giả mạo. Tuy nhiên, chữ kí đã được
chấp nhận như một phương thức nhận dạng trong một thời gian dài.
 Dáng đi: Dáng đi cũng là một phương thức nhận dạng. Các hệ thống nhận
dạng dáng đi dựa trên quá trình xử lý hình ảnh để phát hiện hình bóng
người dùng và các thuộc tính thời gian không gian liên quan. Dáng đi bị tác
động bởi nhiều yếu tố, bao gồm sự lựa chọn giày dép, bề mặt đi, quần áo.
Các hệ thống nhận dạng dáng đi vẫn còn đang trong quá trình phát triển.
Hệ thống sinh trắc học là hệ thống xác thực người dùng sử dụng các đặc điểm
sinh trắc. Việc lựa chọn sinh trắc học nào để định danh người dùng phụ thuộc
vào các yếu tố sau đây:
 Tính phổ thông (Universality): mỗi người dùng hệ thống đều phải sở hữu
đặc điểm sinh trắc cụ thể.
 Tính duy nhất (Uniqueness): các đặc điểm sinh trắc phải khác nhau và duy

nhất.
Chương 1: Giới thiệu đề tài

GVHD: Đặng Trần Khánh 3
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
 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 giản. Cụ thể hơn, 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ể.
 Sự đ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.
 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.
 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.
 Sự giả mạo (Circumvention): các đặc điểm sinh trắc phải đủ khó để có thể
giả mạo.
Tuy nhiên, các hệ thống sinh trắc không nhất thiết phải tương tác với tất cả
mọi người trong thời gian dài, chúng chỉ cần tương tác với một nhóm người nhỏ
trong thời gian ngắn. Do đó có thể tìm được các đặc điểm sinh trắc đủ ổn định và
phân biệt để sử dụng trong thực tế.
1.1.2 Sự cần thiết của sinh trắc học
Ngày nay, thiết bị di động đã trở thành vật không thể thiếu trong cuộc sống
hằng ngày của mỗi người và dần thay thế các thiết bị truyền thống như máy tính
cá nhân. Theo đó, thiết bị di động sẽ chứa đựng một lượng ngày càng nhiều dữ
liệu cá nhân của người dùng. Vì vậy, nhu cầu bảo mật trên những dữ liệu này trở
nên quan trọng.
Nắm bắt được nhu cầu đó, nhiều phần mềm đã được xây dựng trên thiết bị
di động để mã hóa dữ liệu của người dùng. Phần lớn những phần mềm này đều
sử dụng cách tiếp cận truyền thống là sử dụng một mật khẩu kết hợp với các

phương pháp mã hóa để mã hóa dữ liệu. Với cách tiếp cận này, người sử dụng
phải ghi nhớ mật khẩu của mình trong đầu hoặc ghi vào một nơi nào đó. Nếu mật
khẩu quá dài thì sẽ khó cho người sử dụng có thể nhớ. Ngược lại, nếu mật khẩu
quá ngắn thì phần mềm dễ bị crack. Mặc khác, với cách tiếp cận sử dụng mật
khẩu này, dữ liệu dùng để xác thực phải được lưu vào một chỗ đó trên thiết bị và
Chương 1: Giới thiệu đề tài

GVHD: Đặng Trần Khánh 4
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
nếu hacker có thể lấy được dữ liệu này thì việc mã hóa giải mã dữ liệu người
dùng trở nên dễ dàng.
Có hai vấn đề cần phải giải quyết ở đây là làm sao người sử dụng không
cần phải nhớ mật khẩu của mình nữa và dữ liệu xác thực dù có bị hacker đánh
cắp cũng không thể nào sử dụng được. Với yêu cầu đó, các hệ thống sinh trắc
học đã ra đời để giải quyết vấn đề trên. Để truy cập vào hệ thống, người dùng
phải dùng thông tin sinh trắc của mình để xác thực thay vì nhập mật khẩu. Do đó,
người dùng không còn phải nhớ và sợ người khác biết mật khẩu của mình.
Thông tin sinh trắc này không những được dùng để xác thực mà còn mã hóa dữ
liệu. Ngoài ra, hệ thống chỉ lưu giữ các thông tin công khai (public data) được
dùng để trong quá trình xác thực người dùng. Nếu hacker có thể đánh cắp được
thiết bị thì cũng không thể khai thác được thông tin gì từ thông tin này. Do đó
không thể giải mã được những thông tin mật đã được mã hóa của người dùng.
1.2 Mục tiêu đề tài
Trong phần này đề tài sẽ nêu ra nhiệm vụ cơ bản cụ thể, phạm vi của đề tài-
đó là những gì phải làm và những gì không thuộc phạm vi của đề tài
1.2.1 Nhiệm vụ
Luận văn này trình bày cho người đọc những kiến thức cơ bản và chuyên sâu
về quá trình xác thực và mã hóa bằng các thông tin sinh trắc, xây dựng một bức
tranh tổng quát về hệ thống có áp dụng sinh trắc học trên thiết bị di động.
Thứ nhất: đề tài sẽ tập trung xây dựng một hệ thống xác thực và mã hóa dữ

liệu tổng quát, mô tả đầy đủ các thành phần của hệ thống. Đề tài sử dụng giọng
nói làm phương thức sinh trắc để xác thực và mã hóa dữ liệu vì hầu hết thiết bị di
động ngày nay đều có thiết bị thu nhận giọng nói. Ngoài ra, dùng giọng nói thuận
tiện cho người sử dụng hơn các phương thức sinh trắc khác.
Thứ hai: xây dựng hệ thống trên thiết bị di động có hệ điều hành Android. Vì
các điện thoại thông minh (smartphones) sử dụng hệ điều hành Android hiện nay
chiếm tỉ lệ rất cao. Ngoài ra, hệ điều hành Android là hệ điều hành mã nguồn mở,
ta có thể cài đặt hệ thống lên thiết bị một cách dễ dàng.
Chương 1: Giới thiệu đề tài

GVHD: Đặng Trần Khánh 5
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
Những lý thuyết phải tìm hiểu qua:
 Những kỹ thuật để rút trích ra vector đặc trưng
 Kỹ thuật sửa lỗi
 Mã hóa - mã hóa đối xứng, bất đối xứng, các giải thuật mã hóa
 Kỹ thuật băm (hash) - dùng để tạo khóa
 Hệ điều hành android
1.2.2 Những vấn đề không thuộc phạm vi đề tài
Hiện tại, phạm vi nghiên cứu của đề tài phần lớn tập trung vào việc xây dựng
một hệ thống xác thực và mã hóa dữ liệu và tạo ra một ứng dụng có hệ thống
sinh trắc này trên thiết bị di động. Đề tài sẽ không quá tập trung vào các vấn đề
nghiệp vụ của hệ thống cũng như xây dựng một ứng dụng thật sự hoàn chỉnh vì
đây là quá trình rất lâu dài cần nhiều kỹ thuật và kinh nghiệm tốt trong việc thiết
kế và lập trình di động.
Hơn nữa, cái mà đề tài muốn nhấn mạnh đó là vấn đề xác thực và mã hóa dữ
liệu chứ không phải là vấn đề làm sao để có một ứng dụng di động hoàn chỉnh vì
điều này nằm ở một khía cạnh khác.
1.2.3 Phương pháp thực hiện
Dựa vào thông tin từ những bài báo cáo nghiên cứu khoa học, những eBooks,

những website đáng tin cậy, chúng tôi tìm hiểu, phân tích và lựa chọn giọng nói
làm phương thức sinh trắc cho hệ thống. Tất cả những thông tin sử dụng đều là
những thông tin hợp pháp, được phép sử dụng cho mục đích học tập và nghiên
cứu.
Dựa vào những công nghệ có sẵn như Java, hệ điều hành Android, các kỹ
thuật sửa lỗi, các kỹ thuật mã hóa(đối xứng, bất đối xứng) để xây dựng một ứng
dụng xác thực và mã hóa dữ liệu trên thiết bị di động Android.
Chương 1: Giới thiệu đề tài

GVHD: Đặng Trần Khánh 6
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
1.3 Bố cục luận văn
1.3.1 Chương 1: Giới thiệu đề tài
Giới thiệu về đề tài, tóm tắt mục tiêu, nhiệm vụ, phương pháp thực hiện của đề
tài. Chương giới thiệu một cách tổng quát về sinh trắc học và các phương thức
sinh trắc.
1.3.2 Chương 2: Cơ sở lý thuyết
Chương này trình bày cơ sở lý thuyết về vấn đề xác thực và mã hóa dữ liệu
bằng giọng nói. Các kỹ thuật rút trích thông tin từ giọng nói, tổng quan về mã
hóa, và các kỹ thuật sửa lỗi. Các lý thuyết này được áp dụng vào quá trình hiện
thực chương trình của đề tài.
1.3.3 Chương 3: Các nghiên cứu liên quan
Vấn đề sinh trắc học đã được nghiên cứu từ lâu. Các nhà khoa học đã nghiên
cứu và ứng dụng nhiều loại phương thức sinh trắc vào các hệ thống sinh trắc
này. Chương này trình bày một số nghiên cứu liên quan đến vấn đề xác thực và
mã hóa dữ liệu bằng các đặc điểm sinh trắc.
1.3.4 Chương 4: Phân tích và thiết kế hệ thống
Trình bày cụ thể về việc hiện thực chương trình. Bao gồm các sơ đồ phân tích
chức năng hệ thống, các thành phần trong chương trình, giải thích về cách thức
hoạt động của các thành phần.

1.3.5 Chương 5: Tổng kết đánh giá
Trình bày phương pháp thực nghiệm và kết quả thực nghiệm. Một số đánh giá
về kết quả thực nghiệm. Phân tích ưu nhược điểm của chương trình. Một số kết
luận và hướng mở rộng của đề tài.
Chương 2: Cơ sở lý thuyết

GVHD: Đặng Trần Khánh 7
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
Chương 2: CƠ SỞ LÝ THUYẾT

Ở chương này, chúng tôi tập trung vào các kỹ thuật được dùng để hiện thực
đề tài luận văn - hệ thống xác thực và mã hóa dữ liệu trên thiết bị di động sử
dụng giọng nói. Nội dung được trích dẫn và sàng lọc từ các tài liệu [2] [3]
2.1 Rút trích vector đặc trưng từ giọng nói
Giọng nói từ lâu đã là phương tiện giúp mọi người có thể giao tiếp, trao đổi
thông tin với nhau. Ở khía cạnh loài người, giọng nói có thể giúp người nghe xác
định chính xác người đang nói là ai, hoặc ít nhất là phân biệt người đó là nam
hay nữ bằng cách ghi nhận lại những đặc trưng của giọng nói kết hợp với khả
năng phán đoán suy luận. Còn trong hệ thống máy tính, việc phân biệt người này
với người khác bằng giọng nói chỉ đơn giản là thu lại tín hiệu giọng nói sau đó
biến đổi nó dựa vào một trong những đặc trưng vốn có của giọng nói như miền
tần số, miền năng lượng, đặc trưng các hệ số cepstral tần số Mel (MFCC), đặc
trưng mã dự đoán tuyến tính (LPC) …
Tương ứng với mỗi đặc trưng của giọng nói ta thu được một vector đặc
trưng. Vector đặc trưng này giúp giảm số lượng dữ liệu của giọng nói, giúp việc
tính toán trong hệ thống giảm đi đáng kể. Bên cạnh đó, việt rút trích đặc trưng
còn làm rõ sự khác biệt của tiếng nói người này so với người khác và làm mờ đi
sự khác biệt của hai lần nói khác nhau của cùng một người. Trong giới hạn của
luận văn không đi sâu vào việc phân tích chi tiết từng đặc trưng sinh trắc của
giọng nói mà chỉ xin đưa ra các kỹ thuật cơ bản để rút trích ra được các vector

đặc trưng cùng với những kỹ thuật tiền xử lý tín hiệu giọng nói. Những kỹ thuật
này sẽ được giới thiệu theo trình tự từ lúc thu mẫu tín hiệu giọng nói cho đến lúc
rút trích được một vector đặc trưng.
2.1.1 Lấy mẫu giọng nói
Mục đích của bước này là làm sao chuyển giọng nói của người sử dụng thành
một dạng thông tin mà máy tính có thể xử lý. Chất lượng của giọng nói thu lại có
Chương 2: Cơ sở lý thuyết

GVHD: Đặng Trần Khánh 8
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
ảnh hưởng rất lớn đến kết quả phân tích giọng nói sau này. Những yếu tố ảnh
hưởng đến chất lượng của mẫu giọng nói thu được bao gồm:
2.1.1.1 Nhân tố bên ngoài
Môi trường xung quanh khu vực thu giọng nói có ảnh hưởng lớn đến chất
lượng của tín hiệu giọng nói. Thường khi giọng nói được thu, nó lẫn vào trong đó
âm thanh nền của những vật xung quanh. Việc loại bỏ chúng ra khỏi âm thanh
gốc sẽ giúp chất lượng âm thanh được tốt hơn.
Chất lượng của thiết bị thu nhận âm cũng là một yếu tố góp phần tăng chất
lượng của mẫu tín hiệu giọng nói. Một số thiết bị cao cấp còn chức năng giúp lọc
bớt những tín hiệu được cho là âm thanh nền, gây nhiễu.
Trạng thái, thái độ hợp tác của người nói lúc đó cũng ảnh hưởng đến chất
lượng giọng nói thu được. Giọng nói lúc người nói ở trạng thái bình thường với
trạng thái lúc không bình thường (ốm, viêm họng…) sẽ có những khác biệt nhất
định. Mặc khác khi người nói vẫn trong trạng thái bình thường nhưng lại cố tình
làm cho giọng nói gốc của mình khác đi bằng cách giả giọng thì mẫu tín hiệu
giọng nói thu được cũng bị ảnh hưởng rất nhiều.
Việc xác định những nhân tố bên ngoài gây ảnh hưởng giúp ta có thể đưa ra
những điều kiện ban đầu cho người nói, về môi trường và về thiết bị để có thể
thu được mẫu tín hiệu tốt hơn.
2.1.1.2 Nhân tố bên trong

Tín hiệu giọng nói là một dạng của tín hiệu âm thanh và khi muốn lưu vào
thiết bị lưu trữ để lưu trữ thì cũng phải theo một chuẩn mã hóa nào đó để khi các
chương trình đọc dữ liệu lên có thể hiểu. Những chuẩn mã hóa này gọi là Định
dạng của âm thanh (Audio Format). Đơn giản nhất là chuẩn mã hóa PCM dùng
cho WAV file. Trong kỹ thuật này, tín hiệu giọng nói thu được sẽ được biểu diễn
như một chuỗi của những giá trị cường độ (amplitude). Phạm vi của giá trị biên
phụ thuộc vào thông số kích thước mẫu (sample size). Với kích thước mẫu là
16-bit, thì phạm vi của giá trị cường độ nằm trong khoảng từ 0 – 2
16
(65536). Khi
sử dụng chuẩn mã hóa PCM-signed thì phạm vi này sẽ nằm trong khoảng từ -2
15

(32768) đến 2
15
(32768). Với kích thước mẫu này giá trị cường độ sẽ được biểu
Chương 2: Cơ sở lý thuyết

GVHD: Đặng Trần Khánh 9
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
diễn ở một khoảng rộng hơn so với khi chọn kích thước mẫu là 8-bit ( giá trị
cường độ chỉ nằm trong khoảng từ [-128, 128] ). Vì vậy kích thước mẫu 16-bit
được chọn để thu được mẫu giọng nói có chất lượng tốt hơn.
Tần số lấy mẫu (sample rate) của một file âm thanh nói đến số giá trị
cường độ thu được trong một đơn vị thời gian (thường là giây). Theo lý thuyết
Nyquist, tần số lấy mẫu phải ít nhất gấp hai lần tần số tối đa của tín hiệu tuần tự,
Ngược lại, tín hiệu tuần tự sẽ không tạo ra được tín hiệu số một cách chính xác.
Một ví dụ đơn giản là nếu tần số mẫu được chọn là 8000Hz, thì tần số của tín
hiệu tuần tự của mỗi mẫu bị giới hạn có 4000Hz. Với giọng nói bình thường của
con người có tần số từ 300 Hz đến 3400 Hz thì tần số lấy mẫu 8000 Hz có thể

chấp nhận được.
Số kênh âm thanh (number of channel) cũng là một thành phần trong việc
thu lại mẫu tín hiệu giọng nói và không ảnh hưởng đến đầu vào của tín hiệu
giọng nói. Nó chỉ ảnh hưởng đến đầu ra của tín hiệu giọng nói. Một số loại kênh
cơ bản thường gặp là mono (tín hiệu âm thanh như nhau giữa các nguồn phát)
hay stereo (tín hiệu âm thanh khác nhau giữa các nguồn phát). Để đơn giản
trong việc xử lý tín hiệu giọng nói thì kênh mono được sử dụng. Hình sau mô tả
biểu diễn của tín hiệu giọng nói theo thời gian.

Hình 2.1-1 Biểu diễn tín hiệu giọng nói theo thời gian
Chương 2: Cơ sở lý thuyết

GVHD: Đặng Trần Khánh 10
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
2.1.2 Tiền xử lý mẫu giọng nói
Chất lượng của tín hiệu giọng nói thu được có thể được cải thiện thông qua
các giải thuật tiền xử lý. Một số kỹ thuật là yêu cầu bắt buộc trước khi tiến hành
rút trích thông tin sinh trắc như chuẩn hóa (normalization), khử nhiễu (remove
noise), khử khoảng lặng (remove silence). Cũng có những kỹ thuật chỉ được áp
dụng cho từng giải thuật rút trích đặc thù tùy thuộc vào giải thuật đó dựa trên đặc
điểm sinh trắc nào của giọng nói.
2.1.2.1 Chuẩn hóa (Normalization)
Không phải tất cả các mẫu giọng nói đều được thu ở cùng một trạng thái. Ví
dụ một người lúc nói lớn, nói nhỏ, thiết bị thu âm lúc đặt gần lúc đặt xa. Điều này
làm cho cường độ giọng nói thu được có giá trị nằm trong một khoảng không
đồng nhất với nhau. Vì vậy, việc chuẩn hóa dữ liệu cho mẫu giọng nói để đảm
bảo rằng các đặc trưng có thể so sánh được với nhau là hết sức quan trọng. Khi
dữ liệu âm thanh được chuyển sang hết các giá trị dấu chấm động nằm trong
khoản từ -1 đến 1. Việc chuẩn hóa được tiến hành bằng cách tìm cường độ âm
lớn nhất trong mẫu tín hiệu giọng nói rồi sau đó lấy tỉ lệ những cường độ âm

khác trong mẫu tín hiệu giọng nói với cường độ âm này. Việc này sẽ đảm bảo
rằng mỗi mẫu tín hiệu sẽ thật sự bao phủ toàn bộ khoảng từ -1 đến 1. Hình sau
mô tả dữ liệu trước và sau khi chuẩn hóa

Hình 2.1-2 Mẫu tín hiệu giọng nói sau khi được chuẩn hóa
Chương 2: Cơ sở lý thuyết

GVHD: Đặng Trần Khánh 11
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
2.1.2.2 Khử khoảng lặng (Remove silence)
Khoảng lặng là những khoảng trong mẫu tín hiệu giọng nói mà người nói
không nói gì. Nó không có ý nghĩa trong rút trích vector đặc trưng giọng nói, đôi
khi lại kèm theo nhiễu nên việc loại bỏ nó khỏi mẫu tín hiệu giọng nói là việc cần
thiết. Thường cường độ của khoảng lặng của khoảng lặng rất thấp (xấp xỉ 0) nên
cách để loại bỏ nó ra khỏi mẫu tín hiệu là loại đi những phần tử tín hiệu có cường
độ nhỏ hơn một ngưỡng cường độ nào đó cho trước (ngưỡng này xấp xỉ 0).
Phần còn lại được xem là phần âm thanh do người nói phát ra và có thể đưa vào
một số giải thuật tiền xử lý khác cho ra kết quả cuối cùng tốt hơn.

Hình 2.1-3 Mẫu tín hiệu giọng nói trước và sau khi khử khoảng lặng
2.1.2.3 Khử nhiễu (Remove noise)
Lẫn trong mẫu tín hiệu giọng nói cũng chứa đựng các tín hiệu không mong
muốn khác chẳng hạn như tiếng nói của những người xung quanh, của xe cộ
chạy ngoài đường. Các tín hiệu này làm giảm đáng kể chất lượng của tín hiệu.
Có nhiều phương pháp để loại bỏ nhiễu khỏi mẫu tín hiệu dựa vào một số đặc
trưng nhất định. Trong số đó là kỹ thuật sử dụng một bộ lọc tín hiệu dựa vào tần
số thấp (FFT Low – Pass Filter). Công việc của bộ lọc này là biến đổi mẫu tín
hiệu giọng nói từ miền thời gian sang miền tần số rồi sau đó đơn giản loại bỏ
những giá trị tần số lớn hơn một ngưỡng nào đó cho trước. Giọng nói bình
thường của con người chỉ quanh quẩn quanh khoảng tần số từ 300Hz đến

Chương 2: Cơ sở lý thuyết

GVHD: Đặng Trần Khánh 12
SVTH: Lê Phạm Tuyên – Dương Tử Huy – Lê Trảo Việt Cường
3400Hz nên những âm thanh thu được ở khoảng tần số trên 3400 sẽ chỉ là
những tín hiệu nhiễu thu được cần phải được loại bỏ.

Hình 2.1-4 Mẫu tín hiệu giọng nói theo miền tần số sau khi lọc lấy tần số thấp
2.1.2.4 Giải thuật dò tìm điểm cuối (End-point detection)
Dò tìm điểm cuối là một kỹ thuật cố gắng tìm ra chính xác khi nào người ta bắt
đầu và kết thúc nói. Nó còn được dùng để xác định khi mà người ta không thật
sự nói gì hoặc nói những điều không mong đợi. Khi đó, dò tìm điểm cuối giúp
giảm một số lượng dữ liệu cần phải xử lý, dẫn đến giảm tải việc tính toán. Tuy
nhiên, việc dò tìm điểm cuối không dễ như người ta tưởng, bởi vì có sự tồn tại
của tiếng ồn nền, tiếng nói nền. Việc xác định điểm cuối dựa vào giá trị cường độ
của dữ liệu thu được. Có bốn trường hợp được xem là điểm cuối:
 Điểm đầu hoặc điểm cuối của mẫu tín hiệu giọng nói.
 Những điểm có cường độ cao hơn những điểm còn lại xung quanh nó (max
local)
 Những điểm có cường độ thấp hơn những điểm còn lại xung quanh nó (min
local)
 Những điểm có cường độ bằng những điểm xung quanh nó.

×