Mở đầu Hiện nay, việc xác thực con người tự động được ứng dụng rộng rãi trong nhiều lĩnh vực của cuộc sống cũng như sử dụng trong các cơ quan hành pháp để nhận biết thông tin tội phạm,
Trang 1LỜI CẢM ƠN
Trước tiên, chúng tôi xin chân thành gửi lời cảm ơn tới các thầy cô giáo trong Trường Đại học Lạc Hồng nói chung và các thầy cô giáo trong Khoa Công nghệ thông tin nói riêng đã tận tình giảng dạy, truyền đạt cho chúng tôi những kiến thức cũng như kinh nghiệm quý báu trong suốt quá trình học - hành
Đặc biệt, chúng tôi gửi lời cảm ơn đến Thạc sĩ Phan Mạnh Thường, thầy đã tận tình theo sát giúp đỡ, trực tiếp chỉ bảo, hướng dẫn trong suốt quá trình nghiên cứu khoa học Trong thời gian làm việc với thầy, nhóm tác giả không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả Đây là những điều rất cần thiết cho chúng tôi trong quá trình học tập và công tác sau này
Khoa Công nghệ thông tin đã cung cấp những thông tin, tài liệu, văn bản liên quan
và tận tình chỉ bảo những vướng mắc cơ sở dữ liệu trong suốt quá thực hiện đề tài
Và cuối cùng, chúng tôi luôn nhớ ơn các bậc sinh thành, các anh chị em trong gia đình, những bạn hữu, người luôn sát cánh khuyến khích, động viên và cho chúng tôi tinh thần học tập và nghiên cứu cao độ
Biên Hòa, tháng 11 năm 2012 Những người thực hiện
NGUYỄN THANH NGỌC – DƯƠNG MINH TÂN
Trang 2Mục Lục
PHẦN MỞ ĐẦU 1
1 Mở đầu 1
2 Thực trạng các chương trình đã có 2
2.1 Trên thế giới 2
2.2 Trong nước 5
2.3 Ưu khuyết điểm của các hệ thống trên 5
3 Mục tiêu nghiên cứu 6
4 Những đóng góp mới của đề tài 6
5 Kết cấu của đề tài 7
CHƯƠNG 1: TỔNG QUAN VỀ MÃ QR 9
1.1 QR là gì? 9
1.2 Khả năng lưu trữ và sữa chữa lỗi của mã QR 10
1.2.1 Khả năng lưu trữ dữ liệu 10
1.2.2 Khả năng sửa lỗi 10
1.3 Cấu trúc mã QR 11
1.3.1 Finder Pattern 11
1.3.2 Alignment Pattern 11
1.3.3 Timing Pattern 11
1.3.4 Format Data 11
1.3.5 Version Data 12
1.3.6 Data and Error Correction 12
1.3.7 Mandatory Blank Space 12
1.4 Tạo mã QR 13
1.5 Đọc mã QR từ webcam 16
1.6 Kết luận chương 1 18
CHƯƠNG 2: CÁC GIAI ĐOẠN XỬ LÝ VÂN TAY 19
2.1 Một số đặc trưng vân tay 19
2.2 Phương pháp rút trích đặc trưng 21
2.2.1 Chuẩn hóa đường vân 22
2.2.2 Xác định trường định hướng 23
2.2.3 Tăng cường ảnh vân tay 25
Trang 32.2.4 Nhị phân hóa 26
2.2.5 Làm mảnh đường vân 27
2.2.6 Rút trích đặc trưng 28
2.2.7 Loại bỏ điểm đặc trưng sai 29
2.3 Kết luận chương 2 30
CHƯƠNG 3: GIẢI PHÁP VÀ HOÀN THIỆN 31
3.1 Quy trình thực hiện chương trình 31
3.1.1 Quy trình lấy mẫu vân tay 31
3.1.2 Quy trình xác thực vân tay 32
3.2 Giao diện chương trình 34
3.2.1 Giao diện lấy mẫu vân tay 34
3.2.2 Giao diện xác thực vân tay 35
3.3 Kết luận chương 3 35
KẾT LUẬN 36
Trang 4Mục lục hình ảnh
Hình 1: đầu đọc vân tay BioPointe KFR 72 3
Hình 2: usb tích hợp đầu đọc của hãng A-DATA 3
Hình 3: khóa tích hợp đầu đọc của hãng FSCLOCK 4
Hình 4: khóa mở của của hãng ADEL 4
Hình 5: thiết bị đầu đọc vân tay của hãng SID Protect 5
Hình 6: Các giai đoạn xử lý của hệ thống xác thực vân tay hiện nay 6
Hình 7: các giai đoạn xử lý của hệ thống xác thực vân tay bằng mã QR 7
Hình 1.1: một hình mã QR 9
Hình 1.2: mã QR đã mất nét nhưng vẫn đọc được 10
Hình 1.3: cấu trúc mã QR 11
Hình 1.4: Thông tin phiên bản QR 12
Hình 1.5: Add Reference 13
Hình 1.6: Lựa chọn dll cần add 14
Hình 1.7: Những thuộc tính có trong control 15
Hình 1.8: Sau khi add class vào solution 16
Hình 1.9: demo gói giao diên SDK QuickMark 17
Hình 2.1: vân lồi và vân lõm trên một ngón tay 19
Hình 2.2: điểm đặc biệt và điểm core 20
Hình 2.3: 5 phân lớp chính của vân tay 20
Hình 2.4: các loại đặc trưng phổ biến 21
Hình 2.5: hình b là ảnh âm của hình a 21
Hình 2.6: lược đồ các bước tiền rút trích đặc trưng 22
Hình 2.7: minh họa việc phân đoạn và chuẩn hóa vân tay 23
Hình 2.8: mặt nạ toán tử sobel dùng để tính gradient 24
Hình 2.9: trường đinh hướng đường vân 25
Trang 5Hình 2.10: ảnh vân tay sau khi được tăng cường 26
Hình 2.11: ảnh sau khi nhị phân 27
Hình 2.12: tính chất 8-simple của pixel P 28
Hình 2.13: ảnh sau khi làm mảnh đường vân 28
Hình 2.14: các trường hợp của P 29
Hình 2.15: ảnh loại bỏ minutiae sai 30
Hình 3.1: quy trình lấy mẫu 31
Hình 3.2: Quy trình so khớp vân tay 33
Hình 3.3: Giao diện lấy vân tay và ghi chuỗi vào mã QR 34
Hình 3.4: Giao diện so khớp vân tay 35
Trang 6PHẦN MỞ ĐẦU
1 Mở đầu
Hiện nay, việc xác thực con người tự động được ứng dụng rộng rãi trong nhiều lĩnh vực của cuộc sống cũng như sử dụng trong các cơ quan hành pháp để nhận biết thông tin tội phạm, chẳng hạn nhúng trong các thiết bị điện tử như các thẻ thông minh, thẻ ATM, máy tính xách tay, máy kiểm tra tại cảng hàng không, thiết bị điều khiển truy cập mạng, ngân hàng điện tử, … Nhận dạng theo cách truyền thống (ví dụ như mật khẩu, hộ chiếu, giấy phép lái xe, thẻ căn cước, …) có thiên hướng bị gian lận bởi vì mật khẩu có thể bị quên, hoặc thẻ có thể bị đánh cắp, làm giả bởi các tên lừa đảo Vì vậy, nhận dạng theo cách này không đáp ứng được yêu cầu về an ninh trong xã hội hiện đại Hệ thống nhận dạng hoàn hảo nhất thiết cần dựa vào sinh trắc học
Sinh trắc học là công nghệ phân tích và đo lường các đặc điểm cơ thể con người (chẳng hạn như dấu vân tay, võng mạc mắt và tròng đen, mẫu giọng nói, bàn tay, gương mặt, dáng đi, gen, chữ ký) cho mục đích chứng thực
Mà trong đó công nghệ nhận dạng vân tay được ứng dụng rộng rãi nhất Người ta nhận thấy các đặc trưng vân tay không thể dễ dàng bị thay thế, chia sẽ, hay giả mạo Ngoài ra dấu vân tay của con người không ai giống ai, kể cả là sinh đôi cùng trứng xác suất trùng lặp dấu vân tay giữa người này với người kia gần như là 0%, và không đổi trong suốt cuộc đời Do vậy trong việc nhận dạng một người, công nghệ này được xem
là đáng tin cậy hơn so với các phương pháp truyền thống như: dùng mật khẩu hay mã thẻ, …
Tuy nhiên các hệ thống xác thực vân tay tự động hiện nay đều sử dụng cơ sở dữ liệu để lưu trữ vân tay Vì vậy, để lưu trữ vân tay của số lượng lớn người cần xác thực thì cơ sở dữ liệu cần rất lớn và thời gian truy xuất dữ liệu để xác thực là khá lâu
Để giải quyết vấn đề này nhóm đã sử dụng loại mã QR để lưu trữ vân tay Mã này
sẽ được được in lên thẻ và đưa cho người dùng Vì vậy sẽ giải quyết được vấn đề lưu trữ vân tay để xác thực
Trong đề tài này nhóm không đi quá sâu về phần đối sánh 2 vân tay, mà nhóm nghiên cứu về cách lấy ra các điểm đặc trưng của mỗi vân tay và lưu trữ bằng mã QR
Trang 7Sau đó dùng camera (hoặc webcam ) đọc mã QR để lấy ra các điểm riêng biệt và sử dụng thiết bị đọc vân tay để lấy được vân tay của người dùng
2 Thực trạng các chương trình đã có
2.1 Trên thế giới
Hệ thống nhận dạng vân tay tự động (AFIS) đã được sử dụng rộng rãi trên thế giới, chẳng hạn như AFIS của FBI lưu trữ hàng triệu vân tay dùng để dùng giám định hình sự
Trong một số laptop cho phép người dùng đăng nhập vào hệ điều hành bằng cách đặt ngón tay của mình vào vùng quét của máy thay vì phải đánh mật khẩu Trong các chương trình này thì người dùng có thể lưu trữ được đủ 10 đầu ngón tay của bản thân mình
Đầu đọc chấm công bằng vân tay BioPointe KFR 72 - thiết bị chuyên nghiệp
để quản lý nhân sự, chấm công thích hợp cho tất cả các yêu cầu quản lý hiện đại ở các nhà máy, trường học, khu công nghiệp, văn phòng, … nhằm mục đích quản lý nhân viên chặt chẽ, chính xác và hiệu quả Đầu đọc chấm công bằng vân tay BioPointe KFR
72 sử dụng công nghệ sinh trắc học với các bộ vi xử lý tốc độ cao đảm bảo nhận dạng đường vân, hình ảnh chính xác kể cả trong trường hợp đường vân tay bị mờ, bẩn hay mất nét Thiết bị nhận dạng vân tay được lắp đặt tại cửa cổng công ty, nhà máy, văn phòng… Nhân viên được lần lượt đặt ngón tay đã được đăng nhập vào đầu đọc để ghi lại chính xác thời gian và địa điểm làm việc Từ đó, nhà quản lý dễ dàng có được thông tin chính xác về thời gian làm việc, đi muộn, vắng mặt của bất kỳ nhân viên nào trong công ty, có chức năng lưu trữ 720 vân tay, có thể mở rộng tới 4400 vân tay, bộ nhớ lưu trữ được 20.000 sự kiện
Trang 8Hình 1: đầu đọc vân tay BioPointe KFR 72
Hãng A-DATA đã ứng dụng công nghệ nhận dạng vân tay vào sản phẩm USB Flashdrive của mình, giúp cho dữ liệu lưu trên đó được bảo vệ an toàn hơn bao giờ hết Khi lần đầu tiên USB được cắm vào máy tính, máy tính sẽ yêu cầu người sử dụng đăng ký vân tay của mình Những lần sau, khi người sử dụng cắm USB Flashdrive vào máy tính, người sử dụng sẽ được yêu cầu nhập vào mật khẩu hay quét dấu vân tay Nếu chưa được chứng thực bằng mật khẩu hay bằng vân tay thì nội dung ổ USB Flashdrive hoàn toàn vô hình trước mọi người
Hình 2: usb tích hợp đầu đọc của hãng A-DATA
Công ty FSLocks tung ra loại khoá cửa tích hợp thiết bị nhận dạng vân tay, được cho là một trong những loại khóa dành cho gia đình an toàn nhất thế giới hiện nay
Trang 9Hình 3: khóa tích hợp đầu đọc của hãng FSCLOCK
ADEL là tập đoàn phát triển công nghệ nhận dạng vân tay lớn nhất thế giới ADEL cũng là nhà sản xuất tiên phong và hàng đầu trong việc sản xuất khóa cửa ứng dụng công nghệ nhận dạng vân tay lớn nhất thế giới Những sản phẩm ứng dụng công nghệ nhận dạng vân tay gồm: khoá cửa khách sạn, két sắt vân tay, tủ sắt vân tay
Hình 4: khóa mở của của hãng ADEL
Công ty SID Protect của Mỹ sản xuất loại thiết bị chống trộm với tên gọi SID dùng để bảo vệ các loại xe hơi Thiết bị này dùng dấu vân tay của chủ xe để chống trộm Thiết bị SID ứng dụng công nghệ vân tay sinh trắc học nhằm đảm bảo rằng chỉ những người đã được sự cho phép của chủ xe mới có thể khởi động xe Thiết bị có thể lưu khoảng 20 dấu vân tay khác nhau Chủ xe là người duy nhất có quyền quyết định thêm hay bớt người dùng chung xe, cài đặt hoặc thay đổi mã số của thiết bị
Trang 10Hình 5: thiết bị đầu đọc vân tay của hãng SID Protect
Ngoài một số hệ thống trên, còn có các hệ thống nhận dạng của các công ty sản xuất đầu đọc vân tay đi kèm theo
2.2 Trong nước
Việc sử dụng các hệ thống nhận dang vân tay một cách tự động ở nước ta còn
ít Đa số các hệ thống này được triển khai vì mục đích hình sự, điều tra tội phạm như
hệ thống nhận dạng vân tay của Bộ Công An Còn ở mục đích dân sự thì rất Ngoài ra cũng có các công trình nghiên cứu về vân tay của các trường đại học
Các công trình nghiên cứu này thường được dựa trên các mẫu vân tay có sẵn
và là mẫu chuẩn để nghiên cứu về các đặc điểm và xử lý thông tin vân tay Các chương trình đối sánh này cũng có khả năng lưu trữ và so khớp vân tay
Ngày nay cũng đã có một vài công ty ứng dụng nhận dạng vân tay vào việc chấm công cho công nhân
2.3 Ưu khuyết điểm của các hệ thống trên
Các hệ thống xác thực tự động trên đều có độ tin cậy cao nhưng hệ thống này cần tạo 1 CSDL để lưu trữ vân tay do đó cũng có giới hạn số lượng vân tay có thể lưu trữ Để có thể tăng số lượng vân tay có thể lưu trữ thì giá thành của đầu đọc cũng tăng theo
Do đó giá thành cũng là một vấn đề đối với các công ty, trường học, xí nghiệp muốn triển khai hệ thống xác thực tự động để chấm công
Vì vậy việc sử dụng vân tay để xác thực người dùng thì vẫn ít được sử dụng ở nước ta
Trang 113 Mục tiêu nghiên cứu
Xây dựng 1 hệ thống xác thực vân tay tự động không cần dùng cơ sở dữ liệu lưu trữ vân tay để đối sánh xác thực, mà sử dụng loại mã QR để lưu trữ thay cho cơ sở dữ liệu Và cách chuyển từ một vân tay sang dạng chuỗi
4 Những đóng góp mới của đề tài
Hệ thống xác thực vân tay tự động là hệ thống nhận dạng vân tay hoạt động theo chế độ xác thực vân tay Trong chế độ này, người cần xác nhận sẽ cung cấp thông tin nhận dạng cho hệ thống (ví dụ như tên) cùng với vân tay của người đó Dựa vào thông tin nhận dạng , hệ thống sẽ lấy ảnh vân tay mẫu trong cơ sở dữ liệu kiểm tra có trùng khớp với vân tay truy vấn hay không? Nếu trùng khớp thì người này được xác minh đúng thông tin ngoài ra thì bị từ chối Các giai đoạn xử lý của hệ thống xác thực được minh họa rõ trong hình 6
Hình 6: Các giai đoạn xử lý của hệ thống xác thực vân tay hiện nay
Dựa trên một hệ thống xác thực vân tay hiện nay, nhóm đã sử dụng mã QR để thay thế cơ sở dữ liễu để lưu trữ các mẫu vân Các mẫu vân này sẽ được trích ra các điểm
Trang 12đặc trưng, các điểm này sẽ chuyển thành chuỗi và chuỗi sẽ được lưu trữ vào trong mã
QR Hình 7 là mô hình biểu diễn hệ thống xác thực của nhóm
Hình 7: các giai đoạn xử lý của hệ thống xác thực vân tay bằng mã QR
5 Kết cấu của đề tài
Luận văn được chia thành 3 phần chính: phần mở đầu, phần nội dung, phần kết luận
Phần mở đầu:
Nêu lý do chọn đề tài, tổng quan tình hình phát triển, mục tiêu nghiên cứu của
đề tài, đối tượng, phạm vi, phương pháp nghiên cứu
Phần nội dung: chia làm 3 chương
Trang 13Nêu ra các giai đoạn xử lý vân tay như: tăng cường ảnh, xác định trường định hướng, chuẩn hóa đường vân, nhị phân hóa, làm mảnh đường vân, rút trích minutiae ( điểm đặc trưng )
Chương 3: giải pháp và hoàn thiện
Nêu sơ đồ xử lý, giao diện của quá trình lấy mẫu và quá trình xác thực
Phần kết luận:
Nêu những khó khăn cũng như những điều chưa làm được của đề tài và phương hướng phát triển tiếp theo của đề tài
Trang 14CHƯƠNG 1: TỔNG QUAN VỀ MÃ QR
Mã QR là một trong những mã được phát triển khá trễ nhưng tốc độ phát triển rất nhanh vì có khả năng lưu trữ lớn, lưu trữ được nhiều loại kí tự, thời gian đọc mã cực kì nhanh Do đó mã QR đang được phát triển khá mạnh
Với những ưu điểm đó, nhóm đã chọn mã QR để lưu trữ thay cho cơ sở dữ liệu Trong chương này nhóm sẽ trình bày về những điều cơ bản về mã QR và các công cụ đọc và tạo mã có sẵn
1.1 QR là gì?
Mã QR là một mã ma trận ( hay mã vạch hai chiều ) được phát triển bởi công
ty Denso Wave ( Nhật Bản ) vào năm 1994 [4]
Chữ "QR" xuất phát từ "Quick Response", trong tiếng Anh có nghĩa là đáp ứng nhanh, vì người tạo ra nó có ý định cho phép mã được giải mã ở tốc độ cao
Hình 1.1: một hình mã QR
Một mã QR có thể chứa đựng thông tin một địa chỉ web (URL), thời gian diễn
ra một sự kiện, thông tin liên hệ (như vCard), địa chỉ email, tin nhắn SMS, nội dung ký
tự văn bản hay thậm chí là thông tin định vị vị trí địa lý Tùy thuộc thiết bị đọc mã QR
mà bạn dùng khi quét, nó sẽ dẫn bạn tới một trang web, gọi đến một số điện thoại, xem
Trang 15một tin nhắn ( Ở đây nhóm dùng mã QR để chứa và đọc những điểm đặc trưng trên vân tay )
1.2 Khả năng lưu trữ và sữa chữa lỗi của mã QR
1.2.1 Khả năng lưu trữ dữ liệu
Số đơn thuần tối đa 7.089 kí tự
Số và chữ cái tối đa 4.296 kí tự
Số nhị phân (8 bit) tối đa 2.953 byte Kanji/Kana ( Tiếng Nhật ) Tối đa 1.817 kí tự
1.2.2 Khả năng sửa lỗi
Mức L ( Low ) 7% số từ mã ( code word ) có thể được phục hồi Mức M ( Medium ) 15% số từ mã có thể được phục hồi
Mức Q ( Quartile ) 25% số từ mã có thể được phục hồi Mức H ( High ) 30% số từ mã có thể được phục hồi
Hình 1.2: mã QR đã mất nét nhưng vẫn đọc được
Trang 161.3.2 Alignment Pattern
Alignment Pattern được sử dụng trong các phiên bản 2 trở lên, chúng được đặt để giúp bộ giải mã điều chỉnh để làm lệch trong hình Không có chúng sẽ khó khăn cho bộ giải mã để chắc chắn làm thế nào để chuyển đổi một bức ảnh sai lệch vào mạng lưới ảo của đữ liệu mà nó giải mã [6]
1.3.3 Timing Pattern
Timing Pattern là một sọc xen kẽ các mô-đun màu đen và trắng nằm theo chiều dọc và chiều ngang giữa các Finder Pattern Bắt đầu với màu đen trên góc đen trong cùng của các Finder Pattern Chúng thay thế giá trị đối với các Finder Pattern liền kề Do đó, có hai dòng Timing Pattern – một là chạy theo chiều ngang giữa hai Finder Patter phía trên, và một chạy theo chiều dọc giữa hai Finder Pattern bên trái [6]
1.3.4 Format Data
Format Data trong mã QR được che đậy bằng cách đảo ngược các đun ở các vị trí nhất định Để cho các bộ giải mã biết được các mô-đun để đọc đảo ngược, lựa chọn mặt nạ lưu trữ, cùng với các phiên bản sửa lỗi [6]
Trang 17mô-1.3.5 Version Data
Version Data chỉ đơn giản là chỉ ra phiên bản đang được sử dụng Có hai vùng để xác định Version Data: một là 3 mô-đun rộng và 6 mô-đun cao nằm ở bên trái Finder Patter phía trên bên phải, hai là 3 mô-đun cao và 6 mô-đun rộng nằm bên trên Finder Pattern phía dưới bên trái [7]
Hình 1.4: Thông tin phiên bản QR
1.3.6 Data and Error Correction
Vùng chứa đựng dữ liệu Sau khi dữ liệu được mã hóa, một thuật toán được áp dụng để đảm bảo vẫn có thể giải mã khi một phần của hình bị che khuất hoặc đứt nét [6]
1.3.7 Mandatory Blank Space
Các đặc điểm kỹ thuật của QR đòi hỏi một không gian tương đương với chiều rộng của 4 mô-đun trống xung quanh hình mã QR, để ngăn chặn sự can thiệp từ những thứ khác trên cùng một bề mặt [6]
Trang 181.4 Tạo mã QR
Có khá là nhiều công cụ để tạo mã QR Ở đây nhóm trình sẽ trình bày công cụ nhóm sử dụng là Gma.QrCodeNet.Encoding.dll để tạo mã QR Vì nhóm sử dụng ngôn ngữ C#.Net nên công cụ này hỗ trợ rất tốt và dễ sử dụng [5]
Cách add dll vào solution đƣợc miêu tả ở hình 1.5 và 1.6
Hình 1.5: Add Reference
Trang 19Hình 1.6: Lựa chọn dll cần add
Trang 20Hình 1.7: Những thuộc tính có trong control
Trang 21 ErrorCorrectionLevel : lựa chọn cấp độ sửa chữa lỗi cho mã QR Có 4 cấp độ sửa lỗi: L, M, Q, H (khả năng phục hồi được trình bày ở mục 1.2.2)
QuieZoneModules: căn chỉnh kích thước khoảng trắng xung quanh hình
mã QR
ModuleSize: kích thước của các mô-đun trong control
Name: thuộc tính tên cho control
AuotoSize: tự động tăng kích thước cho control
Text: tiêu đề đặt cho control
Visible: thuộc tính ẩn/ hiện của control
1.5 Đọc mã QR từ webcam
Nhóm dùng bộ SDK của chương trình QuickMark dành cho Laptop và PC
Để sửa dụng QuickMark SDK ta có thể download tại [4]
Hình 1.8: Sau khi add class vào solution