3.1.1. Xây dựng hệ thống bảo mật dựa trên IBE
Phần này tôi sử dụng IBE để xây dựng một chương trình mã hóa mới, cho phép người sử dụng giao tiếp an toàn, có thể xác minh chữ ký của nhau dễ dàng mà không cần trao đổi các mã khóa công khai hoặc cá nhân, không cần lưu giữ bí mật các thư mục quan trọng, cũng như không cần sử dụng dịch vụ của bên thứ ba.
Chương trình đặt giả thiết về sự tồn tại đáng tin cậy của các trung tâm tạo mã nhằm cung cấp cho mỗi người dùng một thẻ thông minh cá nhân khi lần đầu tiên tham gia hệ thống.
Các thông tin nhúng trong thẻ này cho phép người dùng đăng ký và mã hóa các tin nhắn gửi đi, giải mã và xác minh các thông báo nhận được trong điều kiện hoàn toàn riêng tư, không lệ thuộc vào phía đối tác bên kia. Thẻ phát hành trước đó không cần cập nhật khi người dùng mới tham gia mạng lưới, bên cạnh đó, các trung tâm khác nhau cũng không nhất thiết phải phối hợp giải quyết tiếp các công đoạn sau đó, hay thậm chí thiết lập thêm 1 danh sách người dùng. Họ hoàn toàn có thể xong nhiệm vụ ngay khi tất cả các thẻ đã được phát hành, còn người sử dụng cứ tiếp tục hoạt động bình thường trong phạm vi thời gian không xác định.
Chương trình có thể ứng dụng cho nhóm khách hàng cao cấp bí mật như Hiệu trưởng hoặc trưởng phòng đào tạo ở các trường hoặc các chi nhánh của một trường.... Chương trình cũng sử dụng được cho hàng trăm hệ thống tạo khóa cùng với hàng triệu người dùng. Đây sẽ là 1 tiền đề cho sản phẩm thẻ nhận dạng tiện dụng mới mà mọi người có thể sử dụng trong việc ký séc, quẹt thẻ tín dụng, văn bản pháp luật, và thư điện tử.
Chương trình dựa trên một hệ thống mã khóa công khai với đặc thù: thay vì tạo ra một cặp khóa công khai/bí mật ngẫu nhiên rồi công bố một trong 2, người dùng bây giờ chỉ cần chọn tên và địa chỉ mạng như mã khóa công khai. Hệ thống chấp nhận bất kỳ sự kết hợp sử dụng nào như tên, số an sinh xã hội, địa chỉ đường phố, số văn phòng hoặc số điện thoại (tùy thuộc vào ngữ cảnh) với điều kiện là chỉ được phép xác định cho duy nhất 1 người, đề phòng có sự phủ nhận hay tranh chấp sau này. Trong khi đó, mã khóa bí mật tương ứng được định hình bởi trung tâm tạo mã và sẽ cấp cho người sử dụng các hình thức thẻ thông minh khi lần đầu tiên tham gia mạng lưới. Thẻ có chứa một bộ vi xử lý, một cổng 1/0, một bộ nhớ RAM, ROM với khóa bí mật, các chương trình để mã hóa/giải mã tin nhắn và hệ chữ ký xác minh.
Chương trình cũng dựa trên nhận dạng của hệ thống thư điện tử: nếu chúng ta biết tên và địa chỉ của ai đó, chúng ta có thể gửi tin nhắn mà chỉ người đó mới có thể đọc, hoặc chúng ta có thể xác minh chữ ký mà chỉ người đó mới có thể làm ra.
Điều này khiến cho việc thông tin liên lạc trở nên rõ ràng và dễ sử dụng, ngay cả đối với người không có kiến thức về mã khẩu mã hóa.
Cụ thể: khi User A muốn gửi một thông điệp tới User B, anh ta đặt nó với từ khóa bí mật trong thẻ thông minh của mình, mã hóa kết quả bằng cách sử dụng tên và địa chỉ của người B, cho biết thêm tên riêng và địa chỉ của mình vào tin nhắn, rồi gửi nó đến B. Khi B nhận được thông báo, anh ta sẽ giải mã nó bằng cách sử dụng từ khóa bí mật trong thẻ thông minh của mình, sau đó xác minh chữ ký bằng cách sử dụng tên và địa chỉ của người gửi.
Các trung tâm tạo mã có đặc quyền được biết một số thông tin bí mật cho phép tính toán ra từ khóa bí mật của tất cả người dùng trong mạng. Các từ khóa này tốt hơn là nên tính toán bởi một trung tâm tạo mã thay vì người sử dụng, vì như vậy sẽ tránh được yếu tố đặc biệt về nhận dạng của người dùng. Ví dụ như: nếu người A có thể tính được từ khóa bí mật tương ứng với khóa công khai "A" thì anh ta cũng có thể tính được
từ khóa bí mật tương ứng với khóa công khai "B", "C", v...v, và do đó, chương trình này sẽ không còn an toàn như vốn thế nữa.
Tổng quát, hệ thống bảo mật phụ thuộc vào những điểm sau đây: (A) Bảo mật của chức năng mã hóa cơ bản.
(B) Lưu trữ và giữ bí mật tuyệt đối các thông tin cá nhân tại trung tâm tạo mã. (C) Kiểm tra triệt để danh tính người sử dụng trước khi cấp phát hành thẻ cho
người dùng.
(D) Các biện pháp phòng ngừa được thực hiện bởi người sử dụng để ngăn chặn sự mất mát, sao chép, hoặc sử dụng trái phép thẻ của họ.
Chương trình kết hợp hiệu quả tin nhắn với thông tin nhận diện cá nhân và hiệu quả sở hữu của người sử dụng với thẻ của mình. Giống như bất kì cơ quan nào liên quan đến Chứng minh thư hoặc ID Cards, trung tâm phải rà soát và sàng lọc cẩn thận toàn bộ các thẻ để tránh những sai lệch, thất lạc và phải bảo vệ cẩn thận con dấu của mình tránh những hình thức giả mạo, làm nhái. Người sử dụng có thể tự bảo vệ bản thân mình không bị sử dụng thẻ trái phép thông qua 1 hệ thống mật khẩu hoặc ghi nhớ từ khóa.
Sự khác biệt giữa “mã khóa cá nhân”, “mã khóa công khai” và “hệ thống bảo mật nhận dạng” được tổng hợp trong hình 3.1
Trong tất cả những phương thức trên, đoạn tin nhắn m được mã hóa dùng key Ke, sau đó được truyền dưới dạng mã hóa text (c) thông qua các kênh tiếp xúc, và giải mã bằng key Kd. Cách chọn key được dựa trên 1 seed k. Trong phương thức “mã khóa cá nhân”, Ke = Kd = k, và hai đầu kênh thông tin phải đảm bảo được tính bảo mật và xác thực của khóa k.
Hình 3.1: Mô hình hệ thống nhận dạng IBE
Trong phương thức “mã khóa công khai”, khóa dùng trong việc mã hóa và giải mã được tính toán dựa trên hai hàm Ke = Fe(k) va Kd = Fd(k), và khóa chỉ cần được truyền qua 1 đường bảo đảm nguồn gốc xác thực của khóa. Trong phương thức “hệ thống bảo mật nhận dạng) (dựa trên nhận dạng của người gửi hay nhận), khóa dùng trong việc mã hóa được xác định dựa vào _i_ va _k_ tren ham Kd = F(i,k). Ở phương thức này, không cần chuyển key giữa người dùng; quá trình này được thay thế bởi 1 động tác duy nhất là “tạo khóa” khi người nhận mới tham gia vào hệ thống.
Phương thức “mã khóa công khai” và “chữ ký nhận dạng” là hình thức mã hóa tương tự như hệ thống mã hóa được thể hiện trong hình 3.2.
Hình 3.2: Hệ thống mã hoá mô hình bảo mật
Tin m được ký bởi việc sử dụng hệ thống tạo khóa Kg, được truyền cùng với chữ ký s và nhận dạng của người gửi, và có thể được xác minh với chữ ký Kv.