PKI Sinh trắc học: triển vọng và thách thức
Dịch vụ chứng thực điện tử (CTĐT) đang sử dụng rộng rãi trong các môi trường mạng thông tin và truyền thông nhằm đảm bảo tính toàn vẹn, tính xác thực và tính không chối bỏ của các loại thông tin điện tử. Các dịch vụ CTĐT trên hạ tầng PKI luôn được nghiên cứu, pháp triển dựa trên những thành tựu khoa học tiên tiến để đáp ứng nhu cầu thực tiễn.
PKI sinh trắc là một cách tiếp cận hướng đến việc sử dụng các đặc tính sinh trắc học gắn liền với người chủ sở hữu CTS với mục đích xác thực danh tính, thay vì sử dụng định danh và mật khẩu của người sử dụng.
Với ứng dụng CTS có eToken chứa khóa bí mật (tương ứng với khóa công khai trong CTS), việc sử dụng eToken chỉ liên quan đến số bí mật cá nhân (PIN). Bất kỳ ai đang có trong tay Etoken và biết số PIN đều có thể trở thành người sử dụng hợp pháp của CTS. Thực tế này tạo ra một lỗ hổng lớn cho những kẻ tấn công. Nếu định danh và mật khẩu được thay bằng các đặc tính sinh trắc gắn liền với người sử dụng thì các nguy cơ tấn công sẽ được giảm thiểu.
Áp dụng sinh trắc học vào CTS và hạ tầng PKI sẽ có PKI sinh trắc học, hay BKI (Bio-PKI), cho phép xác thực người sử dụng CTS gắn liền với các đặc tính sinh trắc học như vân tay, vân bàn tay, khuôn mặt, mống mắt, võng mạc mắt….
Những thách thức đối với BKI
Những thành tựu về nhận dạng các đặc tính sinh trắc của con người đã được khẳng định cả về mặt lý thuyết khoa học và thực hành, nhưng cài đặt ứng dụng chúng như thế nào trong các ứng dụng cụ thể thì còn nhiều vấn đề cần giải quyết.
Mật khẩu thông thường được sử dụng để xác thực người sử dụng hay chủ sở hữu của CTS là số PIN, mà bằng cách nào đó người khác có thể lấy được. Khi bị lộ người chủ sở hữu CTS có thể thay đổi thành số PIN mới miễn là giữ bí mật nó. Các số PIN hay mật khẩu cũng có thể được sử dụng để bảo vệ khóa mật
Đặc tính sinh trắc là duy nhất cho một người cụ thể. Xác thực danh tính của người sử dụng dựa vào các đặc tính sinh trắc của người đó dựa trên tính duy nhất và bất biến của các đặc tính sinh học hay tính toàn vẹn của các đặc tính này (mà không phải là tính bí mật của chúng). Bảo vệ tính riêng tư cho các đặc tính sinh trắc là cần thiết để tránh bị chiếm đoạt và sử dụng vào những mục đích sai có hại cho người là chủ sở hữu những đặc tính đó. Bởi vậy, xuất hiện các thách thức trong áp dụng các đặc tính sinh trắc để xác thực danh tính người sử dụng hay bảo vệ khóa mật mã của người sử dụng đó.
Thứ nhất, các đặc tính sinh trắc tuy là duy nhất đối với từng cá nhân nhưng việc lấy mẫu bằng các công cụ đo là các cảm biến luôn có các sai số nhất định. Cần phải xác định được sai số cho phép đối với các cảm biến này để có thể nhận được các số liệu chính xác và nhận dạng đúng đắn người sử dụng thông qua các đặc tính sinh trắc đo được.
Thứ hai, các đặc tính sinh trắc là duy nhất và bất biến không thay thế được, nên cần được bảo vệ. Trường hợp người sử dụng mất đi các đặc tính sinh trắc, thì phải có giải pháp thay thế.
Như vậy, muốn sử dụng các đặc tính sinh trắc để xác thực người sử dụng CTS hợp pháp hay bảo vệ khóa mật mã của người sử dụng hợp pháp thì phải giải quyết các yêu cầu cơ bản được đặt ra.
Rõ ràng, các đặc tính sinh trắc không thể được truyền đi dưới dạng bản rõ trên mạng để tránh tấn công nghe lén, không thể được lưu trữ dưới dạng bản rõ trong các CSDL hay trong các Token, máy tính xách tay với mục đích để đối sánh trùng khớp. Ngay cả khi đặc tính sinh trắc lưu trữ dưới dạng các giá trị băm (là các hàm một chiều) thì những kẻ tấn công vẫn có thể sử dụng kiểu tấn công từ điển để tìm ra được các đặc điểm sinh trắc thuộc về bản băm tương ứng.
Cũng giống như cặp khóa bí mật và công khai trong CTS, các đặc điểm sinh trắc cũng cần được giả thiết là có nguy cơ bị lộ và CTS sẽ không thể tiếp tục sử dụng được.
Việc lấy mẫu và truyền các thông tin đặc tính sinh trắc từ nơi lấy mẫu đến nơi kiểm tra cần phải được mã hóa để tránh bị lộ và phải chống lại được kiểu tấn công “sử dụng lại” (không cần phải biết bản rõ của các thông tin sinh trắc).
Các thông tin sinh trắc được sử dụng để xác thực thì thực chất chỉ là “bản rõ” trung gian. Trường hợp bản rõ này bị lộ hoặc bị sử dụng để mạo danh người sử dụng hợp pháp thì vẫn có thể gỡ bỏ hay thay thế bằng một bản rõ trung gian khác mà bản rõ gốc vẫn không bị lộ. Số các bản rõ trung gian phải đủ nhiều để có thể được dùng trong toàn bộ quá trình sử dụng của người sử dụng hợp pháp. Bản rõ gốc chỉ được lấy mẫu lần đầu khi người sử dụng đăng ký xin cấp CTS.
Việc sử dụng “bản rõ” đặc tính sinh trắc trung gian có ý tưởng giống như mật khẩu sử dụng một lần OTP. Mỗi lần đăng nhập, mật khẩu được xuất trình một lần và không sử dụng lại khiến kẻ tấn công dù bắt được mật khẩu hiện hành thì cũng không sử dụng được cho lần sau. Trong đó, điều quan trọng là mật khẩu gốc phải không bị lộ vì được bảo vệ rất chắc chắn.
Một yêu cầu nữa là các đặc tính sinh trắc không được sử dụng lẫn nhau để tránh khả năng vận dụng chéo, tăng khả năng bị lộ lọt.
Thực hiện giải pháp BKI
Lập mã (mã hóa) sinh trắc là quá trình gắn kết một cách an toàn một khóa lập mã, một mật khẩu hay một số PIN với các thông tin đặc tính sinh trắc học của người sử dụng, tạo thành một mẫu riêng (Private Template) hay mẫu được lưu trữ (Stored Template) sao cho không thể khôi phục được khóa lập mật hay thông tin các đặc tính sinh trắc từ mẫu được lưu trữ này. Khóa lập mã chỉ được tái tạo nếu mẫu sinh trắc “sống” của đúng người sử dụng được xuất trình và kiểm tra.
Các khóa lập mã, mật khẩu hay số PIN này được sinh ra từ quá trình đăng ký xin cấp CTS trong hệ thống PKI ban đầu, sao cho ngay cả người đăng ký xin cấp CTS cũng không được biết chúng. Khóa lập mã cũng độc lập hoàn toàn với thông tin các đặc tính sinh trắc nên luôn có thể thay đổi hoặc cập nhật.
Ngay sau khi người sử dụng đăng ký xin cấp CTS, các đặc tính sinh trắc được lấy mẫu, thuật toán lập mã sinh trắc gắn kết một cách an toàn và chắc chắn khóa lập mã với thông tin sinh trắc để tạo thành mẫu sinh trắc có bảo vệ (Protected Template), mẫu riêng (Private Template) hay mẫu được lưu trữ (Stored Template). Mẫu được lập mã sinh trắc cung cấp khả năng bảo vệ tính riêng tư hoàn hảo và có thể được lưu trữ trong các CSDL hoặc lưu trữ cục bộ như Smartcard, eToken, máy tính xách tay, điện thoại di động.…
Trong quá trình kiểm tra, người sử dụng sẽ xuất trình mẫu sinh trắc “sống” hay “tươi” của mình để thuật toán lập mã sinh trắc khôi phục lại được khóa lập mã, số PIN hay mật khẩu. Nếu mẫu sinh trắc không đúng thì việc kiểm tra đối sánh trùng khớp sẽ cho ra kết quả sai và không có khóa lập mã nào được trích hoặc tách ra cả.
Độ mật của khóa lập mã sinh trắc hết sức quan trọng, vì nó không chỉ bảo vệ khóa lập mã mà cả tính riêng tư của thông tin sinh trắc. Bên cạnh đó, vì lược đồ lập mã/giải mã sinh trắc là loại “mờ” (các mẫu sinh trắc lấy ở những lần khác nhau sẽ không hoàn toàn giống nhau) nên việc tạo ra một hệ thống lập mã sinh trắc làm việc chính xác và hiệu quả là một thách thức lớn về mặt công nghệ.
Các giải pháp được đề xuất gần đây đối với BKI gồm:
Giải pháp thứ nhất là sử dụng mẫu sinh trắc để xác thực CTS trực tiếp. Giải pháp này cho phép lấy mẫu các đặc tính sinh trắc trực tiếp của người sử dụng từ các cảm biến và chuyển thẳng đến các CSDL mẫu sinh trắc để đối sánh trùng khớp. Nếu trùng khớp thì người sử dụng được xác thực và trở thành người sử dụng hợp pháp của CTS.
Với giải pháp này thì hầu hết các yêu cầu trên không thỏa mãn được. Ví dụ, kẻ tấn công có thể bắt các mẫu sinh trắc trên kênh truyền rồi sử dụng lại cho các lần đăng nhập sau, dù chúng là rõ hay đã được lập mã. Kiểu tấn công “người trung gian” cũng có thể được áp dụng. Hơn nữa, tại CSDL mẫu sinh trắc nơi kiểm tra) có thể bị áp dụng kiểu tấn công từ điển.
Giải pháp thứ hai là áp dụng các đặc tính sinh trắc được mã hóa bằng hệ mật sinh trắc với khóa bí mật của CTS và không lưu trữ vào các CSDL mẫu sinh trắc hay lưu trữ cục bộ. Mẫu sinh trắc của người sử dụng lấy tại cảm biến được mã hóa, khi chuyển đến nơi kiểm tra sẽ được giải mã thông qua đối sánh trùng khớp để lấy ra khóa bí mật để sử dụng (trong trường hợp đối sánh trùng khớp thành công). Giải pháp này gọi là sinh khóa bí mật từ mẫu sinh trắc (Key Generating).
Tuy nhiên do việc lấy mẫu sinh trắc thường có các sai số nên giải pháp này khó đạt được tính ổn định cần thiết để giải mã sinh trắc lấy ra khóa bí mật đúng đắn trong các lần kiểm tra. Mặt khác, khi hệ mật sinh trắc bị lộ khóa thì việc gỡ bỏ và thay mới cũng cần được giải quyết. Điều quan trọng là không được lộ khóa gốc của hệ mật mã sinh trắc và phải xử lý việc thay cặp khóa bí mật và công khai mới khi khóa bí mật bị lộ.
Giải pháp thứ ba là sử dụng kết hợp hệ mật sinh trắc để phục hồi khóa bí mật gọi là gắn kết khóa bí mật (Key Binding). Giải pháp này tách lọc các thông tin đặc tính sinh trắc có tính ổn định thành dữ liệu hỗ trợ (Helper Data) được mã hóa sinh trắc đặt vào các trường mới mở rộng trong CTS. Các thông tin đặc tính sinh trắc không ổn định sẽ được tách lọc trực tiếp khi lấy mẫu từ cảm biến ở nơi kiểm tra.
Điều đặc biệt là trong giải pháp này là từ các đặc tính sinh trắc gốc người ta sinh ra các đặc tính sinh trắc trung gian để được sử dụng dần. Các đặc tính sinh trắc trung gian sẽ được sinh ra từ thông tin sinh trắc trung gian sau đó theo nguyên tắc lồng nhau. Chúng được quyết định bởi các đặc tính sinh trắc gốc được lấy mẫu từ lần đăng ký và được quản lý bởi Root CA. Mỗi lần thông tin sinh trắc trung gian bị cho là lộ thì sẽ được gỡ bỏ và khóa bí mật cũng sẽ được thay thế để có các thông tin sinh trắc trung gian mới. Cặp khóa bí mật và công khai cũng sẽ được thay thế một cách tương ứng.Trong quá trình xác thực, nếu đối sánh trùng khớp thì hệ mật sinh trắc sẽ giải mã để đưa ra khóa bí mật của cặp khóa bí mật và công khai.
Với giải pháp này chỉ có người hợp pháp mới có được xác thực đúng và có được khóa bí mật để sử dụng hoặc được xác thực. Ngoài ra các đặc tính sinh trắc của người sử dụng không lưu trữ và truyền đi, chỉ có trong CTS có lưu bản mã trung gian các thành phần ổn định của các đặc tính sinh trắc. Thông tin từ cảm biến về nơi kiểm tra cũng không thể sử dụng lại vì được mã hóa sinh trắc khác nhau cho mỗi lần đăng nhập nhờ sự tham gia của các giá trị ngẫu nhiên không lặp lại được gửi đến từ nơi kiểm tra.
Việc tấn công “kẻ xen giữa” và tấn công từ điển cũng không thể được áp dụng do mật mã sinh trắc đòi hỏi người đăng nhập phải cung cấp các đặc tính sinh trắc mà chỉ có người sử dụng hợp pháp mới có, nó cũng không được lưu trữ tại nơi kiểm tra mà chỉ được sinh ra trực tiếp.
Giải pháp mật mã sinh trắc này có triển vọng áp dụng cho các hạ tầng BKI, tuy nhiên độ mật của chúng cần được nghiên cứu kỹ. Nếu thành tựu mật mã sinh trắc đạt được tại mức độ mật cao đủ để bảo vệ tính riêng tư của các đặc tính sinh trắc gốc trong cả cuộc đời của một người sử dụng thì đây là một triển vọng lớn cho BKI.
Kết luận
BKI là sự cộng sinh của PKI truyền thống và sinh trắc học trong an toàn thông tin. Như vậy, BKI sẽ bao hàm những ưu, nhược điểm của PKI truyền thống và công nghệ sinh trắc học. Ứng dụng sinh trắc học cho PKI có nhiều triển vọng ứng dụng và có thể mang lại những lợi ích quan trọng trong triển khai PKI nói chung. Chính vì vậy mà các nghiên cứu và triển khai BKI sẽ còn cần tiếp tục thực hiện.Với những bước tiến lớn trong sinh trắc học nói chung và trong mật mã sinh trắc nói riêng thì trong tương lai gần, BKI sẽ được triển khai một rộng rãi như PKI và góp phần đáng kể vào sự phát triển chung của PKI theo chiều hướng an toàn và tiện dụng.