3.2.4.1. Biểu đồ Use case
Các đối tƣợng sử dụng chứng chỉ số này bao gồm : tất cả các nhân viên của công ty IFI Solution tham gia vào các quy trình hành chính của công ty, cần phải ký hoặc xác thực chữ ký. Chƣơng trình này sẽ cung cấp cho ngƣời sử dụng những chức năng sau :
Hình 3.11:Biểu đồ Use case công cụ ký văn bản.
Quản lý danh sách văn bản: cho phép ngƣời sử dụng quản lý các văn bản cá nhân theo dạng cây thƣ mục.
48
Hiển thị thông tin chi tiết văn bản: tƣơng ứng với mỗi văn bản trong danh sách quản lý, ngƣời sử dụng có thể xem các thông tin về các chữ ký văn bản : cá nhân ký, ngày ký, trạng thái chữ ký.
Xử lý văn bản: cho phép ngƣời sử dụng tạo chữ ký điện tử bằng chứng chỉ số đƣợc cấp lên văn bản lựa chọn.
3.2.4.2. Biểu đồ tuần tự
Quản lý danh sách văn bản
Chƣơng trình này, quản lý văn bản theo dạng cây thƣ mục và danh sách các văn bản. Cây thƣ mục hiển thị các thƣ mục con nằm trong thƣ mục quản lý văn bản chung của chƣơng trình. Còn danh sách văn bản hiển thị các văn bản và trạng thái (xác thực, không xác thực hoặc chƣa xử lý) của chúng ở thƣ mục hiện thời bên cây văn bản.
49 Hiển thị thông tin chi tiết văn bản:
Chức năng hiển thị thông tin chi tiết của văn bản mà chức năng chính của nó chính là xác thực chữ ký điện tử có trên văn bản. Trên danh sách văn bản, ngƣời sử dụng lựa chọn một văn bản bất kỳ để xem chi tiết thông tin của văn bản đó. Chƣơng trình mở cửa sổ hiển thị thông tin văn bản đƣợc lựa chọn theo trình tự sau: lấy các chữ ký và chứng chỉ số đính kèm trên văn bản, kiểm tra tính hợp lệ của chứng chỉ số, dùng khóa công khai trong chứng chỉ số kiểm tra chữ ký tƣơng ứng, tải kết quả kiểm tra lên cửa sổ ứng dụng. Dựa trên thông tin hiển thị trên cửa sổ, ngƣời sử dụng có thể biết đƣợc văn bản đã đƣợc xử lý hay chƣa? nếu đƣợc xử lý rồi thì ai đã ký lên văn bản đó? văn bản đó có bị thay đổi từ khi ký hay không?
Hình 3.13: Hiển thị thông tin chi tiết văn bản.
Xử lý văn bản:
Chức năng xử lý văn bản bao gồm hai chức năng chính đó là: ký văn bản và xóa chữ ký có trên văn bản. Chức năng xóa chữ ký, đơn giản
50
chỉ là quá trình tìm và xóa các chữ ký điện tử đƣợc lƣu trong văn bản trƣớc đó. Chúng ta tập trung phân tích chức năng ký văn bản, chức năng này đƣợc thiết kế phù hợp cho cả hai loại chữ ký của hệ thống: chữ ký cấp 1 và chữ ký cấp 2.
Đối với chữ ký cấp 1, từ cửa sổ thông tin chi tiết văn bản ngƣời sử dụng gọi chức năng ký văn bản và thực hiện ký bình thƣờng.
Đối với chữ ký cấp 2: là quá trình kết hợp chức năng hiển thị thông tin chi tiết văn bản và quá trình ký cấp 1. Từ cửa số thông tin chi tiết của văn bản ngƣời sử dụng sẽ kiểm tra trạng thái của chữ ký trên văn bản trƣớc đó nhƣ: giám đốc hành chính thì kiểm tra xem đã có chữ ký nháy của nhân viên hành chính soạn văn bản chƣa? Tổng giám đốc duyệt văn bản kiểm tra xem văn bản đã có chữ ký của ngƣời đề xuất hay chƣa?... Nếu đã tồn tại và xác thực chữ ký yêu cầu, ngƣời sử dụng tiến hành ký văn bản, tƣơng tự nhƣ với chữ ký cấp 1.
51
3.2.4.3. Biểu đồ thành phần
Chƣơng trình cũng đƣợc chia thành 3 phần:
Hình 3.15: Biểu đồ thành phần chương trình ký/xác thực chữ ký.
Gói DllCommon: bao gồm tất cả các lớp khai báo các chức năng cơ bản của toàn chƣơng trình: xử lý xâu chuỗi, đọc ghi file, các lớp kế thừa các đối tƣợng giao diện cơ bản của MFC nhƣ: ClistCtrl, Cbutton...
Gói DllCryptography: bao gồm các lớp sử dụng thƣ viện CryptoAPI để thực hiện các chứng năng ký và xác thực chữ ký từ hai kiểu chứng chỉ số: lấy thông tin chứng chỉ trực tiếp từ file .p12 hoặc lấy thông tin chứng chỉ từ kho lƣu chứng chỉ của hệ điều hành window.
Gói PKI_Admin_Demo: bao gồm các lớp phục vụ chức năng hiển thị thông tin, quản lý danh sách các văn bản : thêm, xóa văn bản, và cung cấp giao diện để ngƣời sử dụng thực hiện chức năng ký, xác thực chữ ký.
3.3. Cài đặt và thử nghiệm ứng dụng 3.3.1. Môi trƣờng cài đặt
Sau khi xây dựng các chƣơng trình theo nhƣ phân tích thiết kế ở trên, mô hình cài đặt kiểm thử các chức năng cơ bản của chúng nhƣ sau:
52
Hình 3.16: Mô hình hệ thống kiểm thử.
Cấu hình chi tiết của các thiết bị trong hệ thống kiểm thử:
Tên máy Hệ điều hành Cấu hình chi tiết
1
EJBCA Centos 5.4 - Địa chỉ mạng: 192.168.204.130 - Cài đặt chƣơng trình EJBCA
phiên bản 3.9.2, thiết lập định kỳ quét cơ sở dữ liệu của RA
2
RA Database Window server 2003
- Địa chỉ mạng: 192.168.204.131 - Cài đặt Mysql: chứa cơ sở dữ
liệu của RA.
3 PKI_Admin_De mo Window 7 - Địa chỉ mạng: 192.168.204.33 - Cài đặt chƣơng trình PKI_Admin_Demo.
- Java Runtime Environment 6. PKI_RA_Demo Window 7 - Địa chỉ mạng: 192.168.204.33
53
4 - Cài đặt chƣơng trình
PKI_RA_Demo.
- Cài đặt chƣơng trình PKI_User_Demo (kiểm tra chức năng ký văn bản)
3.3.2. Cài đặt ứng dụng
Các ứng dụng hỗ trợ ngƣời sử dụng trong hệ thống sau khi cài đặt sẽ có giao diện nhƣ sau:
Công cụ cho ngƣời dùng RA:
Giao diện quản lý các yêu cầu: hiển thị danh sách các yêu cầu đã lƣu,
xem trạng thái yêu cầu đã đƣợc xử lý hay chƣa?
54
Giao diện tạo mới/ sửa các yêu cầu:
Hình 3.18: Giao diện tạo mới/ sửa yêu cầu.
Công cụ cho ngƣời quản trị EJBCA:
Giao diện xử lý các yêu cầu: hiển thị danh sách các yêu cầu của RA gửi
lên, cho phép ngƣời quản trị chấp nhận hoặc từ chối các yêu cầu đó.
55
Giao diện quản lý chứng chỉ số: hiển thị danh sách các chứng chỉ số của ngƣời dùng, và cho phép ngƣời quản trị có thể export chứng chỉ số và cấp cho ngƣời sử dụng (Hình 3.20). Ngoài ra, chƣơng trình còn hỗ trợ giao diện cho phép ngƣời quản trị tạo mới yêu cầu, tƣơng tự nhƣ chức năng ở công cụ RA.
Hình 3.20: Giao diện quản lý các chứng chỉ số.
Công cụ cho ngƣời dùng cuối:
Giao diện quản lý danh sách văn bản: cửa sổ quản lý gồm 2 phần: một
phần hiển thị cây thƣ mục các văn bản quản lý, một phần hiển thị danh sách và trạng thái các văn bản trong thƣ mục hiện thời. (Hình 3.21)
56
Hình 3.21: Giao diện quản lý danh sách văn bản.
Giao diện hiển thị thông tin văn bản: hiển thị danh sách các chữ ký trên văn bản: ngƣời ký, ngày ký, loại chữ ký và trạng thái của chữ ký.
57
Giao diện ký văn bản: cho phép ngƣời dùng thực hiện 1 trong 2 cách ký: ký nháy và ký duyệt. Chứng chỉ số đƣợc sử dụng để ký văn bản có thể lấy trực tiếp từ file .p12 lƣu trên bộ nhớ máy tinh hoặc lấy từ kho chứng chỉ số của window.
Hình 3.23: Giao diện ký văn bản.
3.3.3. Kịch bản thử nghiệm
Sau khi cài đặt hệ thống kiểm thử nhƣ mục 3.3.1, chúng ta tiến hành kiểm tra chức năng của hệ thống, cụ thể là chức năng của các công cụ hỗ trợ ngƣời dùng: RA, quản trị EJBCA và ngƣời dùng chứng chỉ số.
Kịch bản kiểm tra chức năng của chƣơng trình PKI_RA_Demo và PKI_Admin_Demo:
Bƣớc 1: mở chƣơng trình PKI_RA_Demo, chọn chức năng thêm mới yêu
cầu. Nhập các thông tin: mã nhân viên, họ tên, email và mật khẩu. Sau đó chọn lƣu thông tin.
Bƣớc 2: mở chƣơng trình PKI_Admin_Demo, ở danh sách các yêu cầu RA chọn chấp nhận (accept) yêu cầu từ RA.
58
Bƣớc 3: ở danh sách chứng chỉ số của PKI_Admin_Demo, lựa chọn và export chứng chỉ số vừa đƣợc duyệt ở bƣớc 2 lƣu xuống máy tính dạng file .p12.
Kết quả mong muốn: chứng chỉ số đƣợc tạo ra ở bƣớc 3 có thông tin giống nhƣ đã đƣợc nhập ở bƣớc 1.
Kịch bản kiểm tra chức năng ký/ xác thực chữ ký:
Kịch bản 1: kiểm tra chức năng ký/xác thực chữ ký cơ bản trong hệ
thống.
Bƣớc 1: mở chƣơng trình PKI_User_Demo trên máy tính 1, thực hiện ký số với văn bản P bằng chứng chỉ số trên máy 1. Sau đó, gửi văn bản P đã đƣợc ký số đến máy tính 2.
Bƣớc 2: thêm văn bản P vào chƣơng trình PKI_User_Demo trên máy
tính 2, hiển thị chi tiết văn bản P, thực hiện ký số lên văn bản P bằng chứng chỉ số trên máy 2. Sau đó gửi lại văn bản P về máy 1.
Kết quả mong muốn: máy 1 nhận đƣợc văn bản P, hiển thị thông tin hai
chữ ký đều đƣợc xác thực, văn bản chƣa bị thay đổi kể từ thời điểm đƣợc ký cấp 1 trên máy tính 1 và ký cấp 2 trên máy tính 2.
Kịch bản 2: kiểm tra trƣờng hợp văn bản bị thay đổi sau khi đƣợc ký.
Bƣớc 1: mở chƣơng trình PKI_User_Demo, thực hiện chức năng ký số
lên văn bản P.
Bƣớc 2: sửa nội dung văn bản P vừa ký số.
Bƣớc 3: thêm lại văn bản P vào chƣơng trình PKI_User_Demo, xem
thông tin chi tiết của văn bản P.
Kết quả mong muốn: trong danh sách chữ ký của văn bản P, chữ ký
thực hiện ở bƣớc 1 hiện cảnh báo không xác thực.
Kịch bản 3: kiểm tra trƣờng hợp văn bản đƣợc ký số bởi một chứng chỉ
59
Bƣớc 1: mở chƣơng trình PKI_User_Demo, chọn văn bản P và thực
hiện ký số với chứng chỉ số đƣợc cấp bởi 1 CA khác. Sau đó gửi văn bản P đến máy tính 2.
Bƣớc 2: mở chƣơng trình PKI_User_Demon trên máy 2, thêm văn bản
P vừa nhận đƣợc và hiển thị thông tin chi tiết của văn bản.
Kết quả mong muốn: trong danh sách chữ ký của văn bản P, chữ ký
thực hiện ở bƣớc 1 hiện cảnh báo văn bản không xác thực.
3.3.4. Kết quả thử nghiệm và đánh giá
Sau khi cài đặt và thực hiện thử nghiệm các công cụ hỗ trợ theo các kịch bản trên, cho kết quả là các chƣơng trình hoạt động đúng nhƣ thiết kế. Qua đó, ta thấy rằng với các thiết kế chƣơng trình hiện tại có thể đáp ứng đƣợc các chức năng cơ bản của hệ thống PKI trong công ty IFI Solution nhƣ cấp chứng chỉ số cho nhân viên, cũng nhƣ áp dụng chữ ký số vào các quy trình nghiệp vụ hành chính của công ty và đảm bảo tính an toàn của chữ ký số trong toàn hệ thống nhƣ: phát hiện chứng chỉ số giả mạo đảm bảo tính chống từ chối, xác định đƣợc tính toàn vẹn của văn bản.
3.4. Nhận xét và đánh giá
Một số các kết luận về hệ thống chữ ký số ứng dụng vào văn bản hành chính của công ty IFI Solution nhƣ sau:
Về mặt các quy trình trong hệ thống: kết quả thử nghiệm ứng dụng đã khẳng định là các quy trình này là hoàn toàn khả thi. Ở góc độ nhận xét cá nhân, tôi thấy các quy trình đề xuất đã đảm bảo tính an toàn mà một hệ thống PKI của doanh nghiệp yêu cầu. Song để có thể đánh giá toàn diện và chính xác các quy trình này thì hệ thống cần phải đƣợc triển khai thực tế và ghi nhận phản hồi từ chính những ngƣời sử dụng các công cụ hỗ trợ tham gia vận hành hệ thống PKI.
Về mặt các ứng dụng thử nghiệm: đã đảm bảo chức năng đăng ký mới chứng chỉ số, đối với các văn bản hành chính thì đảm bảo đƣợc hai tính chất của PKI: tính chống từ chối và tính toàn vẹn của văn bản.
60
Bên cạnh đó, các ứng dụng thử nghiệm còn một số các điểm cần lƣu ý nhƣ sau:
Vì chƣa xây dựng thử nghiệm đƣợc chức năng thu hồi chứng chỉ số, nên bƣớc kiểm tra chứng chỉ số trong quá trình xác thực chữ ký mới chỉ dừng lại ở mức kiểm tra xem chứng chỉ số đó có đúng là do công ty cấp hay không, chứ chƣa kiểm tra đƣợc đối với chứng chỉ đã bị thu hồi.
Bƣớc kiểm tra chữ ký số của văn bản, chƣơng trình mới chỉ hỗ trợ đƣợc ở mức: xác định ngƣời ký và xác thực chữ ký số của ngƣời đó trên văn bản. Còn việc xác định xem văn bản đƣợc gửi tới có đúng thẩm quyền duyệt của ngƣời nhận hay không thì lại phụ thuộc vào cá nhân ngƣời nhận, hay nói cách khác chúng ta mặc định là các đối tƣợng duyệt văn bản trong hệ thống đều biết các nhân viên dƣới quyền có thể gửi văn bản cho mình. Ví dụ, giám đốc tổng hợp chỉ duyệt văn bản của nhân viên hành chính gửi lên, tổng giám đốc chỉ duyệt văn bản của các giám đốc các bộ phận… Vì mang tính chủ quan cá nhân, nên các quy trình nghiệp vụ có thể bị vi phạm. Nên khi triển khai thực tế cần phải đƣa ra một giải pháp để hỗ trợ ngƣời duyệt văn bản loại bỏ bƣớc kiểm tra mang tính chủ quan này nhƣ: xây dựng các quy trình cứng cho đƣờng đi của từng loại văn bản hành chính (ai đƣợc quyền đề xuất? ai đƣợc quyền ký duyệt?).
Vì mục tiêu xây dựng các ứng dụng chỉ ở mức mẫu thử nhằm đánh giá tính khả thi của hệ thống và các quy trình đề xuất, nên trong quá trình thiết kế các ứng dụng đã bỏ qua một số các yêu cầu an ninh nhƣ: cho phép ứng dụng của ngƣời dùng RA và ngƣời quản trị EJBCA có thể kết nối trực tiếp đến cơ sở dữ liệu RA. Do đó, để tránh các tấn công không mong muốn vào cơ sở dữ liệu, khi triển khai thực tế cần phải xây dựng một ứng dụng máy chủ cài đặt trên máy chứa cơ sở dữ liệu RA, và mọi yêu cầu của ngƣời dùng gửi xuống cơ sở dữ liệu của RA đều phải thông qua ứng dụng này.
61
KẾT LUẬN
Về mặt lý thuyết:
Đã nắm đƣợc các kiến thức cơ bản về hạ tầng khóa công khai - Public Key Infrastructure nhƣ: khái niệm, các thành phần cơ bản, các mô hình và các quy trình trong hệ thống PKI.
Nghiên cứu phần mềm nguồn mở EJBCA: nắm đƣợc kiến trúc EJBCA, các thành phần cơ bản, các đặc điểm của EJBCA và các quy trình cơ bản của PKI do EJBCA xây dựng.
Về mặt thực tiễn:
Khảo sát một doanh nghiệp cụ thể: mô hình phân cấp chức năng, một số quy trình nghiệp vụ hành chính.
Phân tích giải pháp PKI cho doanh nghiệp khảo sát: dựa trên kết quả khảo sát doanh nghiệp, tiến hành phân tích, đánh giá và rút ra các quy trình nghiệp vụ chung, từ đó đề xuất mô hình PKI ứng dụng phần mềm EJBCA cho doanh nghiệp.
Dựa trên phân tích giải pháp và mô hình PKI đề xuất, tiến hành xây dựng các quy trình chuẩn cho hệ thống PKI của doanh nghiệp: quy trình đăng ký mới chứng chỉ số, quy trình thu hồi chứng chỉ số, quy trình ký/xác thực chữ ký.
Phân tích thiết kế và xây dựng các mẫu thử hỗ trợ các đối tƣợng ngƣời dùng vận hành hoạt động của hệ thống PKI nhằm đánh giá tính khả thi của hệ thống đề xuất.
Từ các kết quả thử nghiệm cho ta kết luận: các quy trình xây dựng cho hệ thống PKI của doanh nghiệp là khả thi, đảm bảo tính an toàn cần có của một hệ thống PKI, các ứng dụng hỗ trợ chức năng ký và xác thực chữ ký đảm bảo