Giải pháp dùng mật mã sinh trắc để bảo vệ khóa bí mật

Một phần của tài liệu Nghiên cứu ứng dụng sinh trắc học trong việc đảm bảo an toàn cho hệ thống giao dịch điện tử (Trang 74)

Hệ thống bảo mật các giao dịch hiện nay trên Internet là ngƣời sử dụng hợp pháp sở hữu đƣợc một cái gì đó để đảm bảo an toàn nhƣ khóa bí mật, hoặc đã đƣợc giao cho một mật khẩu hay token mà giải mã đƣợc khóa bí mật của ngƣời dùng, hoặc công nhận quyền truy cập thông qua việc sử dụng các kỹ thuật mã hóa quy ƣớc. Khóa bí mật này có thể đƣợc kèm theo một số nội dung của chứng thƣ số (trong trƣờng hợp một trình duyệt web), hoặc có thể đƣợc mã hóa bằng thiết bị cầm tay hay thiết bị máy vi tính, chẳng hạn nhƣ thẻ thông minh hay các thiết bị điện tử. Trong tất cả các trƣờng hợp, giả định rằng là ngƣời sử dụng bảo vệ các thiết bị và các khóa thông qua sở hữu cá nhân và sự bảo mật khỏi bị trộm cắp. Tuy nhiên, trong môi trƣờng mạng ngày nay, những token có thể dễ dàng bị mất vì sự kiểm soát cẩu thả của ngƣời sử dụng, hoặc bằng cách trực tiếp lấy cắp mật khẩu hay các thao tác thực hiện mật khẩu. Việc sử dụng dấu vân tay thay cho mật khẩu, token hoặc thẻ thông minh sẽ giải quyết đƣợc vấn đề này. Ngƣời sử dụng sẽ không sợ bị mất thẻ thông minh hoặc bị đánh cắp mật khẩu. Giải pháp cho vấn đề này là sẽ dùng thuật toán mã hóa sinh trắc học đã đƣợc mô tả ở trên để bảo vệ khóa bí mật. Dƣới đây là mô tả chi tiết giải pháp này.

Xây dựng phần mềm theo thuật toán mật mã sinh trắc học gồm hai module nhƣ sau:

Module 1: Đăng kí dấu vân tay. Dùng thuật toán trong quá trình đăng ký của mã hóa sinh trắc học.

Quá trình đăng ký

E-1: Xử lý ảnh

Kết hợp một tập dấu vân tay đầu vào với một mảng ngẫu nhiên để tạo ra hai mảng đầu ra: Hstored(u) và c0(x).

E-2: Liên kết khóa (Key linking)

Dùng giải thuật liên kết để liên kết khóa mã k0 với mẫu c0(x). E-3: Tạo mã định danh

Tạo ra một mã định danh id0 từ chìa khóa k0.

Module 1 có input và output nhƣ sau:

Input: dấu vân tay ngƣời dùng, một mảng và một khóa k0 sinh ngẫu nhiên. Output: Bioscrypt bao gồm: Hstore(u), Lookup table, id0

Sau đó lƣu Bioscrypt và khóa cá nhân vào một thiết bị lƣu trữ nhƣ token.

Module 2: Dùng dấu vân tay để lấy khóa bí mật, sử dụng thuật toán trong quá trình xác thực của mã hóa sinh trắc học.

V -1: Xử lý ảnh

V -2: Tìm chìa khóa

Sử dụng giải thuật giải mã tìm chìa khóa k1 từ c1(x). V -3: Kiểm tra khóa

Kiểm tra k1 bằng cách tạo ra một mã định danh mới id1 và so sánh nó với id0 ở trên.

Module 2 có input và output nhƣ sau: Input: dấu vân tay ngƣời dùng, Bioscrypt.

Output: nếu dấu vân tay của ngƣời dùng phù hợp thì cho phép sử dụng khóa cá nhân, nếu dấu vân tay của ngƣời dùng không phù hợp thì từ chối.

Nhƣ vậy, nếu muốn dùng mật mã sinh trắc học bảo vệ khóa bí mật theo thuật toán mật mã sinh trắc học thì phải ghi Bioscrypt vào token và đƣa cho ngƣời sử dụng cầm để mỗi khi ngƣời dùng cần lấy khóa bí mật thì dùng dấu vân tay để lấy ra khóa bí mật. Trong giải pháp này, để có thể tăng thêm tính bảo mật thì có thể sử dụng chính khóa bí mật làm k0, nhƣ vậy trong Token chỉ cần lƣu trữ duy nhất Bioscrypt, còn bản thân khóa bí mật sẽ đƣợc lấy ra trong quá trình xác thực dấu vân tay. Quá trình có thể tóm tắt lại nhƣ sau: Module Mã hóa sinh trắc học Khóa bí mật Bioscrypt Bioscrypt Module Giải mã sinh trắc học Khóa bí mật Input Input

Quá trình đăng ký Quá trình kiểm tra Etoken

Hình 3-6. Giải pháp dùng mật mã sinh trắc để bảo vệ khóa bí mật.

Một phần của tài liệu Nghiên cứu ứng dụng sinh trắc học trong việc đảm bảo an toàn cho hệ thống giao dịch điện tử (Trang 74)