Chương 1: Giới thiệu: Giới thiệu tổng quan về sinh trắc học, tính ứng dụng của sinh trắc học. Mục tiêu, nhiệm vụ chính của đề tài, phƣơng pháp tiếp cận của đề tài. Chương 2: Cơ bản về xác thực và mã hóa: Nội dung của chƣơng 2 là tìm hiểu cơ sở lý thuyết về xác thực, và mã hóa. Khái quát về xác thực, các yếu tố xác thực, một số phƣơng pháp dùng cho việc xác thực.
Các phƣơng pháp về mã hóa, hàm băm, mã hóa đối xứng, mã hóa bất đối xứng. Chương 3: Xác thực với đặc trưng sinh trắc học: Nội dung của chƣơng 3 nói về xác thực sinh trắc học, các mô hình về xác thực. Giới thiệu về công nghệ nhận dạng vân tay, và các phƣơng pháp rút trích dấu vân tay. Chương 4: Mô hình xác thực từ xa bằng sinh trắc học sử dụng Fuzzy Vault: Nội dung chƣơng 4 nói về phƣơng pháp lƣu trữ dữ liệu từ xa, mô hình server/client, một số loại hình lƣu trữ dữ liệu từ xa.
Phƣơng pháp xác thực từ xa. Đề xuất mô hình xác thực từ xa, từ mô hình này đƣa ra các bƣớc cho việc đăng ký, và xác thực, dữ liệu đƣợc truyền qua wifi, gửi đến máy tính server. Chương 5: Hiện thực và đánh giá ứng dụng trên hệ điều hành Android: Chƣơng này trình bày các thƣ viện, khối chức năng đƣợc sử dụng của hệ điều hành Android. Mô tả hoạt động của các lớp, các công cụ đƣợc sử dụng trong hệ điều hành Android.
Nền tảng ứng dụng trên hệ thống smartphone. Thƣ viện OpenCV, JavaCV. Mô tả hệ thống hiện thực. Tiến hành thí nghiệm và đánh giá hệ thống.
Chương 6: Kết luận và hướng phát triển: Nội dung chƣơng 6. Kết luận về nội dung nghiên cứu, những đóng góp của đề tài, những hạn chế cần khắc phục và cải tiến. Hƣớng phát triển. 6 CHƢƠNG 2 : CƠ BẢN VỀ XÁC THỰC VÀ MÃ HÓA 2.1 Xác thực, và các phƣơng pháp xác thực 2.1 Khái quát về xác thực Xác thực (Authentication) [9] có nghĩa là “thực”, “thật” là hành động nhằm xác minh hay kiểm chứng một ngƣời, hay vật gì đó có thực không.
Xác thực là công nhận nguồn gốc của đối tƣợng nhƣ kiểm tra, nhận dạng đối tƣợng cần xác thực. Để đảm bảo an toàn cho hệ thống thông tin thì xác thực cực kỳ quan trọng. Khi nhận đƣợc thông tin cần xác thực hệ thống sẽ nhận dạng, xác thực xem yêu cầu đăng nhập có đƣợc phép không, có cho phép hoặc không cho phép. Vì việc ra quyết định ảnh hƣởng trực tiếp tới an toàn, tính toàn vẹn của thông tin, hệ thống.2 Các yếu tố xác thực Các yếu tố để xác thực một thực thể đăng nhập vào hệ thống thông tin đƣợc phân loại nhƣ sau: - Những gì bạn biết (something you know): Mật khẩu (password), mã định danh cá nhân (personal indenfication number - PIN).
- Những gì là chính bạn (something you are): Các yếu tố sinh trắc học (biometrics) của cơ thể mỗi ngƣời hoàn toàn khác nhau nhƣ giọng nói, vân tay, gƣơng mặt, võng mạc, .3 Một số phƣơng pháp dùng trong việc xác thực - Xác thực sử dụng tài khoản ngƣời dùng (User name) và mật khẩu (Password): Phƣơng pháp dùng tài khoản kết hợp tài khoản ngƣời dùng và mật khẩu rất phổ biến. Khi đăng nhập, hệ thống yêu cầu nhập thông tin vào và đƣợc so sánh với dữ liệu đƣợc lƣu trữ trong hệ thống nếu việc xác thực là đúng hệ thống sẽ cho phép truy cập vào hệ thống. Phƣơng pháp xác thực sử dụng tên tài khoản với mật khẩu để đăng nhập vào hệ thống không mang tính bảo mật cao. Vì thông tin ở dạng văn bản, không đƣợc 7 mã hóa.
Do đó dễ bị phát hiện. Tên tài khoản và mật mã dễ bị lộ trong quá trình nhập hoặc phỏng đoán. - Phƣơng pháp xác thực sử dụng giao thức bắt tay có thử thách (Challenge Handshake Authentication Protocol): Khi user đăng nhập server, máy chủ thực hiện việc xác thực bằng cách gửi một thông điệp tới máy user yêu cầu user phải gửi username và password đã đƣợc mã hóa. Sau đó server sẽ tiến hành so sánh với dữ liệu đã lƣu trữ nếu đúng thì mới đƣợc kết nối vào hệ thống.
Xác thực qua giao thức, dữ liệu đƣợc mã hóa bằng phƣơng pháp mã hóa dùng hàm băm. Do đó tính bảo mật cao hơn so với phƣơng pháp xác thực user name và password. - Phƣơng pháp xác thực sử dụng mã thẻ (Token): Đây là phƣơng pháp sử dụng thẻ vật lý nhƣ các loại thẻ thông minh (smart card), chứa các thông tin nhƣ user và password của ngƣời dùng. Các thông tin lƣu trên thẻ chỉ đƣợc đọc bởi các thiết bị chuyên dụng.
Ví dụ nhƣ thẻ thông minh đƣợc đọc bởi đầu đọc smart card. - Phƣơng pháp xác thực bằng sinh trắc học (Biometrics): Phƣơng pháp xác thực bằng sinh trắc học là phƣơng pháp hiện nay đã và đang đƣợc áp dụng ngày càng rộng rãi, vì đặc điểm sinh học của mỗi cá thể là hoàn toàn khác nhau. Do đó tính bảo mật rất cao. Các đặc điểm sinh trắc học thƣờng đƣợc sử dụng nhƣ: Dấu vân tay (Fingerprint), khuôn mặt (Face), võng mạc mắt (Retinal), giọng nói (Voice), DNA.
Xác thực đa yếu tố Ứng dụng trong thực tế có thể sử dụng một hoặc nhiều yếu tố xác thực cùng lúc. Để xác thực từ hai yếu tố trở nên ngƣời ta sử dụng xác thực đa yếu tố (Multi-Factor Authentication). Có thể kết hợp xác thực ngẫu nhiên giữa các yếu tố xác thực ở trên vd: kết hợp giữa thẻ giao dịch và mã Password. Hoặc giữa mã password với xác thực gƣơng mặt.
8 Tƣơng tự nhƣ vậy có thể kết hợp hai, ba hay nhiều hơn các yếu tố để xác thực, tùy vào từng ứng dụng cụ thể và mức độ an toàn của hệ thống yêu cầu. Kết hợp nhiều yếu tố xác thực sẽ giúp đảm bảo an toàn cho hệ thống, tuy nhiên việc đầu tƣ vào trang thiết bị gây tốn kém cho nhà đầu tƣ, và có quá nhiều xác thực gây cho ngƣời dùng cảm giác không thoải mái. Do đó thông thƣờng chỉ nên áp dụng hai hoặc ba yếu tố xác thực là hợp lý. Phƣơng pháp xác thực lẫn nhau (Mutual Authentication) Là phƣơng pháp bảo mật kết hợp các thành phần tham gia giao tiếp và kiểm tra xác thực lẫn nhau.
Phƣơng pháp này hiện nay rất đƣợc coi trọng. Ví dụ nhƣ khi tiến hành giao dịch với ngân hàng qua hệ thống mạng. Ngƣời dùng phải xác định đƣợc có đúng là ngân hàng mà ta đang muốn tiến hành giao dịch không? Và ngân hàng cũng phải xác định đƣợc có đúng user đang muốn đăng nhập có hợp pháp không? Nhằm tránh những tình trạng bị truy cập và truy cập nhầm, gây ảnh hƣởng đến uy tín và thiệt hại của ngân hàng và ngƣời dùng. Mã hóa và các giải thuật mã hóa cơ bản 2.1 Khái quát về mã hóa Khi chúng ta có dữ liệu đƣợc lƣu trữ hoặc chia xẻ trên mạng nhƣng không muốn ngƣời khác làm thay đổi, xóa bỏ hoặc truy cập tới dữ liệu một cách tùy tiện.
Vấn đề cần đặt ra là làm sao có thể mã hóa dữ liệu từ dạng thông tin rõ (cleartext) sang dạng mờ (ciphertext) và ngƣợc lại. Thuật toán mã hóa (Cryptography) chính là giải pháp cho việc chống lại những truy cập dữ liệu bất hợp pháp. Do thông tin đã đƣợc mã hóa nên không thể lấy đƣợc thông tin đó. Thuật toán giải mã (Cryptography) chính là một tập hợp các câu lệnh mà ở đó chƣơng trình sẽ đảo ngƣợc, hay trộn dữ liệu.
Và che dấu thông tin từ dạng tỏ sang dạng mờ.1 mô tả quá trình dữ liệu từ ngƣời gửi tới ngƣời nhận đƣợc mã hóa và giải mã dữ liệu.1 Quá trình mã hóa và giải mã [10] Quá trình mã hóa diễn ra nhƣ sau: - Ngƣời gửi, nhận dữ liệu: Sender/Receiver. - Dữ liệu trƣớc khi đƣợc mã hóa: Plaintext (Cleartext). - Dữ liệu đã đƣợc mã hóa: Ciphertext (Ciphertext). - Thành phần chính trong mã hóa: Key.
- Các thuật toán đƣợc dùng trong mã hóa: CryptoGraphic Algorithm. - Hệ thống mã hóa các thuật toán, khóa: CryptoSystem. Quá trình mã hóa và giải mã đƣợc tính nhƣ sau: - Quá trình mã hóa: EK (P) = C. - Quá trình giải mã: DK (C) = P Với: - C: Là dữ liệu mã hóa.
- P: Là dữ liệu trƣớc khi mã hóa. - E: Là thuật toán mã hóa. - D: Là thuật toán giải mã. Ngoài ra việc mã hóa phải đảm bảo các tiêu chí sau: - Tính bí mật (Confidentiality) phải đảm bảo dữ liệu đƣợc an toàn.
Chỉ ai đƣợc phép mới có thể đọc đƣợc nội dung. - Tính xác thực (Authentication) đảm bảo dữ liệu đến đƣợc ngƣời nhận là dữ liệu mà họ cần. - Tính toàn vẹn (Integrity) đảm bảo dữ liệu nhận đƣợc là đúng không bị thay đổi. - Tính không thể chối bỏ (Non-repudation) xác thực ngƣời gửi hay nhận không thể chối bỏ đã gửi, hay nhận dữ liệu.
Các thuật toán mã hóa đƣợc chia làm ba dạng cơ bản Hàm băm (Hashing), mã hóa đối xứng (Symmetric), và mật mã bất đối xứng (Asymmetric).2 Hàm Băm (Hashing) Hàm băm [9] là các thuật toán không sử dụng khóa để mã hóa. Nó có nhiệm vụ biến đổi “băm” thông tin gốc có độ dài bất kỳ thành một đoạn thông tin cố định gọi là mã băm (hash code hay message digest). Mã băm đƣợc dùng để kiểm tra tính chính xác của thông tin nhận đƣợc. Giá trị của hàm băm là duy nhất và không thể suy ngƣợc lại nội dung ban đầu từ giá trị băm này.
Hàm băm đƣợc gửi kèm với thông tin gốc, cùng cơ chế bảo mật giúp mã băm không bị thay đổi hoặc giải mã khi bị lộ thông tin. Bên máy nhận, hàm băm lại đƣợc áp dụng đối với thông tin gốc để tìm ra mã băm mới đi kèm với thông tin gốc.2 Sơ đồ ứng dụng của hàm băm Các yêu cầu và thuộc tính của hàm băm: - H đƣợc áp dụng cho khối thông tin với chiều dài bất kỳ. - Kết quả của hàm H luôn có chiều dài cố định. - Việc tính giá trị của H(M) với khối thông tin M cho trƣớc phải đơn giản, có thể thực hiện bằng phần mềm và phần cứng một cách nhanh chóng và không tốn tài nguyên.
Một hàm băm bảo mật có các thuộc tính sau: - Tính một chiều (one-wayproperty): Cho trƣớc một đoạn thông tin m bằng kích thƣớc mã băm của hàm băm H, không thể tìm đƣợc một khối thông tin M sao cho H(M) = m. - Tính kháng đụng độ yếu (weak collosion resistance): Cho trƣớc khối thông tin M, không thể tìm khối thông tin M’ khác sao cho H(M) = H(M’).3 Một số thuật toán mã hóa đối xứng (Secret Key Cryptography) Sơ đồ của hình 2.