LỜI MỞ ĐẦUTrong bối cảnh ngày càng gia tăng của cuộc sống số, việc xây dựng hệ thốngsinh trắc học không chỉ mang lại sự tiện lợi trong việc xác minh người dùng và quảnlý thông tin cá n
Tổng quan về xác thực sinh trắc học
Tổng quan về định danh và xác thực
- Định danh là quá trình xác định một thực thể, người dùng, hoặc tài khoản cụ thể trong hệ thống hoặc môi trường nào đó Điều này có nghĩa là chúng ta xác định ai đó bằng cách gán cho họ một tên định danh hoặc một dạng nhận dạng khác. Thông tin định danh thường là duy nhất và không trùng lặp trong hệ thống.
- Định danh có thể là các thông tin như tên, địa chỉ email, số điện thoại, số chứng minh thư, tên đăng nhập (username), hoặc bất kỳ thông tin nào có thể dùng để phân biệt một người dùng hoặc thực thể khỏi các người dùng hoặc thực thể khác.
- Xác thực là quá trình xác minh xem người dùng hoặc thực thể cố gắng truy cập hệ thống hoặc dịch vụ có phải là người dùng hoặc thực thể đó hay không Điều này đảm bảo rằng chỉ những người dùng được phép và có quyền truy cập mới có thể tiến hành truy cập.
- Xác thực thường đòi hỏi việc cung cấp bằng chứng cụ thể để chứng minh danh tính Trong trường hợp của username và password, mật khẩu (password) được sử dụng làm bằng chứng để xác minh danh tính Người dùng phải cung cấp mật khẩu chính xác để được xác thực.
- Xác thực có thể được thực hiện bằng nhiều cách khác nhau, bao gồm cả sử dụng thẻ thông tin, dấu vân tay, mã xác thực tạm thời, hoặc xác thực hai yếu tố (2FA).
- Một quá trình xác thực thành công là cơ sở để cấp quyền truy cập cho người dùng vào hệ thống hoặc dịch vụ.
- Nhân tố xác thực (authentication factor) là thông tin sử dụng cho quá trình xác thực.
- Có 3 loại nhân tố xác thực chính
Cái người dùng biết (Something you know) o Mật khẩu (password): Điều này thường là phương pháp chính để xác thực người dùng Họ phải nhập mật khẩu mà họ đã thiết lập để truy cập tài khoản của họ. o Câu hỏi riêng tư: Ngoài mật khẩu, một số hệ thống yêu cầu người dùng đưa ra câu trả lời cho một hoặc một số câu hỏi riêng tư Thông tin này thường được sử dụng để khôi phục mật khẩu nếu người dùng quên nó. o Ưu điểm của việc sử dụng các nhân tố xác thực này bao gồm sự đơn giản và giá thấp:
Đơn giản: Việc xác thực dựa trên username và password là cách đơn giản để đảm bảo an toàn tài khoản Người dùng chỉ cần nhớ mật khẩu và câu trả lời cho câu hỏi riêng tư.
Chi phí thấp: Triển khai hệ thống xác thực này không đòi hỏi nhiều nguồn lực kỹ thuật hoặc tài chính. o Tuy nhiên, cách tiếp cận này cũng có nhược điểm quan trọng:
Nguy cơ bị lộ (đánh cắp): Mật khẩu và câu trả lời cho câu hỏi riêng tư có thể bị đánh cắp bởi các kẻ xâm nhập hoặc trong các cuộc tấn công mạng. Khi thông tin này bị tiết lộ, tài khoản của người dùng có thể bị đe dọa.
Nguy cơ bị quên: Người dùng có thể quên mật khẩu hoặc câu trả lời cho câu hỏi riêng tư, và việc khôi phục mật khẩu có thể trở nên phức tạp hoặc đòi hỏi thời gian.
Cái người dùng có (Something you have) o Chìa khóa, giấy tờ tùy thân: Đây có thể là chìa khóa vật lý, giấy tờ tùy thân như hộ chiếu hoặc giấy phép lái xe Người dùng cần sở hữu và trình diện chúng để xác thực danh tính. o Thẻ từ, smartcard: Thẻ từ hoặc smartcard là một phương tiện vật lý chứa thông tin xác thực Người dùng cần cắm hoặc đọc thông tin từ thẻ để xác thực. o OTP token, Cryptographic token, khóa mật mã: Đây là các thiết bị tạo ra mã một lần (OTP) hoặc chứa thông tin mật mã dùng để xác thực Người dùng cần cung cấp mã này để xác thực. o SIM điện thoại: SIM điện thoại có thể được sử dụng để xác thực bằng cách gửi mã xác thực đến số điện thoại của người dùng Họ cần truy cập mã này để hoàn thành quá trình xác thực. o Ưu điểm của việc sử dụng các nhân tố xác thực này bao gồm khả năng xác thực đa nhân tố, làm tăng tính bảo mật:
Xác thực đa nhân tố: Kết hợp nhiều yếu tố xác thực này tạo ra một hệ thống mạnh mẽ hơn để bảo vệ tài khoản người dùng. o Tuy nhiên, cách tiếp cận này cũng có nhược điểm quan trọng:
Chi phí cao: Các thiết bị vật lý như thẻ từ, smartcard, OTP token hoặc khóa mật mã thường đắt tiền để triển khai.
Có thể bị mất, chiếm đoạt, làm giả: Các thiết bị vật lý có thể bị thất lạc, đánh cắp hoặc làm giả, dẫn đến vấn đề bảo mật và khôi phục. o Cái thuộc về bản thể người dùng (Something about you/that you are) o Khuôn mặt, vân tay, bàn tay: Các đặc điểm về khuôn mặt, vân tay hoặc bàn tay của người dùng được sử dụng để xác thực Hệ thống quét và so sánh chúng để kiểm tra danh tính. o Võng mạc: Đặc điểm cụ thể của võng mạc của mắt người dùng được sử dụng để xác thực danh tính. o Giọng nói: Đặc điểm trong giọng điệu và cách nói của người dùng được sử dụng để xác thực. o Ưu điểm của việc sử dụng các nhân tố xác thực này bao gồm tính khó sao chép, mất mát hoặc đánh cắp. o Tuy nhiên, cách tiếp cận này cũng có nhược điểm quan trọng:
Chi phí rất cao: Triển khai và duy trì các hệ thống xác thực dựa trên sinh trắc học hoặc giọng nói có thể rất đắt đỏ.
Có thể thay đổi theo thể trạng: Đặc điểm sinh trắc học như khuôn mặt hoặc vân tay có thể thay đổi do sự thay đổi tự nhiên hoặc thương tích, dẫn đến khó khăn trong việc xác thực.
Không phù hợp cho xác thực qua mạng: Các phương thức xác thực này đòi hỏi thiết bị cụ thể để thực hiện kiểm tra, điều này làm cho chúng không phù hợp cho việc xác thực từ xa qua mạng.
- Có 2 nhóm nhân tố xác thực khác
Xác thực sinh trắc học
Sinh trắc học hay xác thực sinh trắc học là một hình thức bảo mật đo lường và đối sánh các tính năng sinh trắc học của người dùng để xác minh rằng một người đang cố gắng truy cập vào một thiết bị cụ thể được phép làm như vậy (có phải là chính chủ hay không) Do sinh trắc học là đặc điểm sinh học riêng biệt của người dùng cho nên sẽ có tính bảo mật cao. Ưu điểm:
Có khả năng cải thiện tính bảo mật, kiểm soát truy cập an toàn, thoải mái, tránh để lộ thông tin người dùng cho tội phạm mạng
Là một giải pháp bảo mật hiện đại và phức tạp nhất, có độ chính xác gần như là tuyệt đối trong quá trình xác thực
So với phương pháp xác thực truyền thống, bảo mật sinh trắc học có thao tác thực hiện nhanh hơn, người dùng hạn chế tình trạng quên chuỗi mật khẩu dài và phức tạp như trước kia
Khắc phục hiện tượng quá tải thông tin đăng nhập trên các ứng dụng hoặc thiết bị khác nhau
Xác thực sinh trắc học có tính linh hoạt, dễ đăng ký và triển khai sử dụng Hạn chế:
Các thiết bị xác thực sinh trắc học thường có chi phí đắt hơn so với thiết bị nhập mật khẩu truyền thống
Nhận dạng sinh trắc học không chính xác 100% Ví dụ: Máy xác thực sinh trắc học sẽ không nhận diện được giọng nói khi người dùng bị cảm cúm hoặc không nhận diện được khuôn mặt khi người dùng tăng/giảm cân
Gây ảnh hưởng đến quyền riêng tư của người sử dụng
Dấu vân tay là một trong những đặc điểm nhận dạng sinh trắc phổ biến sử dụng nhất(sử dụng từ rất lâu trong lĩnh vực tìm kiếm tội phạm) Dấu vân tay có thể được số hóa và đưa vào máy tính thông qua thiết bị quét. Tuy nhiên nhận dạng dấu vân tay không đơn giản là so sánh ảnh bitmap(điều hầu như là bất khả thi vì chúng thường khá lớn và rất dễ khác biệt do xô lệch khi chụp quét) Cơ chế xử lý ở đây là xây dựng một biểu diễn đồ thị từ một ảnh vân tay, trong đó mỗi đỉnh là một dạng đặc trưng xác định trước(ví dụ như chóp uốn) Vì vậy bài toán nhận dạng dấu vân tay có thể chuyển về thành một vấn đề thuật toán kinh điển là so khớp đồ thị(graph matching).
Có thể sử dụng theo hai cách – so khớp về giọng và so khớp về nội dung So khớp giọng nói là so khớp với các mẫu đã được ghi nhận trong cơ sở dữ liệu hệ thống Kỹ thuật này được thực hiện thông qua việc phân tích chiết suất các đặc tính tín hiệu và từ đó thực hiện các phép kiểm tra giả thiết thống kê(statistical hypothesis) Ngược lại so khớp nội dung không quan tâm đến người nói mà chỉ cần kiểm tra nội dung của câu trả lời có phù hợp câu hỏi hay không.
2.4 Mắt Ảnh võng mạc mặt cũng được xem là dấu hiệu xác định duy nhất cho từng người Ảnh có thể thu được thông qua máy chụp(khi nhìn vào khe chỉ định của máy đo), sau đó được phân tích để xác định các yếu tố đặc trưng Các phép kiểm tra giả thiết thống kê cũng được sử dụng để loại bỏ sự trùng khớp ngẫu nhiên.
Tương tự các phương pháp trên, khi mặt được giữ cố định, người ta có các thiết bị để chụp và chiết xuất các yếu tố đặc trưng cần thiết mà tổ hợp của chúng được cho là có thể xác định duy nhất đối tượng.
2.6 Mẫu gõ phím(keystroke pattern)
Mặc dù đây là một quá trình động, việc theo dõi ghi nhận tốc độ, các khoảng trễ trong khi gõ phím có thể đưa lại những mẫu gõ phím mang tính đặc trưng của mỗi người Các đặc trưng chiết xuất(mẫu gõ) cũng có thể được sử dụng để so khớp với mẫu có sặc để sử dụng vào xác thực.
Khái niệm về Eigenface
Eigenface là một khái niệm trong lĩnh vực xử lý ảnh và nhận dạng khuôn mặt.
Nó được giới thiệu lần đầu tiên bởi Matthew Turk và Alex Pentland vào năm
Eigenface là một tập hợp các khuôn mặt ảo được tạo ra bằng cách sử dụng phân tích thành phần chính (PCA - Principal Component Analysis) Ý tưởng cơ bản của eigenface là xác định các thành phần chính trong một tập hợp các khuôn mặt và sử dụng chúng để biểu diễn một khuôn mặt mới
Quá trình xây dựng eigenface bao gồm các bước sau:
Thu thập và chuẩn bị dữ liệu: Thu thập một tập hợp các khuôn mặt huấn luyện từ các nguồn khác nhau Các khuôn mặt này cần được chụp trong cùng một điều kiện ánh sáng và góc nhìn Sau đó, các khuôn mặt được chuẩn hóa để đảm bảo kích thước và độ tương phản đồ nhất
Xây dựng ma trận ảnh: Các khuôn mặt huấn luyện được biểu diễn dưới dạng các ma trận ảnh 2D, trong đó mỗi hàng biểu diễn một khuôn mặt Các giá trị trong ma trận ảnh thể hiện cường độ của mỗi pixel trong khuôn mặt
Phân tích thành phần chính (PCA): Áp dụng phương pháp PCA để phân tích các thành phần chính của ma trận ảnh PCA sẽ tìm các vectơ riêng
(eigenvectors) và giá trị riêng (eigenvalues) của ma trận hiệp phương sai của dữ liệu, Các eigenvectors tương ứng với các eigenvalues lớn nhất đại diện cho các eigenfaces.
Xác định eigenfaces: Các eigenvectors được sắp xếp theo thứ tự giảm dần của eigenvalues Các eigenvectors hàng đầu (có eigenvalues lớn nhất) được chọn làm eigenfaces Mỗi eigenface là một vectơ hàng.
Biểu diễn khuôn mặt mới: Để biểu diễn một khuôn mặt mới, ta transform khuôn mặt đó thành một vectơ và tính toán trọng số tương ứng với mỗi eigenface Trong số này thể hiện độ tương quan của khuôn mặt mới với các eigenfaces
Nhận dạng và so sánh: Để nhận dạng một khuôn mặt mới, ta tính toán trọng số của khuôn mặt đó trong không gian eigenface và so sánh với trọng số của các khuôn mặt huấn luyện đã biết trước Khuôn mặt nới được gán nhãn của khuôn mặt có trọng số tương tự nhất.
3.1 Kỹ thuật PCA (Phân tích thành phần chính)
Eigenface dựa trên kỹ thuật PCA để phân tích và trích xuất các thành phần quan trọng từ tập hợp các khuôn mặt PCA giúp giảm chiều dữ liệu và tìm ra các trục chính trong không gian dữ liệu Các thành phần chính (eigenvectors) tương ứng với eigenfaces, là các hướng quan trọng trong không gian khuôn mặt
3.2 Biểu diễn dữ liệu khuôn mặt
Mỗi khuôn mặt trong tập huấn luyện có thể được biểu diễn dưới dạng một vectơ, bằng cách chồng các giá trị pixel của khuôn mặt thành một vectơ hàng Vi dụ, nếu kích thước của mỗi khuôn mặt là 64x64 pixel, vectơ biểu diễn khuôn mặt sẽ có kích thước 1x4096.
3.3 Sự quan trọng của eigenfaces
Các eigenfaces hàng đầu tương ứng với các eigenvalues lớn nhất chứa thông tin quan trọng về transform và biểu diễn các khuôn mặt Các eigenfaces có eigenvalues nhỏ tương ứng với các thành phần ít quan trọng hơn
3.4 Giảm kích thước dữ liệu
Eigenface cho phép giảm kích thước dữ liệu ban đầu bằng cách chỉ lưu trữ một số lượng nhỏ eigenfaces hàng đầu Điều này giúp giảm bộ nhớ và tăng tốc độ xử lý khi thực hiện quá trình nhận dạng
Mặc dù eigenface có những ưu điểm, nhưng nó cũng có một số hạn chế.
Ví dụ, eigenface không nhạy cảm với các biến thể về góc nhìn, ánh sáng hoặc biểu thức khuôn mặt Nếu một khuôn mặt mới khác biệt quá nhiều so với các khuôn mặt huẩn luyện, eigenface có thể không đưa ra kết quả chính xác.
State of the Art (SOTA)
State of the Art (SOTA) là thuật ngữ được sử dụng để chỉ trạng thái của nghệ thuật, công nghệ, hoặc lĩnh vực nghiên cứu đang đạt được hiệu suất, tiến bộ, hoặc thành tựu tốt nhất tới thời điểm hiện tại
Trong mỗi lĩnh vực, có sự phát triển liên tục và các nghiên cứu mới được công bố State of the Art là mức tiến bộ cao nhất mà các nhà nghiên cứu, nhà phát triển, hoặc cộng đồng trong lĩnh vực đó đã đạt được tại thời điểm hiện tại Nó thường được xác định bằng cách so sánh và đánh giá các phương pháp, công nghệ, hoặc kỹ thuật hiện có dựa trên các tiêu chí như hiệu suất, độ chính xác, tốc độ, hoặc các yếu tố khác liên quan Nó đại diện cho tiêu chuẩn tốt nhất hiện có và có thể được sử dụng làm điểm tham chiếu để so sánh và đánh giá các phương pháp hoặc công nghệ mới
Trong lĩnh vực nhận diện khuôn mặt, State of the Art (SOTA) thường được đo bằng các phương pháp và thuật toán đạt được độ chính xác và hiệu suất cac nhất trên các tập dữ liệu và thử nghiệm cụ thể SOTA trong nhận diện khuôn mặt thường được cập nhật liên tục khi có sự tiến bộ trong lĩnh vực này Dưới đây l một số ví dụ về SOTA trong nhận diện khuôn mặt:
Deep Neural Networks - DNN: Trong nhận diện khuôn mặt, các mạng nơ-ron sâu như Convolutional Neural Networks (CNN) đã đạt được hiệu suất cao và được coi là SOTA trong nhiều nhiệm vụ nhân viện khuôn mặt Các mạng nơ-ron sâu này sử dụng lớp tích chập để học các đặc trưng của khuôn mặt và thực hiện phân loại hoặc nhận dạng.
Deep Metric Learning: Phương pháp này tập trung vào việc học các không gian biểu diễn chung cho các khuôn mặt và khoảng cách giữa chúng Điều này giúp tạo ra những biểu diễn mà các khuôn mặt của cùng một người gần nhau hơn so với các khuôn mặt của những người khác.Phương pháp này đã đạt được kết quả tốt và được coi là SOTA trong việc nhận diện khuôn mặt trong các tình huống đa người
Attention-based models: được áp dụng trong việc nhận diện khuôn mặt để tập trung vào các phần quan trọng của khuôn mặt như mắt, mũi, miệng Điều này giúp cải thiện độ chính xác và hiệu suất của hệ thống nhận diện khuôn mặt Các mô hình attention đã đạt được kết quả tốt và được coi là SOTA trong một số thách thức nhận diện khuôn mặt khó khăn
Kết hợp các phương pháp: Ngoài ra, để đạt được kết quả tốt hơn, các nghiên cứu đã kết hợp nhiều phương pháp và kỹ thuật như mạng nơ-ron sâu, học sâu học đại diện và mô hình attention Kết hợp các phương pháp này đã đạt được SOTA trong nhiều nhiệm vụ nhận diện khuôn mặt khó khăn như nhân diện khuôn mặt ở góc nhìn chéo, trong điều kiện ánh sáng yếu hoặc với các transform khác nhau của khuôn mặt
Lưu ý rằng SOTA có thể thay đổi theo thời gian và phụ thuộc vào các bộ dữ liệu và tiêu chuẩn đánh giá được sử dụng Do đó, để nắm bắt SOTA trong nhận diện khuôn mặt, nên tham khảo các công trình nghiên cứu mới nhất và các cuộc thi hoặc thứ nghiệm đánh giá hàng đầu trong lĩnh vực này.
Một số khái niệm khác liên quan
Mã hóa đồng cầu là một phương pháp mật mã hóa đặc biệt mà cho phép các phép tính được thực hiện trên dữ liệu đã được mã hóa mà không cần giải mã. Điều này rất hữu ích trong nhiều tình huống, đặc biệt là khi đòi hỏi tính riêng tư và bão mặt của dữ liệu.
Trong môi trường mã hóa đồng cầu, hai phép tính quan trọng là phép cộng và phép nhân có thể được thực hiện trực tiếp trên các giá trị đã được mã hóa mà không cần biết giá trị gốc Kết quả của các phép tính này sau đó có thể được giải mã để nhận được kết quả cuối cùng.
Một số ứng dụng quan trọng:
Bảo vệ quyền riêng tư: Mã hóa đồng cấu cho phép xử lý dữ liệu mà không tiết lộ thông tin nhạy cảm Điều này rất hữu ích trong các lĩnh vực như y tế, tài chính và điện toán đám mây, nơi đã liệu cần được bảo vệ khỏi việc truy cập trái phép
Xử lý dữ liệu phân tán: Trong môi trường phân tán, nhiều bên có thể tham gia vào xử lý dữ liệu chung mà không cần tiết lộ thông tin của họ.
Mã hóa đồng cầu cho phép các bên thực hiện các phép tính trên dữ liệu đã mã hóa mà không cần n truy cập đến dü liệu gốc.
Mật mã đám mây: Mã hóa đồng cầu cũng được sử dụng trong mô hình mật mã đám mây, nơi dữ liệu được lưu trữ và xử lý trên các máy chủ đám mây mà không cần tiết lộ cho các nhà cung cấp dịch vụ đám mây
Một số hạn chế và thách thức:
Hiệu suất tính toán: Phương pháp mã hóa đồng cầu thường có tính toán phức tạp và yêu cầu tài nguyên tính toán cao hơn so với các phương pháp mã hóa truyền thống Điều này có thể ảnh hưởng đến hiệu suất và tốc độ xử lý của hệ thống
Kích thước mã hóa: Dữ liệu sau khi được mã hóa thường có kích thước lớn hơn so với dữ liệu gốc Điều này có thể tạo ra các vấn đề về lưu trữ và truyền dữ liệu trong một môi trường phân tần
Hạn chế của các phép tỉnh: Trong một hệ thống mã hóa đồng cấu, chỉ một số phép tính cụ thể như cộng và nhân có thể được thực hiện trên dữ liệu đã được mã hóa Các phép tính phức tạp khác như chia, căn bậc hai hoặc các phép tính logic phức tạp không thể được thực hiện trực tiếp trên dữ liệu đã mã hóa
Tóm lại, mã hóa đồng cầu là một công nghệ quan trọng trong lĩnh vực bảo mật dữ liệu và quyền riêng tư Nó cho phép xử lý dữ liệu mà không tiết lộ thông tin nhạy cảm, có nhiều ứng dụng thực tế và đang tiếp tục được nghiên cứu để cải thiện hiệu suất và mở rộng khả năng
5.2 Khử nhiễu mặt nạ bằng ROI
Khử nhiễu mặt nạ bằng ROI trên khuôn mặt là một phương pháp trong xử lý ảnh nhằm loại bỏ nhiều hoặc các vùng không cần thiết xung quanh khuôn mặt trong một hình ảnh Phương pháp này tập trung vào việc xác định khu vực quan tâm (Region of Interest - ROI) trên khuôn mặt và loại bỏ các thông tin không cần thiết nằm ngoài ROI đó
Trong quá trình xử lý ảnh khuôn mặt, một bước quan trọng là xác định được vị trí và đường biên của khuôn mặt Sau khi khuôn mặt được xác định, phương pháp khử nhiễu mặt nạ bằng ROI sẽ tạo ra một mặt nạ hoặc vùng quan tâm bao quanh khuôn mặt Mặt nạ này thường được tạo thành bằng cách co lại hoặc cắt bớt các vùng nằm ngoài khuôn mặt
Quá trình này giúp loại bỏ các nhiễu như các vật thể lạ, phông nền không cần thiết hoặc các chi tiết không liên quan khác có thể xuất hiện trong hình ảnh Kết quả là chỉ còn lại một mặt nạ chính xác bao quanh khuôn mặt, loại bỏ các yếu tố ngoại vi và tập trung vào phần quan trọng nhất - khuôn mặt
Phương pháp khử nhiễu mặt nạ bằng ROI trên khuôn mặt thường được sử dụng trong các ứng dụng nhận dạng khuôn mặt, phân tích biểu cảm, xử lý ảnh khuôn mặt và các tác vụ liên quan khác Nó giúp cải thiện độ chính xác và hiệu suất của hệ thống bằng cách giảm nhiễu và tối ưu hóa thông tin quan trọng trên khuôn mặt.
5.3 Attention transfer trong nhận dạng khuôn mặt
Attention transfer trong nhận dạng khuôn mặt là một kỹ thuật trong xử lý ảnh và thị giác máy tính, nhằm xác định và tập trung vào các phần quan trọng của khuôn mặt để thực hiện các nhiệm vụ nhận dạng
Trong quá trình nhận dạng khuôn mặt, một hình ảnh chứa khuôn mặt được đưa vào hệ thống Tuy nhiên, không phải tất cả các phần của khuôn mặt đều có ý nghĩa và quan trọng trong việc nhận dạng Attention transfer được sử dụng để xác định và tập trung vào các phần quan trọng như mắt, mũi, miệng hoặc các điểm đặc trưng khác trên khuôn mặt
Có nhiều phương pháp và thuật toán được sử dụng để Attention transfe trong nhận dạng khuôn mặt, và dưới đây là một số ví dụ:
Mô hình xác thực sinh trắc khuôn mặt
Tổng quan về bài toán nhận diện khuôn mặt
Nhận dạng khuôn mặt người là một chủ đề nghiên cứu thuộc lĩnh vực thị giác máy được phát triển từ những năm 90 của thế kỷ trước Hiện nay, lĩnh vực nhận dạng được đẩy mạnh phát triển và nhận được sự quan tâm của nhiều nhà nghiên cứu từ nhiều lĩnh vực nghiên cứu khác nhau đặc biệt là nhận dạng khuôn mặt.
Hình 1: Mô hình chung của bài toán nhận dạng khuôn mặt
Bài toán nhận dạng khuôn mặt hướng tiếp cận cũng tương tự như hệ thống thị giác của con người khi cần nhận dạng một ai đó khi nhìn vào một bức ảnh Hoạt động của hệ thống nhận dạng khuôn mặt có được triển khai chi tiết như sau:
Bước 1: Phát hiện và xác định khuôn mặt trong bức ảnh
Bước 2: Chuẩn hóa và trích chọn đặc trưng khuôn mặt đã được phát hiện trong bước 1
Bước 3: Tiến hành so sánh và nhận dạng các đặc trưng ở bước 2 với tập dữ liệu huấn luyện đã có để đưa ra kết quả kết luận nhận dạng.
Thuật toán HOG trong việc phát hiện khuôn mặt
HOG là viết tắt của Histogram of Oriented Gradient - một loại “feature descriptor” Mục đích của “feature descriptor” là trừu tượng hóa đối tượng bằng cách trích xuất ra những đặc trưng của đối tượng đó và bỏ đi những thông tin không hữu ích Vì vậy, HOG được sử dụng chủ yếu để mô tả hình dạng và sự xuất hiện của một đối tượng trong ảnh.
Hình 2: Mô tả về thuật toán HOG
Bản chất của phương pháp HOG là sử dụng thông tin về sự phân bố của các cường độ gradient (intensity gradient) hoặc của hướng biên (edge directins) để mô tả các đối tượng cục bộ trong ảnh Các toán tử HOG được cài đặt bằng cách chia nhỏ một bức ảnh thành các vùng con, được gọi là “tế bào” (cells) và với mỗi cell, ta sẽ tính toán một histogram về các hướng của gradients cho các điểm nằm trong cell Ghép các histogram lại với nhau ta sẽ có một biểu diễn cho bức ảnh ban đầu Để tăng cường hiệu năng nhận dạng, các histogram cục bộ có thể được chuẩn hóa về độ tương phản bằng cách tính một ngưỡng cường độ trong một vùng lớn hơn cell, gọi là các khối (blocks) và sử dụng giá trị ngưỡng đó để chuẩn hóa tất cả các cell trong khối Kết quả sau bước chuẩn hóa sẽ là một vector đặc trưng có tính bất biến cao hơn đối với các thay đổi về điều kiện ánh sáng.
2.2 Các bước cơ bản để xây dựng một vector HOG cho hình ảnh
Tiền xử lý: Trước tiên, hình ảnh cần được tiền xử lý để chuẩn bị cho việc tính toán Điều này có thể bao gồm việc chuyển đổi hình ảnh sang không gian màu xám, làm mịn hình ảnh để loại bỏ nhiễu, hoặc thậm chí có thể thực hiện việc điều chỉnh độ sáng và độ tương phản.
Tính gradient: Gradient của hình ảnh theo các hướng x và y được tính toán. Điều này cho phép chúng ta đo được độ lớn và hướng của biến thiên cường độ tại mỗi điểm ảnh.
Tính vector đặc trưng cho từng ô (cells): Hình ảnh được chia thành các cell nhỏ, và các gradient trong mỗi cell được sử dụng để tính toán các histogram của hướng gradient Các histogram này biểu diễn phân phối của các hướng gradient trong cell.
Chuẩn hóa khối (blocks): Các cell có thể được kết hợp thành các block lớn hơn Quá trình chuẩn hóa được thực hiện để giảm ảnh hưởng của ánh sáng và độ tương phản, giúp tăng tính toàn vẹn của đặc trưng.
Tính toán vector HOG: Cuối cùng, các block được kết hợp lại thành một vector đặc trưng duy nhất, được gọi là vector HOG Vector này chứa thông tin quan trọng về hình dạng và cấu trúc của vật thể trong hình ảnh.
Khi đã có vector HOG, nó có thể được sử dụng cho việc nhận dạng và phân loại đối tượng trong hình ảnh.
Framework Django và module Face_recognition
- Tổng quan về Django: Django là một framework phát triển ứng dụng web mạnh mẽ và phổ biến được viết bằng ngôn ngữ Python Được phát triển bởi Django Software Foundation, Django được thiết kế để giúp nhà phát triển xây dựng các ứng dụng web nhanh chóng, dễ bảo trì và có hiệu suất cao.
- Đặc điểm nổi bật của Django:
Hoàn thiện: Django phát triển theo tư tưởng "Batteries included" (có thể hiểu ý nghĩa là tích hợp toàn bộ, chỉ cần gọi ra mà dùng) Nó cung cấp mọi thứ cho developer không cần phải nghĩ phải dùng cái ngoài Chúng ta chỉ cần tập trung vào sản phẩm, tất cả đều hoạt động liền mạch với nhau.
Đa năng: Django có thể được dùng để xây dựng hầu hết các loại website, từ hệ thống quản lý nội dung, cho đến các trang mạng xã hội hay web tin tức Nó có thể làm việc với framework client-side, và chuyển nội dung hầu hết các loại format (HTML, RESS, JSON, XML, )
Bảo mật: Django giúp các developer trang các lỗi bảo mật thông thường bằng cách cung cấp framework rằng có những kĩ thuật "phải làm như vậy" để bảo vệ website Ví dụ: Django cung cấp bảo mật quản lý tên tài khoản và mật khẩu, tránh các lỗi cơ bản như để thông tin session lên cookie, mã hóa mật khẩu thay vì lưu thẳng.
Dễ Scale: Django sử dụng kiến trúc shared-nothing dựa vào component (mỗi phần của kiến trúc sẽ độc lập với nhau, và có thể thay thế hoặc sửa đổi nếu cần thiết) Có sự chia tách rõ ràng giữa các phần nghĩa là nó có thể scale cho việc gia tăng traffic bằng cách thêm phần cứng ở mỗi cấp độ: caching, servers, database servers, hoặc application servers Nhiều web về kinh doanh đã thành công khi Django được scale đáp ứng yêu cầu của họ
Dễ maintain: code Django được viết theo nguyên tắc thiết kế và pattern có thể khuyến khích ý tưởng bảo trì và tái sử dụng code Trên thực tế, nó sự theo khái niệm Don't Repeat Yourself làm cho không có sự lặp lại không cần thiết, giảm một lượng code.
Tính linh động: Django được viết bằng Python, nó có thể chạy đa nền tảng Nó có nghĩa rằng bạn không ràng buộc một platform server cụ thể Django được hỗ trợ tốt ở nhiều nhà cung cấp hosting, họ sẽ cung cấp hạ tầng và tài liệu cụ thể cho hosting web Django.
Face recognition là một lĩnh vực trong computer vision và machine learning, nó nhằm vào việc tự động nhận diện và xác định khuôn mặt của con người từ ảnh hoặc video Đây là một trong những ứng dụng phổ biến của deep learning và được sử dụng trong nhiều lĩnh vực như bảo mật, giao diện người dùng, và phân tích dữ liệu. Cách thức hoạt động của face recognition thường bao gồm các bước sau:
Phát hiện khuôn mặt (Face detection): Trước hết, hệ thống phải phát hiện được vị trí của các khuôn mặt trong ảnh hoặc video Điều này thường được thực hiện bằng cách sử dụng các thuật toán như Viola-Jones, Histogram of Oriented Gradients (HOG), hoặc deep learning-based approaches như Single Shot MultiBox Detector (SSD), Faster R-CNN, hoặc các mô hình convolutional neural network (CNN).
Rút trích đặc trưng (Feature extraction): Sau khi khuôn mặt được phát hiện, các đặc trưng của chúng cần được trích xuất Điều này thường làm bằng cách sử dụng các thuật toán như Local Binary Patterns (LBP), Histogram of OrientedGradients (HOG), hoặc sử dụng các mạng neural như Convolutional NeuralNetworks (CNNs) để học các biểu diễn dựa trên dữ liệu.
So sánh và nhận diện (Matching and recognition): Cuối cùng, các đặc trưng được so sánh với các đặc trưng của các khuôn mặt đã biết từ cơ sở dữ liệu để nhận diện người đó Phương pháp thông thường để thực hiện điều này là sử dụng các thuật toán như k-nearest neighbors (KNN), Support Vector Machines (SVM), hoặc sử dụng deep learning-based approaches như các mạng neural network siêu cùng (siamese neural networks) hoặc triplet loss function để học các biểu diễn tốt hơn.
Face recognition thường là một bài toán phức tạp với nhiều thách thức như biến đổi ánh sáng, góc chụp, độ tuổi, và phong cách tóc khác nhau Để xử lý những thách thức này, các phương pháp tiên tiến trong deep learning và computer vision đang được phát triển và áp dụng.
Triển khai hệ thống xác thực khuôn mặt có đảm bảo tính riêng tư
Hình 1: Mô hình chung của bài toán nhận dạng khuôn mặt………19Hình : Mô tả thuật toán HOG
Trong bối cảnh ngày càng gia tăng của cuộc sống số, việc xây dựng hệ thống sinh trắc học không chỉ mang lại sự tiện lợi trong việc xác minh người dùng và quản lý thông tin cá nhân, mà còn đặt ra những thách thức lớn về bảo mật và tính riêng tư. Bản báo cáo này tập trung vào đề tài "Nghiên cứu hệ thống sinh trắc khuôn mặt" để giải quyết những thách thức này.
Trong quá trình phát triển, chúng tôi đã nhận thức rõ về sự quan trọng của việc không chỉ nâng cao hiệu suất xác minh và ứng dụng thực tế của hệ thống sinh trắc học mà còn tập trung đặc biệt vào việc giảm thiểu rủi ro liên quan đến bảo mật và tính riêng tư của người dùng Điều này là nguyên tắc hướng dẫn mọi quyết định thiết kế và triển khai của chúng tôi.
Trong các phần tiếp theo của báo cáo, chúng tôi sẽ trình bày một cái nhìn tổng quan về sinh trắc học và tính riêng tư, đánh giá thách thức và cơ hội trong việc xây dựng hệ thống sinh trắc học, và mô tả chi tiết về kiến trúc hệ thống và các biện pháp bảo mật được tích hợp Chúng tôi cũng sẽ chia sẻ kết quả thử nghiệm và đánh giá hiệu suất của hệ thống, đồng thời so sánh chúng với các tiêu chí và quy định về tính riêng tư.
Do kiến thức bản thân còn hạn chế cũng như chưa có kinh nghiệm làm một chương trình lớn và có tính ứng dụng thực tế cao nên trong quá trình thực hiện nhóm tôi còn phạm phải nhiều sai sót cũng như chương trình thành phẩm có thể còn tồn tại lỗi không mong muốn Rất mong nhận được góp ý của thầy để chúng tôi hoàn thiện hơn và rút kinh nghiệm cho những đồ án, dự án lớn hơn trong tương lai Một lần nữa,chúng tôi xin chân thành cảm ơn thầy và chúc thầy nhiều sức khỏe!
Chương 1: Tổng quan về xác thực sinh trắc học
1 Tổng quan về định danh và xác thực
- Định danh là quá trình xác định một thực thể, người dùng, hoặc tài khoản cụ thể trong hệ thống hoặc môi trường nào đó Điều này có nghĩa là chúng ta xác định ai đó bằng cách gán cho họ một tên định danh hoặc một dạng nhận dạng khác. Thông tin định danh thường là duy nhất và không trùng lặp trong hệ thống.
- Định danh có thể là các thông tin như tên, địa chỉ email, số điện thoại, số chứng minh thư, tên đăng nhập (username), hoặc bất kỳ thông tin nào có thể dùng để phân biệt một người dùng hoặc thực thể khỏi các người dùng hoặc thực thể khác.
- Xác thực là quá trình xác minh xem người dùng hoặc thực thể cố gắng truy cập hệ thống hoặc dịch vụ có phải là người dùng hoặc thực thể đó hay không Điều này đảm bảo rằng chỉ những người dùng được phép và có quyền truy cập mới có thể tiến hành truy cập.
- Xác thực thường đòi hỏi việc cung cấp bằng chứng cụ thể để chứng minh danh tính Trong trường hợp của username và password, mật khẩu (password) được sử dụng làm bằng chứng để xác minh danh tính Người dùng phải cung cấp mật khẩu chính xác để được xác thực.
- Xác thực có thể được thực hiện bằng nhiều cách khác nhau, bao gồm cả sử dụng thẻ thông tin, dấu vân tay, mã xác thực tạm thời, hoặc xác thực hai yếu tố (2FA).
- Một quá trình xác thực thành công là cơ sở để cấp quyền truy cập cho người dùng vào hệ thống hoặc dịch vụ.
- Nhân tố xác thực (authentication factor) là thông tin sử dụng cho quá trình xác thực.
- Có 3 loại nhân tố xác thực chính
Cái người dùng biết (Something you know) o Mật khẩu (password): Điều này thường là phương pháp chính để xác thực người dùng Họ phải nhập mật khẩu mà họ đã thiết lập để truy cập tài khoản của họ. o Câu hỏi riêng tư: Ngoài mật khẩu, một số hệ thống yêu cầu người dùng đưa ra câu trả lời cho một hoặc một số câu hỏi riêng tư Thông tin này thường được sử dụng để khôi phục mật khẩu nếu người dùng quên nó. o Ưu điểm của việc sử dụng các nhân tố xác thực này bao gồm sự đơn giản và giá thấp:
Đơn giản: Việc xác thực dựa trên username và password là cách đơn giản để đảm bảo an toàn tài khoản Người dùng chỉ cần nhớ mật khẩu và câu trả lời cho câu hỏi riêng tư.
Chi phí thấp: Triển khai hệ thống xác thực này không đòi hỏi nhiều nguồn lực kỹ thuật hoặc tài chính. o Tuy nhiên, cách tiếp cận này cũng có nhược điểm quan trọng:
Nguy cơ bị lộ (đánh cắp): Mật khẩu và câu trả lời cho câu hỏi riêng tư có thể bị đánh cắp bởi các kẻ xâm nhập hoặc trong các cuộc tấn công mạng. Khi thông tin này bị tiết lộ, tài khoản của người dùng có thể bị đe dọa.
Nguy cơ bị quên: Người dùng có thể quên mật khẩu hoặc câu trả lời cho câu hỏi riêng tư, và việc khôi phục mật khẩu có thể trở nên phức tạp hoặc đòi hỏi thời gian.
Cái người dùng có (Something you have) o Chìa khóa, giấy tờ tùy thân: Đây có thể là chìa khóa vật lý, giấy tờ tùy thân như hộ chiếu hoặc giấy phép lái xe Người dùng cần sở hữu và trình diện chúng để xác thực danh tính. o Thẻ từ, smartcard: Thẻ từ hoặc smartcard là một phương tiện vật lý chứa thông tin xác thực Người dùng cần cắm hoặc đọc thông tin từ thẻ để xác thực. o OTP token, Cryptographic token, khóa mật mã: Đây là các thiết bị tạo ra mã một lần (OTP) hoặc chứa thông tin mật mã dùng để xác thực Người dùng cần cung cấp mã này để xác thực. o SIM điện thoại: SIM điện thoại có thể được sử dụng để xác thực bằng cách gửi mã xác thực đến số điện thoại của người dùng Họ cần truy cập mã này để hoàn thành quá trình xác thực. o Ưu điểm của việc sử dụng các nhân tố xác thực này bao gồm khả năng xác thực đa nhân tố, làm tăng tính bảo mật: