ĐẠ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
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
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
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
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
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.
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
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ữ
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.
đặ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
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
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ó.