Theo các phân tích ở Chương 5, các số nguyên tố 𝑝 và 𝑞 được sinh ra ở bước (3) và
(5) trong Thuật toán 8.1 trên nên là các số nguyên tố mạnh (strong prime) thay vì các số nguyên tố ngẫu nhiên nhằm tránh các phương pháp tấn công phân tích đặc biệt. Vì vậy, phần sinh khóa của RSA sẽ được thay bằng phần sinh khóa của thư viện mã hóa SmartRSA được xây dựng và giới thiệu ở Chương 7.
8.2.3 Nhận xét
Bouncy Castle là gói phần mềm mã hóa mã nguồn mở cung cấp các chức năng nhằm mang lại tính cẩn mật, toàn vẹn, xác thực và không thể chối từ cho bất kỳ hệ thống nào sử dụng nó, điển hình là hệ thống EJBCA. Với việc cải tiến hàm sinh khóa RSA của gói phần mềm mã hóa này bằng hàm sinh khóa mạnh của bộ thư viện SmartRSA đã được trình bày ở Chương 7, hệ thống EJBCA sẽ mang lại độ an toàn và hiệu quả cao hơn khi đi vào sử dụng trong thực tế.
8.3 Triển khai hệ thống
8.3.1 Mục tiêu
Nhằm hiện thực hóa các kết quả đã nghiên cứu, chúng tôi sẽ tiến hành triển khai thử nghiệm một hệ thống PKI chứng thực tập trung theo kiến trúc PKI phân cấp (kiến trúc đã được chọn lựa sau khi được phân tích ở Chương 4) sử dụng gói phần mềm mã nguồn mở EJBCA sau khi được cải tiến ở phần trên. Mục tiêu được đặt ra là hệ thống sau khi được triển khai có thể sử dụng ngay trong thực tế, cung cấp các chứng nhận cho người dùng để chứng thực người sử dụng web, ký và mã hóa thư điện tử, ký văn bản, … Ngoài ra, hệ thống được triển khai thử nghiệm cần đảm bảo các tiêu chí khác như tính tổng quát, có thể áp dụng cho hệ thống khác và dễ dàng được mở rộng.
8.3.2 Mô hình triển khai
CA gốc (tên KCNTT) do Khoa CNTT quản lý. Tại mỗi bộ môn sẽ có một CA con của CA gốc này để cấp chứng nhận cho các giảng viên và trợ giảng trong bộ môn.
Bộ môn Tin học Cơ sở: CA con “BMTHCS”.
Bộ môn Mạng Máy tính: CA con “BMMMT”.
Bộ môn Hệ thống Thông tin: CA con “BMHTTT”.
Bộ môn Công nghệ Phần mềm: CA con “BMCNPM”.
Bộ môn Công nghệ Tri thức: CA con “BMCNTT”.
Bộ môn Khoa học Máy tính: CA con “BMKHMT”.
Nhằm tổng quát hóa hệ thống, CA con và “BMCNPM” sẽ có hai CA con khác là CA con “BMCNPMGV” để cấp chứng nhận cho các giảng viên CA con “BMCNPMTG” để cấp chứng nhận cho các trợ giảng trong bộ môn Công nghệ Phần mềm.
Hình 8.3. Mô hình triển khai hệ thống chứng thực tại Khoa CNTT, trường ĐH KHTN, Tp.HCM
Mỗi CA (gốc và con) sẽ có các quản trị viên được chia làm 4 nhóm:
Quản trị viên CA (CA Administrator)
Quản lý hiện trạng chứng nhận (Certificate Profile).
Quản lý hiện trạng thực thể cuối (End-Entity Profile).
Cấu hình log.
Tạo quản trị RA.
Quản trị viên RA (RA Administrator)
Xem, thêm, xóa, sửa thực thể cuối.
Hủy chứng nhận của thực thể cuối.
Giám sát viên (Supervisor)
Xem thông tin các thực thể cuối được tạo.
Tìm kiếm log và xem ai đã làm gì.
Siêu quản trị viên (Super Administrator)
Có tất cả quyền.
Cấu hình hệ thống.
Quản lý các CA.
Quản lý các publisher (LDAP, AD hoặc tùy chọn).
Tạo quản trị CA, RA.
Nhằm đảm bảo tính an toàn hệ thống, chỉ có siêu quản trị viên mới có thể truy cập trực tiếp trên máy chủ của hệ thống còn các quản trị viên khác chỉ được phép truy cập vào hệ thống một cách gián tiếp thông qua máy tính khác.
Tên các CA nói riêng cũng như tên thực thể được phát hành chứng nhận đều được đặt theo chuẩn tên phân biệt X.500 (Phụ lục A), cụ thể như sau:
Bảng 8.2. Tên của các CA theo chuẩn X.500
Tên | |
KCNTT | CN=KCNTT, OU=Khoa CNTT, O=Truong DH KHTN, C=VN |
BMTHCS | CN=BMTHCS, OU=Bo mon THCS, O=Khoa CNTT, C=VN |
BMMMT | CN=BMMMT, OU=Bo mon MMT, O=Khoa CNTT, C=VN |
BMHTTT | CN=BMHTTT, OU=Bo mon BMHTTT, O=Khoa CNTT, C=VN |
BMCNPM | CN=BMCNPM, OU=Bo mon CNPM, O=Khoa CNTT, C=VN |
BMCNPMGV | CN=BMCNPMGV, OU=Bo mon CNPM, O=Khoa CNTT, C=VN |
BMCNPMTG | CN=BMCNPMTG, OU=Bo mon CNPM, O=Khoa CNTT, C=VN |
BMCNTT | CN=BMCNTT, OU=Bo mon CNTT, O=Khoa CNTT, C=VN |
BMKHMT | CN=BMKHMT, OU=Bo mon KHMT, O=Khoa CNTT, C=VN |
Có thể bạn quan tâm!
- Các Thuật Toán Và Chức Năng Được Cung Cấp Trong Thư Viện Smartrsa Cung Cấp Đầy Đủ Các Chức Năng Để Cài Đặt Một Hệ Mã Rsa Hoàn Chỉnh Kể Cả Chức
- Thời Gian Kiểm Tra Của Các Thuật Toán Miller-Rabin Với 𝒑𝒌,𝒕
- So Sánh Các Đặc Điểm Của Ejbca Và Openca
- Nghiên cứu kiến trúc và xây dựng hệ thống chứng thực tập trung - 20
- Nghiên cứu kiến trúc và xây dựng hệ thống chứng thực tập trung - 21
Xem toàn bộ 171 trang tài liệu này.
Ưu điểm của EJBCA là độc lập với môi trường nên có thể triển khai trên các hệ điều hành khác nhau như Windows và Linux. Hơn nữa, EJBCA có khả năng kết nối với các hệ quản trị cơ sở dữ liệu sau:
Hypersoniq (hsqldb) (mặc định trong JBoss)
PostegreSQL 7.2 và 8.x (http://www.postgresql.org/)
MySQL 4.x và 5.x (http://www.mysql.com/)
Oracle 8i, 9i và 10g (http://www.oracle.com/)
Sybase
MS-SQL2000 và 2003
Informix 9.2
DB2
Hệ quản trị cơ sơ dữ liệu mặc định trong EJBCA là Hypersoniq (hsqldb) có sẵn trong JBoss không nên được sử dụng do có một số khuyết điểm như sau:
Cơ sở dữ liệu Hypersonic nằm trực tiếp trong bộ nhớ, nghĩa là càng sử dụng nhiều càng tốn bộ nhớ. Khi một số lượng lớn chứng nhận được phát hành, điều thành trở thành trở ngại cho hệ thống. Do đó hệ quản trị cơ sở dữ liệu này không thích hợp cho các hệ thống lớn.
Hypersonic không hỗ trợ đầy đủ SQL, đặc biệt trong các câu lệnh ALTER. Điều này làm cho việc nâng cấp hệ thống trở nên khó khăn vì khi một phiên bản mới của EJBCA được phát hành, ta không không thể tạo các tập lệnh (script) để cập nhật cơ sở dữ liệu nếu một số bảng đã thay đổi.
Vì lý do đó, chúng tôi chọn hệ quản trị cơ sở dữ liệu MySQL (cũng là một gói phần mềm mã nguồn mở) để triển khai. Hệ thống được chúng tôi triển khai trên cả hai môi trường Windows và Linux, sử dụng cơ sở dữ liệu MySQL (cách triển khai được trình bày ở Phụ lục B). Hệ thống sau khi triển khai đã có thể đi vào hoạt động, cung cấp các tính năng cho người sử dụng (yêu cầu cấp chứng nhận, chứng thực người sử dụng web, ký và mã hóa thư điện tử, ký văn bản, …) và quản trị viên (cấu hình CA, thêm CA con, thêm RA, …).
8.3.3 Kết quả triển khai và thử nghiệm
Hệ thống sau khi triển khai đã đạt được các mục tiêu đề ra. Hình 8.4 dưới đây cho thấy CA gốc KCNTT và các CA con trực tiếp của nó được thể hiện khi truy cập vào trang web của CA gốc và Hình 8.5 cho thấy CA con BMCNPM và các CA con trực tiếp của nó được thể hiện khi truy cập vào trang web của CA BMCNPM.
Hình 8.4. Giao diện trang web của CA KCNTT (CA gốc)
Hình 8.5. Giao diện trang web của CA BMCNPM
Hệ thống có thể cấp chứng nhận cho thực thể cuối (người sử dụng) và cho họ có thể ứng dụng vào một số lĩnh vực chính như:
Chứng thực người sử dụng web: cấp chứng nhận cho quản trị CA, RA, giám sát viên và siêu quản trị viên để có thể đăng nhập vào hệ thống quản trị CA trên trình duyệt web như Internet Explorer và Fire Fox. Hình 8.6 cho thấy một chứng nhận được cấp cho người sử dụng với tên “SuperAdmin (BMTHCS)” để người này có thể đăng nhập vào CA BMTHCS với tất cả các quyền.
Hình 8.6. Chứng nhận cho người dùng tên “SuperAdmin (BMTHCS)”
Hình 8.7. Giao diện quản trị toàn quyền của người dùng “SuperAdmin (BMTHCS)”
Hình 8.7 ở trên cho thấy người dùng có thể sử dụng chứng nhận của mình (được cấp phép với quyền siêu quản trị) để đăng nhập vào hệ thống CA của bộ môn THCS. Các Hình 8.8, Hình 8.9 và Hình 8.10 bên dưới cho thấy các người dùng khác có thể đăng nhập vào hệ thống với quyền quản trị lần lượt là quản trị CA, RA và giám sát viên.
Hình 8.8. Giao diện quản trị CA của người dùng “CAAdmin (BMTHCS)”
Hình 8.9. Giao diện quản trị RA của người dùng “RAAdmin (BMTHCS)”
Hình 8.10. Giao diện giám sát của người dùng “Supervisor (BMTHCS)”
Ký và mã hóa thư điện tử: hệ thống có thể cấp chứng nhận cho người dùng để ký/ xác nhận chữ ký, mã hóa/ giải mã thư điện tử trong ứng dụng thư điện tử như Outlook Express. Hình 8.11 cho thấy hai chi tiết chứng nhận của người dùng tên “Dang Binh Phuong” (được CA BMTHCS cấp) và chứng nhận của người dùng tên “Tran Minh Triet” được (CA BMCNPMGV cấp).
Hình 8.11. Nội dung chứng nhận của người dùng