giữa thuật tốn Maurer và thuật tốn tìm kiếm ngẫu nhiên
Kết quả Thử nghiệm 7.7 cho thấy thuật toán Maurer chậm hơn rất nhiều so với thuật tốn tìm kiếm ngẫu nhiên trung bình khoảng 29,91% và tất nhiên cũng chậm hơn thuật tốn Gordon. Ngồi ra, do thuật toán Maurer sử dụng đệ quy nên nó cần nhiều bộ nhớ để thực hiện hơn. Điểm mạnh duy nhất của thuật tốn này là nó tạo ra được số nguyên tố thật sự. Tuy nhiên, trong thực tế các số khả nguyên tố hay các số nguyên tố xác suất hay thường được sử dụng do nó mang đến độ an tồn cao hơn và thời gian phát sinh nhanh hơn.
7.5 Kết luận
Trên cơ sở các phân tích về nguy cơ tổn thương và cách khắc phục ở Chương 5, các nghiên cứu và giải quyết các bài toán về cài đặt hiệu quả ở Chương 6, đề tài đã xây dựng được một bộ thư viện hỗ trợ cài đặt hệ mã RSA đạt độ an toàn và hiệu quả cần thiết. Ngoài ra, các thử nghiệm ở cuối chương này cũng đã chứng minh tính hiệu quả của các thuật tốn, phù hợp với các phân tích. Bộ thư viện đã đáp ứng được các yêu cầu về độ an toàn, hiệu quả cũng như tính khả chuyển, độc lập mơi trường.
Chƣơng 8
Cải tiến và triển khai hệ thống chứng thực khóa cơng khai sử dụng gói phần mềm mã nguồn mở EJBCA
Nội dung của chương này giới thiệu gói phần mềm mã nguồn mở EJBCA, gói phần mềm cho phép triển khai một hệ thống PKI hoàn chỉnh và đầy đủ chức năng. Nhằm tận dụng các tính chất ưu việt của gói phần mềm này cũng như kiểm soát được q trình phát triển và độ an tồn của hệ thống, đề tài đã tiến hành phân tích, cải tiến và triển khai thử nghiệm một hệ thống chứng thực tập trung theo kiến trúc PKI phân cấp đơn giản, có thể sử dụng ngay trong thực tế.
8.1 Gói phần mềm mã nguồn mở EJBCA
8.1.1 Giới thiệu
Kiến trúc Enterprise Java Beans (EJB) là một đặc tả được công ty Sun Microsystems phát triển. EJB mô tả một kiến trúc dựa trên thành phần cho việc phát triển và triển khai các ứng dụng phân tán, cho phép các ứng dụng doanh nghiệp có thể mở rộng, an tồn và có thể giao tác.
EJB là các thành phần thực thi bên trong “khung chứa EJB” (EJB container), dưới sự giám sát của một máy chủ ứng dụng (như JBOSS19). Máy chủ ứng dụng và khung chứa EJB cung cấp các dịch vụ hệ thống cho EJB như tính bền vững dữ liệu, giao tác, bảo mật và quản lý tài nguyên. EJB là phần cốt lõi của ứng dụng J2EE20. Khung chứa EJB duy trì các kết nối dữ liệu dùng chung cũng như các thực thể EJB dùng chung được cung cấp cho người dùng khi cần.
19 Máy chủ ứng dụng J2EE được sử dụng rộng rãi nhất hiện nay.
20
J2EE (Java 2 Enterprise Edition) là một nền lập trình, một phần của nền Java, để phát triển và chạy các ứng dụng Java phân tán đa kiến kiến trúc, phần lớn dựa trên môđun các thành phần phần mềm chạy trên một máy chủ ứng dụng.
EJBCA là một CA đầy đủ chức năng được xây dựng trên Java. Do được dựa trên công nghệ J2EE, EJBCA tạo thành một CA mạnh, hiệu suất cao và dựa trên thành phần. Với sự mềm dẻo và độc lập môi trường nền, EJBCA có thể được sử dụng độc lập hoặc được tích hợp trong các ứng dụng J2EE. EJBCA là một sản phẩm của công ty PrimeKey, một trong các công ty PKI mã nguồn mở đứng đầu trên thế giới, được thành lập năm 2002 tại Stockholm, Thụy Điển. PrimeKey cung cấp các sản phẩm PKI và thẻ thông minh, các giải pháp liên quan và các dịch vụ chuyên nghiệp.
EJBCA trải qua các giao đoạn phát triển như sau:
Phiên bản 1.x bắt đầu như một bản beta trên SourceForge vào tháng 11/2001. Ý tưởng của EJBCA là thực thi một CA bên trong một máy chủ ứng dụng J2EE. Phiên bản 1.0-1.4 cung cấp các hỗ trợ đối với Jboss, WebLogic, CRL, LDAP, MySQL, PostgreSQL, Oracle.
Phiên bản 2.x lấy kinh nghiệm từ phiên bản 1.x và được bắt đầu từ tháng 3/2003. Phiên bản này cung cấp các hỗ trợ đối với thẻ từ, PIN/PUK, phục hồi khóa, trạng thái chứng nhận, OCSP, SCEP, các tính năng đặc biệt cho AD và Outlook, OpenLDAP.
Phiên bản 3.x bắt đầu từ tháng 6/2004, cung cấp các hỗ trợ đối với CA ảo, kiếm tra JUnit, hỗ trợ HSM (nCipher, Luna/Eracom/SafeNet), ngôn ngữ (Tây Ban nha, Pháp, Ý, Trung Quốc, Thụy Điển, Đức), OCSP Responder bên ngoài, Infomix, OpenVPN, RA API ngoài, CMP, XKMSv2, các dịch vụ theo dõi, ECDSA, các mở rộng chứng nhận tùy thích, DN và altName OIDs.
EJBCA là phần mềm mở nguồn mở, hỗ trợ rất nhiều chức năng. Tính đến 6/10/2008, phiên bản 3.x đã có hơn 47.600 lượt tải về21. EJBCA thực sự đã trở thành một sản phẩm toàn diện cho các giải pháp PKI/CA thay thế cho mọi ứng sản phẩm khác.
21
8.1.2 Kiến trúc
Kiến trúc của EJBCA bao gồm các thành phần sau:
Tầng dữ liệu (Data Tier): Tầng dữ liệu lưu trữ các chứng nhận, CRL cũng như các thực thể cuối. EJBCA sử dụng một cơ sở dữ liệu mặc định để lưu trữ các thực thể cuối. Các chứng nhận được lưu trữ trong một kho chứa LDAP (Lightweight Directory Access Protocol).
Trình khách Tầng Web Tầng EJB Tầng dữ liệu
Khung chứa EJB
Khung chứa Web
Thành phần RA Thành phần CA UserDataBean UserAdminSession Thành phần Auth Thành phần CRL Thành phần Sign Thành phần Store Thành phần Apply CertReqServlet Thành phần WebDist CertDistServlet Trình khách quản trị Trình khách batch Trình duyệt Ứng dụng Java CSDL cục bộ
Kho chứa LDAP