Chương 2 BÀI TOÁN NHẬN DẠNG VÂN TAY
3.3. GIẢI PHÁP ĐỀ XUẤT
3.3.1. Giải pháp sử dụng thẻ thông minh TOC
Thẻ thông minh sử dụng lƣu trữ các thông tin ngƣời dùng, chứng chỉ số, khóa riêng và thông tin mẫu vân tƣơng ứng. Thẻ thông minh cần hỗ trợ chuẩn X.509 và các hàm mã hóa nhƣ khả năng sinh chữ ký số trên thẻ, khả năng xác minh chữ ký số trên thẻ. Thẻ thông minh sử dụng không cần có bộ thu nhận sinh trắc hay module đối sánh sinh trắc. Các vấn đề sau sẽ đƣợc xem xét khi xây dựng một giải pháp tổng thể: thông tin lƣu trữ trên thẻ thông minh, quá trình xác minh tính hợp lệ của thông tin lƣu trên thẻ, quá trình xác thực trong hệ thống tổng thể và cuối cùng là mô hình giải pháp tổng thể.
3.3.1.1. Thông tin lƣu trữ trên thẻ
Thông tin cần lƣu trên thẻ thông minh gồm có:
Thông tin ngƣời dùng (thông tin ID, nhà cấp thẻ, thời hạn…)
Mẫu vân sinh trắc học
Khóa riêng của ngƣời dùng
Nhƣ đã nói ở phần trên, chúng ta cần cơ chế đảm bảo sự thống nhất giữa thông tin ngƣời dùng và mẫu vân sinh trắc học. Để đảm bảo điều này, chứng chỉ số đƣợc sử dụng. Khi đó thông tin đƣợc lƣu trên thẻ gồm có:
Chứng chỉ số X.509 (gồm thông tin ngƣời dùng, serial chứng chỉ, chữ ký,…)
Mẫu vân đã đƣợc ký số bởi nhà cấp phát thẻ
Khóa riêng của ngƣời dùng
Chứng chỉ số có cấu trúc theo chuẩn và đƣợc xác minh bởi CA tƣơng ứng. Hình dƣới là cấu trúc của chứng chỉ số lƣu trên thẻ tƣơng ứng với ngƣời dùng USRi. Chứng chỉ số X.509 cấp phát cho ngƣời dùng đóng vai trò là định danh của ngƣời dùng đối với các ứng dụng. Mối tƣơng quan giữa mẫu vân và chứng chỉ số của ngƣời dùng không có nên rất có thể xảy ra khả năng giả mạo thông tin nhƣ đã nêu ở phần trƣớc. Chính vì lý do này, cả mẫu vân và thông tin định danh của ngƣời dùng cần đƣợc ký số nhằm đảm bảo mối tƣơng quan với chƣng chỉ X.509 của ngƣời dùng.
Sau khi ngƣời dùng đƣợc cấp chứng chỉ X.509, số serial của chứng chỉ sẽ đóng vai trò duy nhất ứng với mỗi ngƣời dùng riêng biệt do vậy số serial của chứng chỉ chính là ID của ngƣời dùng. Nhà phát hành thẻ cần ký lên dữ liệu của ngƣời dùng gồm có thông tin mẫu vân, các thông tin liên quan tới thuật toán xác minh và số serial của chứng chỉ số tuơng ứng với ngƣời dùng. Cấu trúc thông tin sinh trắc đƣợc ký số bởi nhà cấp phát thẻ nhƣ hình dƣới.
CHỨNG CHỈ X.509 CHO NGƯỜI DÙNG USRi
CHỮ KÝ SỐ CỦA CA: SigCA(SKCA, CIi) Thông tin chứng chỉ số CIi
Phiên bản định dạng chứng chỉ số Số serial của chứng chỉ CSRUSRi
Thuật toán ký số sử dụng cho chứng chỉ Tên X500 của nhà cấp phát chứng chỉ Khoảng hợp lệ (ngày bắt đầu/ngày kết thúc)
Tên X500 của đối tượng sở hữu chứng chỉ Thuật toán mã hóa/ký số sử dụng Khóa công khai của đối tượng PKUSRi
Thông tin khóa công khai của đối tượng
Định danh duy nhất của nhà phát hành và đối tượng Các tùy chọn mở rộng khác Ký số Enc(SKCA, H(CIi)) = SigCA(SKCA, CIi) Khóa riêng của CA: SKCA
Hình 55. Chứng chỉ số X.509 cấp cho ngƣời dùng USRi bởi CA
THÔNG TIN MẪU VÂN ỨNG VỚI NGƯỜI DÙNG USRi
CHỮ KÝ SỐ CỦA CA: SigIS(SKIS, TIi) Thông tin mẫu vân TIi
Phiên bản định dạng mẫu vân
Serial của chứng chỉ tương ứng TSRUSRi=CSRUSRi
Thuật toán ký số sử dụng cho dữ liệu mẫu vân Tên X500 của nhà phát hành thẻ
Ký số
SigIS(SKIS, TIi)
Khóa riêng của nhà cấp phát thẻ: SKis
Thuật toán đối sánh sinh trắc sử dụng Dữ liệu mẫu vân TDi
Thông tin mẫu vân
Các thông tin lƣu trên thẻ đƣợc đảm bảo tính toàn vẹn gồm có:
Định danh ngƣời dùng – Chứng chỉ số đƣợc cấp phát bởi CA
Dữ liệu mẫu vân – Đƣợc ký số và cấp phát bởi nhà phát hành thẻ IS
Dữ liệu khóa bí mật tƣơng ứng với chứng chỉ số cấp phát bởi CA
Ngoài các thông tin nói trên, thẻ thông minh cần lƣu các chứng chỉ chỉ số của CA và nhà phát hành thẻ đƣợc sử dụng trong quá trình xác thực. Các thông tin đƣợc đảm bảo tính toàn vẹn nhờ chứng chỉ số và kỹ thuật ký số, tuy nhiên để xác minh mối tƣơng quan giữa dữ liệu định danh (chứng chỉ X.509) và dữ liệu sinh trắc cần có một quy trình, giao thức cụ thể. Phần sau sẽ trình bày một quy trình nhằm xác minh mối tƣơng quan giữa dữ liệu sinh trắc và định danh của ngƣời dùng.
3.3.1.2. Xác minh thông tin hợp lệ
Quá trình xác minh ngƣời dùng về cơ bản chia thành ba giai đoạn:
Giai đoạn xác minh tính hợp lệ của thông tin lƣu trên thẻ: kiểm tra mối tƣơng quan, tính toàn vẹn thông tin của các dữ liệu lƣu trên thẻ
Giai đoạn đối sánh sinh trắc: thực hiện quá trình đối sánh giữa mẫu vân và dữ liệu vân tay thu nhận từ máy quét
Giai đoạn kiểm chứng thông tin : thực hiện bƣớc kiểm chứng cuối cùng đối với ngƣời dùng sử dụng thuật toán ký số hoặc mã hóa khóa công khai trƣớc khi cấp phiên làm việc hợp lệ cho ngƣời dùng.
Quá trình xác minh tính hợp lệ đƣợc thực hiện trên thẻ và đây là bƣớc đầu tiên trƣớc khi các quá trình khác đƣợc thực hiện. Quá trình xác minh tính hợp lệ của thông tin lƣu trữ không liên quan tới các thành phần cấu thành nên hệ thống, do vậy mô hình hệ thống sẽ đƣợc đƣa ra trong phần sau. Hình dƣới mô tả quá trình xác minh tính toàn vẹn thông tin đƣợc lƣu trữ trong thẻ thông minh.
Xác minh tính hợp lệ của thông tin lưu trữ trên thẻ
Đối sánh sinh trắc
Kiểm chứng thông tin
Hình 57. Ba giai đoạn trong quá trình xác thực
Thông tin lưu trữ trong thẻ gồm có (CIi, SigCA(SKCA, CIi)); (TIi, SigIS(SKIS, TIi));
H(CIi) = DEC(PKCA, SigCA(SKCA, CIi)) ? TSRUSRi = CSRUSRi? H(TIi) = DEC(PKIS, SigIS(SKCA, TIi)) ? Đối sánh sinh trắc học
Kiểm chứng thông tin PKCA PKIS KẾT LUẬN THÔNG TIN BỊ THAY ĐỔI Kết thúc
Khi thẻ thông minh đƣợc đƣa vào đầu đọc, quá trình kiểm tra tính hợp lệ của thông tin lƣu trong thẻ đƣợc kích hoạt. Các bƣớc trong quá trình thực hiện nhƣ sau:
Sử dụng khóa công khai của CA kiểm tra chữ ký của CA là hợp lệ, nếu chữ ký hợp lệ chuyển sang bƣớc sau, nếu không hợp lệ kết luận thông tin trên thẻ vi phạm tính toàn vẹn và quá trình kết thúc.
Kiểm tra số Serial lƣu trên chứng chỉ số là tƣơng ứng với số Serial lƣu trên dữ liệu mẫu vân. Nếu hai số Serial là trùng khớp chuyển sao bƣớc sau, nếu không trùng khớp kết luận thông tin trên thẻ vi phạm tính toàn vẹn và quá trình kết thúc.
Sử dụng khóa công khai của IS kiểm tra chữ ký của IS là hợp lệ, nếu chữ ký hợp lệ chuyển sang bƣớc sau, nếu không hợp lệ kết luận thông tin trên thẻ vi phạm tính toàn vẹn và quá trình kết thúc.
Hệ thống chuyển sang quá trình đối sánh sinh trắc học. Quá trình đối sánh sinh trắc học yêu cầu sự tham gia của tất cả các thành phần trong hệ thống, chúng ta sẽ mô tả chi tiết mô hình hệ thống cũng nhƣ các quá trình thực thi trong phần dƣới đây.
3.3.1.3. Quá trình xác thực
Hệ thống đƣợc xây dựng dựa trên hạ tầng khóa công khai. Các thành phần của hệ thống cần đƣợc xác định rõ ràng về chức năng nhiệm vụ trong hệ thống và vai trò trong từng quá trình riêng biệt. Điều này cho phép chúng ta xác định đƣợc chính sách bảo mật cần thiết áp dụng trong từng quá trình riêng lẻ khi ngƣời dùng tƣơng tác với hệ thống. Về cơ bản, hệ thống có các thành phần sau:
Đơn vị CA (Certificate authority)
Đơn vị phát hành thẻ (Issuer)
Máy chủ (Server)
Ứng dụng máy chủ (Server application)
Hệ thống đầu cuối (Terminal)
Ứng dụng tại hệ thống đầu cuối (Terminal application)
Để đảm bảo tính toàn vẹn dữ liệu trong quá trình tƣơng tác giữa các thành phần trong hệ thống, mỗi thành phần đều đƣợc cấp phát một chứng chỉ số tƣơng ứng. Dƣới đây là danh sách các chứng chỉ đƣợc cấp cho các thành phần:
Chứng chỉ số của CA: CERTCA
Chứng chỉ số của đơn vị phát hành thẻ: CERTIS
Chứng chỉ số của máy chủ: CERTSER
Chứng chỉ số của ứng dụng máy chủ: CERTSA
Chứng chỉ số của hệ thống đầu cuối j: CERTTERJ
Chứng chỉ số của ứng dụng hệ thống đầu cuối j: CERTTERAJ
Chứng chỉ số ngƣời dùng i: CERTUSRI
Mô hình giải pháp là một hệ thống các ứng dụng kết dính dựa trên cơ sở phần cứng do vậy chúng ta có thể bỏ qua chứng chỉ của máy chủ CERTSER, chứng chỉ số cho thiết bị đầu cuối CERTTERJ mà chỉ sử dụng chứng chỉ số của ứng dụng máy chủ CERTSA và chứng chỉ số cho ứng dụng đầu cuối CERTTERAJ. Chứng chỉ số của máy chủ, chứng chỉ số thiết bị đầu cuối sẽ đƣợc sử dụng khi giải pháp sử dụng kết hợp với mạng riêng ảo nhằm cung cấp kênh truyền an toàn hơn trong quá trình giao tiếp (Virtual Private Network - VPN). Về bản chất, đơn vị phát hành thẻ thông minh cũng chính là nhà cung cấp ứng dụng. Khi đó chúng ta có thể coi hai chứng chỉ CERTIS và CERTSA là một. Ứng với mỗi chứng chỉ số đều có khóa riêng tƣơng ứng, ký hiệu các khóa riêng tƣơng ứng với mỗi chứng chỉ số đã nêu ở trên gồm có:
Khóa riêng của CA: SKCA
Khóa riêng của đơn vị phát hành thẻ: SKIS
Khóa riêng của máy chủ: SKSER
Khóa riêng của ứng dụng máy chủ: SKSA
Khóa riêng của hệ thống đầu cuối j: SKTERJ
Khóa riêng của ứng dụng hệ thống đầu cuối j: SKTERAJ
Nhƣ đã nêu ở trên, quá trình xác thực gồm có ba giai đoạn: xác minh tính hợp lệ của thông tin lƣu trên thẻ; đối sánh sinh trắc và kiểm chứng thông tin. Hệ thống xác thực đề xuất cũng chia thành ba quá trình nhƣ trên và trong mỗi quá trình lại đƣợc chia nhỏ hơn. Hình vẽ bên dƣới mô tả toàn bộ hệ thống cũng nhƣ quá trình xác thực tƣơng ứng. Quá trình xác minh tính hợp lệ của thông tin lƣu trên thẻ đã nêu trong mục 3.1.2. Phần này chỉ mô tả chi tiết hai quá trình đối sánh và kiểm chứng thông tin. Sau đây là mô tả chi tiết của hai quá trình.
(1) Quá trình xác minh tính hợp lệ của thông tin lƣu trên thẻ (2) Quá trình đối sánh sinh trắc
Thông tin trên thẻ là hợp lệ, khi đó thẻ gửi mẫu vân kèm ký số tới cho ứng dụng máy chủ (TIi, SigIS(SKis, TIi))
Hệ thống đầu cuối thu nhận vân tay thực, thực hiện quá trình tiền xử lý ảnh. Ứng dụng đầu cuối ký số lên dữ liệu đã đƣợc xử lý và gửi kết quả kèm chữ ký tới ứng dụng máy chủ (LFIi, SigTER(SKteraj, LFIi))
Ứng dụng máy chủ kiểm chứng tính hợp lệ của dữ liệu mẫu vân và dữ liệu vân tay thực. Nếu cả hai đều hợp lệ, ứng dụng máy chủ thực hiện đối sánh MATCH(TIi, LFIi) kết quả quá trình đối sánh là MRST.
(3) Quá trình kiểm chứng thông tin
Ứng dụng máy chủ sinh số ngẫu nhiên Nrd và thực hiện ký số lên tổng (MRST + Nrd) cho chữ ký là SigSA(SKsa, (MRST+Nrd))
Gửi (MRST, Nrd, SigSA(SKsa, (MRST+Nrd))) về terminal j.
Thẻ xác minh tính hợp lệ của thông tin (MRST, Nrd, SigSA(SKsa, (MRST+Nrd))). Nếu thông tin là hợp lệ thì thẻ sẽ kiểm tra kết quả đối sánh MRST. Trong trƣờng hợp kết quả đối sánh là khớp, thẻ sẽ cho phép truy xuất khóa bí riêng SKusri lƣu trên thẻ.
Thẻ thực hiện ký số với khóa riêng hợp lệ lên số ngẫu nhiên nhận đƣợc và gửi lại SigUSRi(SKusri, H(Nrd)) cho ứng dụng máy chủ.
Ứng dụng máy chủ kiểm tra tính hợp lệ thông tin nhận đƣợc từ terminal: Dec(PKusri, SigUSRi(SKusri, H(Nrd))) = H(Nrd). Nếu thông tin là trùng khớp, ứng dụng sẽ cấp phiên làm việc cho ngƣời dùng USRi tƣơng ứng.
CÁC THÀNH
PHẦN CÔNG KHAI
HỆ THỐNG ĐẦU CUỐI HỆ THỐNG MÁY CHỦ
Kênh truyền an toàn Chứng chỉ số người dùng i: CERTusri Chứng chỉ số của ứng dụng trên terminal j: CERTteraj
Chứng chỉ số của CA: CERTca Chứng chỉ số của đơn vị phát hành thẻ: CERTis Chứng chỉ số của ứng dụng máy chủ: CERTsa Chứng chỉ số của máy chủ: CERTser SMARTCARD TERMINAL SKusri SKteraj SKser SKsa
(CIi, SigCA(SKCA, CIi)) (TIi, SigIS(SKIS, TIi))
CERTca CERTis Gửi (TIi, SigIS(SKIS, TIi)) tới server Dữ liệu thu nhận từ máy quét vân tay Tiền xử lý ảnh Ký số lên dữ liệu
tiền xử lý LFI Gửi (LFIi, SigTER(SKteraj, LFIi))
tới server Xác minh thông tin hợp lệ Y Xác minh dữ liệu TIi hợp lệ Xác minh dữ liệu LFIi hợp lệ C E R T is C E R T te ra j THỰC HIỆN ĐỐI SÁNH MATCH(Tii, LFIi) = MRST Sinh số ngẫu nhiên Nrd Ký lên kết quả, số ngẫu nhiên (MRST, Nrd, SignSA(Sksa, MRST + Nrd)) Gửi (MRST + Nrd, SignSA(Sksa, MRST + Nrd)) về client Xác minh dữ liệu (MRST, Nrd, SignSA(Sksa, MRST + Nrd)) hợp lệ Kết quả đối sánh là khớp Cho phép truy xuất SKusri Ký số lên Nrd SignUSRI(Skusri, H(Nrd)) Gửi SignUSRI(SKusri, H(Nrd)) lên server CERTusri Kiểm tra ký số DEC(Pkusri, SignUSRI(SKusri, H(Nrd))) = H(Nrd)?
Cấp quyền truy xuất ứng dụng cho USRi
Thông báo kết quả quá trình xác thực tới terminal
Hình 59. Quá trình xác thực với thẻ thông minh dạng TOC
3.3.1.4. Mô hình giải pháp
Nhƣ đã đề cập trong mục trƣớc, luận văn không tập trung chi tiết vào quá trình cấp phát thẻ, quá trình sinh chứng chỉ số cho ngƣời dùng mà chỉ tập trung xây dụng giải pháp xác thực kết hợp giữa thẻ thông minh và sinh trắc học. Tuy nhiên, giải pháp đƣa ra phải có một mô hình hệ thống cụ thể và các thành phần cấu thành nên hệ thống đó. Điều này cần thiết cho việc xây dựng các ứng dụng thử nghiệm các lý thuyết, cũng nhƣ các ứng dụng hoàn thiện trong thực tế.
Giải pháp tổng thể gồm có hai phần: thành phần ứng dụng xác thực và thành phần đăng ký phát hành thẻ. Các thành phần ứng dụng tham gia xác thực đƣợc mô tả trong mục 3.1.3, các thành phần tham gia quá trình phát hành thẻ gồm có; đơn vị cấp phát chứng chỉ CA; đơn vị cấp phát CA mức cao hơn (nếu cần); hệ thống phát hành thẻ; thiết bị đăng ký đầu cuối. Hình dƣới mô tả các thành phần cho một giải pháp tổng thể dựa trên thẻ thông minh dạng TOC.
Smartcard R/W
Keyboard Sensor
QUÁ TRÌNH CẤP PHÁT
Thông tin người sử dụng USRi Dữ liệu vân tay Nén dữ liệu Thiết bị đăng ký đầu cuối Giải nén dữ liệu Trích chọn đặc trưng Ký số lên mẫu vân
Lưu lên thẻ thông minh
Hệ thống phát hành CA Upper CA Bộ sinh khóa Cấp phát chứng chỉ QUÁ TRÌNH XÁC THỰC Smartcard R/W Sensor SERVER SERVER APPLICATION TERMINAL PC TERMINAL APPLICATION Chuyển tới người dùng Sinh khóa cho các đối tượng Tạo chứng chỉ cho các đối tượng
Hình 60. Mô hình tổng thể giải pháp đề xuất sử dụng thẻ TOC
Trong mô hình ở trên, ngƣời dùng sẽ nhập các thông tin cá nhân thông qua thiết bị đăng ký đầu cuối. Thông tin ngƣời dùng sẽ đƣợc chuyển đến bộ sinh khóa và CA tƣơng ứng để sinh khóa và chứng chỉ số. Dữ liệu khóa và chứng chỉ số đƣợc gửi tới bộ ghi dữ liệu lên thẻ. Ngoài ra chứng chỉ số còn đƣợc gửi tới bộ sinh chữ ký cho mẫu vân. Tiếp đó thiết bị đầu cuối thu nhận dữ liệu vân tay và thực hiện nén dữ liệu trƣớc khi truyền tới hệ thống phát hành trên một kênh truyền an toàn. Hệ thống phát hành thẻ khi nhận đƣợc dữ liệu vân tay thực hiện giải nén, kế tiếp là quá trình trích chọn đặc trƣng để lấy ra mẫu vân ứng với vân tay đƣợc gửi tới. Hệ thống phát hành sử dụng khóa riêng để ký lên mẫu vân vừa thu đƣợc có kèm theo thông tin chứng chỉ số ứng với ngƣời dùng. Mẫu vân có kèm chữ ký đƣợc gửi tới bộ ghi dữ liệu. Bộ ghi dữ liệu thực hiện ghi thông tin lên thẻ. Kết thúc quá trình, thẻ đƣợc gửi tới ngƣời sử dùng cuối.
Ngoài việc phát hành thẻ cho ngƣời dùng cuối, đơn vị cấp chứng chỉ số và đơn vị