1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu giải pháp xây dựng hệ thống cấp chứng chỉ số dựa trên hạ tầng khóa công khai

71 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 866 KB

Nội dung

ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG HỒNG THỊ THÚY NGHIÊN CỨU GIẢI PHÁP XÂY DỰNG HỆ THỐNG CẤP CHỨNG CHỈ SỐ DỰA TRÊN HẠ TẦNG KHĨA CƠNG KHAI Chun ngành: Khoa học máy tính Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN VĂN TAM Thái Nguyên 10/2013 Số hóa trung tâm học liệu Tai ngay!!! Ban co the xoa dong chu nay!!! www: \\lrc-tnu.edu.vn i LỜI CẢM ƠN Trước hết, xin gửi lời cảm ơn chân thành tới PGS.TS Nguyễn Văn Tam, người thầy cho định hướng ý kiến quý báu công nghệ PKI cách để triển khai ứng dụng Tơi xin tỏ lịng biết ơn sâu sắc tới thầy cơ, bạn bè khố quan tâm, giúp đỡ tiến suốt thời gian qua Tôi xin cảm ơn trường Đại học Thái Nguyên trường Đại học Kinh Doanh Công nghệ Hà Nội tạo điều kiện cho tơi q trình học làm luận văn Luận văn hoàn thành thời gian hạn hẹp, chắn nhiều khiếm khuyết cần bổ sung thêm Tôi xin cảm ơn thầy cô, bạn bè người thân có góp ý chân tình cho nội dung luận văn này, để tơi tiếp tục sâu tìm hiểu PKI, CA hy vọng đưa vào ứng dụng thực tiễn cơng tác Hồng Thị Thúy Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn ii MỤC LỤC Lời cảm ơn i Mục lục ii Danh mục từ viết tắt iv Danh mục hình vẽ v MỞ ĐẦU CHƢƠNG 1: GIỚI THIỆU VỀ HỆ MẬT MÃ 1.1 Hệ mật mã khoá đối xứng 1.2 Hệ mật mã khố cơng khai 1.3 Hàm băm 1.4 Chữ kí số 11 CHƯƠNG 2: CHỨNG CHỈ SỐ VÀ HỆ THỐNG CẤP CHỨNG CHỈ CA 13 2.1 Chứng số (digital certificates) 14 2.1.1 Chứng khóa cơng khai 14 2.1.2 Chứng khố cơng khai X.509 16 2.1.3 Thu hồi chứng 20 2.1.4 Chính sách chứng số 21 2.1.5 Công bố gửi thông báo thu hồi chứng 22 2.2 Hạ tầng khóa cơng khai – PKI 25 2.3 Hệ thống cấp chứng số (Certification Authority – CA) 30 2.4 Mơ hình tin cậy cho PKI 31 2.4.1 Mơ hình CA đơn 31 2.4.2 Mơ hình phân cấp 33 2.4.3 Mơ hình mắt lưới (xác thực chéo) 34 2.4.4 Mơ hình Hub Spoke (Bridge CA) 36 2.4.5 Mơ hình Web (Trust Lists) 37 Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn iii 2.4.6 Mơ hình người sử dụng trung tâm (User Centric Model) 38 CHƯƠNG 3: XÂY DỰNG HỆ THỐNG CẤP CHỨNG CHỈ SỐ THỬ NGHIỆM 40 3.1 Tổng quan hệ thống 41 3.1.1 Mơ hình hệ thống 41 3.1.2 Một số đặc tính hệ thống cung cấp chứng số 41 3.2 Chức trình khởi tạo thành phần hệ thống cung cấp chứng số JavaCA 46 3.2.1 Certificate Authority - CA 46 3.2.2 Registration Authority - RA 47 3.2.3 RAO 47 3.2.4 LDAP Public Database Server 48 3.3 Qui trình đăng kí, cấp phát chứng 49 3.4 Thử nghiệm sản phẩm 50 3.4.1 Thử nghiệm phía quản trị 50 3.4.2 Thử nghiệm phía người dùng 50 3.5 Đánh giá chung 50 Kết nghiên cứu 53 Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn iv DANH MỤC TỪ VIẾT TẮT ARLs CA CAO CMS COST CRLs CRR CSP DAP DES DNS DSS ECC HTTPS IANA IEEE IETF ISO ITU-T LDAP MD5 OCSP PEM PGP PKC PKCS PKI PKIX RA RAO RFC RSA S/MIME SHA-1 SSL TLS Số hóa trung tâm học liệu Authority Revocation Lists Certificate Authority Certificate Authority Operator Cryptographic Message Syntax Commercial of the Shelf Certificate Revocation Lists Certificate Revocation Request Certification Service Provider Directory Access Protocol Data Encryption Standard Domain Name System Digital Signature Standard Elliptic Curve Cryptography Secure Hypertext Transaction Standard Internet Assigned Numbers Authority Institute of Electrical & Electronic Engineers Internet Engineering Task Force International Organization for Standardization Internet Telecommumications UnionTelecommunication Lightweight Directory Access Protocol Message Digest Hash Algorithm Online Certificate Status Protocol Privacy Enhanced Mail Pretty Good Privacy Public Key Certificate Public Key Cryptography Standards Public Key Infrastructure Extended Public Key Infrastructure Registration Authorities Registration Authorities Operator Request For Comments Rivest Shamir Adleman Secure Multipurpose Internet Mail Extensions Secure Hash Standard Secure Socket Layer Transport Layer Security www: \\lrc-tnu.edu.vn v DANH MỤC HÌNH VẼ Hình 1.2: Mã hố thơng điệp sử dụng khố cơng khai C Hình 1.3: Giải mã thơng điệp sử dụng khoá riêng người nhận Hình 1.4: Sơ đồ hệ mật mã RSA Hình 1.5: Mã hố thơng điệp sử dụng khố bí mật R để mã thơng điệp khố cơng khai C để mã khố bí mật R Hình 1.6: Giải mã thơng điệp sử dụng khố bí mật C để giải mã thơng điệp7 khố riêng R để giải mã khố bí mật C Hình 1.7: Nhiều thơng điệp nguồn cho kết đích sau mã hố/ kí số Hình 1.8: Sơ đồ chữ kí RSA 12 Hình 2.1: Khn dạng chứng X.509 17 Hình 2.2: Khuôn dạng danh sách chứng bị thu hồi 23 Hình 2.3: Dịch vụ kiểm tra online 25 Hình 2.4: Các thành phần PKI 26 Hình 2.5: Mơ hình CA đơn 32 Hình 2.6: Mơ hình phân cấp 33 Hình 2.7: Mơ hình mắt lưới 35 Hình 3.1: Mơ hình hệ thống cung cấp chứng số 41 Hình 3.2: Tệp yêu cầu cấp chứng 43 Hình 3.3: Chứng lưu khố cơng khai rootCA hệ thống JavaCA 44 Hình 3.4: Chứng người sử dụng 45 Hình 3.5: Mơ hình mơ hệ thống JavaCA phân cấp hai tầng 47 Hình 3.6: Mơ hình quan hệ trao đổi liệu thành phần hệ thống 49 Hình 3.7: Mơ hình đăng kí cấp chứng số 49 Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn MỞ ĐẦU Các dịch vụ mạng Internet/Intranet ngày phong phú mức độ đe dọa đến an ninh thông tin mạng làm thất thốt, sai lệch thơng tin, giả mạo thơng tin người dùng ngày trở nên nghiêm trọng Nghiên cứu xây dựng hệ thống thơng tin an tồn có tính bảo mật cao nhu cầu cấp bách Thuật tốn mật mã khóa cơng khai, đặc biệt thuật tốn RSA cho phép mã hóa, thực chữ kí số để bảo đảm tính mật, tính xác thực, tính tồn vẹn thơng tin truyền mạng Tuy nhiên, khóa cơng khái bị giả mạo Nhà cung cấp phải chứng thực số (Certificate Authority - CA) chứng thực khóa cơng khai thuộc Chính học viên chọn đề tài: “Nghiên cứu giải pháp xây dựng hệ thống cấp chứng số dựa hạ tầng khóa cơng khai” với mục đích tìm hiểu chứng số, hạ tầng khóa cơng khai PKI triển khai thử nghiệm hệ thống cung cấp chứng số để minh họa Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn CHƢƠNG GIỚI THIỆU VỀ HỆ MẬT MÃ Mật mã người sử dụng từ lâu Các hình thức mật mã sơ khai tìm thấy từ khoảng bốn nghìn năm trước văn minh Ai Cập cổ đại Trải qua hàng nghìn năm lịch sử, mật mã sử dụng rộng rãi khắp nơi giới để giữ bí mật cho việc trao đổi thông tin nhiều lĩnh vực hoạt động người quốc gia, đặc biệt lĩnh vực quân sự, trị, ngoại giao Mật mã trước hết loại hoạt động thực tiễn, nội dung để giữ bí mật thơng tin Ví dụ muốn gửi văn từ người gửi A đến người nhận B, A phải tạo cho văn mã mật tương ứng thay gửi văn rõ A gửi cho B mã mật, B nhận mã mật khôi phục lại văn gốc để hiểu thông tin mà A muốn gửi cho Văn gửi thường chuyển qua đường cơng khai nên người ngồi “lấy trộm” được, mã mật nên khơng đọc hiểu A tạo mã mật B giải mã mật thành gốc để hiểu hai người có thỏa thuận chìa khố chung, với khố chung A tạo mã mật từ gốc B khôi phục gốc từ mã mật Khố chung gọi khố mật mã Để thực phép mật mã, ta cần có thuật tốn biến gốc với khoá mật mã thành mã mật thuật toán ngược lại biến mật với khoá mật mã thành gốc Các thuật tốn gọi tương ứng thuật toán lập mã thuật toán giải mã Các thuật tốn thường khơng thiết phải giữ bí mật, mà ln cần giữ bí mật khố mật mã Trong thực tiễn, có hoạt động ngược lại với hoạt động bảo mật khám phá bí mật từ mã “lấy trộm” được, hoạt động thường gọi mã thám hay phá khố.[2] Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 1.1 Hệ mật mã khoá đối xứng Các phương pháp mật mã cổ điển biết đến từ khoảng 4000 năm trước Một số kỹ thuật người Ai Cập sử dụng từ nhiều kỷ trước Những kỹ thuật chủ yếu sử dụng hai phương pháp là: phép thay phép chuyển dịch Trong phép thay thế, chữ thay chữ khác phép chuyển dịch, chữ xếp theo trật tự khác Hệ mã chuẩn DES (viết tắt Data Encryption Standard, hay Tiêu chuẩn Mã hóa Dữ liệu) phương pháp mật mã hóa FIPS (Tiêu chuẩn Xử lý Thông tin Liên bang Hoa Kỳ) chọn làm chuẩn thức vào năm 1976 Sau chuẩn sử dụng rộng rãi phạm vi giới Ngay từ đầu, thuật tốn gây nhiều tranh cãi, bao gồm thành phần thiết kế mật, độ dài khóa tương đối ngắn, nghi ngờ cửa sau để Cơ quan An ninh quốc gia Hoa Kỳ (NSA) bẻ khóa Đây ví dụ mật mã cổ điển DES kết hợp hai phương pháp thay chuyển dịch DES thực mã hoá khối rõ xâu 64 bit, có khố xâu 56 bit cho mã xâu 64 bit Hiện nay, DES biến thể (3DES) sử dụng thành công nhiều ứng dụng Trong hệ mã đối xứng có khố chia sẻ bên tham gia liên lạc Cứ lần truyền tin bảo mật, người gửi A người nhận B thỏa thuận trước với khố chung K, sau người gửi dùng eK để lập mã cho thông báo gửi người nhận dùng dK để giải mã mật mã nhận Người gửi người nhận có khố chung K, giữ bí mật dùng cho lập mã giải mã Những hệ mật mã cổ điển với cách sử dụng gọi mật mã khoá đối xứng hay cịn gọi mật mã khố bí mật Độ Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn an toàn hệ mật mã đối xứng phụ thuộc vào khố Nếu để lộ khố người mã hố giải mã thông điệp Ưu điểm bật hệ mật mã khoá đối xứng việc xây dựng hệ mật mã có độ bảo mật cao dễ dàng mặt lý thuyết Nhưng không kể đến việc cần có nguồn sinh khố ngẫu nhiên việc phân phối, lưu trữ bảo mật thỏa thuận khố vấn đề khó chấp nhận mạng truyền thơng ngày Trong mạng có n người dùng, cần khố cho cặp cần n(n+1)/2 khố Để khắc phục tượng khơng thể lưu trữ khối lượng khoá lớn đáp ứng nhu cầu mã dịch, người ta xem xét đến việc sử dụng hệ mật mã khối với độ dài không lớn DES… hệ mật mã dạng mà khoá sinh từ nguồn giả ngẫu nhiên thuật toán Mặc dù thực việc mã hoá giải mã hệ mật mã khối hay thuật toán sinh khoá nêu vấn đề phân phối thỏa thuận khoá phải thực Như phân phối thỏa thuận khoá vấn đề chưa thể giải hệ mật mã khoá đối xứng 1.2 Hệ mật mã khố cơng khai Để giải vấn đề phân phối thỏa thuận khoá mật mã khoá đối xứng, năm 1976 Diffie Hellman đưa khái niệm hệ mật mã khố cơng khai phương pháp trao đổi cơng khai để tạo khố bí mật chung mà tính an tồn bảo đảm độ khó tốn cụ thể (là tốn tính “logarit rời rạc”) Hệ mật mã khố cơng khai hay cịn gọi hệ mật mã phi đối xứng sử dụng cặp khố, khố mã hố cịn gọi khố cơng khai (public key - c) khố giải mã gọi khóa riêng (private key - r) Trong hệ mật này, khoá mã hoá khác với khoá giải mã Về mặt tốn học từ khố cơng khai khó tính khố riêng Biết khố khơng dễ dàng tìm khố Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 51 Windows) Máy trạm sử dụng hệ điều hành Microsoft Windows Các thao tác cấp chứng thực thơng qua trình duyệt Web Trong trình cấp phát, yêu cầu truyền kí, đảm bảo tính tồn vẹn, xác thực chống chối bỏ Khả ứng dụng hệ thống cấp chứng số JavaCA: - Sử dụng cho dịch vụ web qua giao thức http - Có thể phối kết hợp hệ thống với giải pháp khác để đảm bảo an ninh an toàn cho hệ thống mạng nội Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 52 KẾT LUẬN Nghiên cứu thiết kế hệ thống đảm bảo an toàn cho dịch vụ mạng vấn đề phức tạp ln cần hồn thiện Hệ thống cung cấp chứng số JavaCA xây dựng dựa chuẩn cơng nghệ PKI Q trình nghiên cứu phát triển hệ thống cung cấp chứng số nói riêng PKI nói chung q trình lâu dài với trình chấp nhận người sử dụng Tỷ lệ người sử dụng tăng lên chuẩn cơng nghệ trở nên hồn thiện, chứng minh khả ứng dụng thực hoá khả thi Hiện nay, việc sử dụng mật mã khố cơng khai dịch vụ cung cấp chứng số hay gọi dịch vụ chứng thực điện tử để đảm bảo an tồn thơng tin hoạt động giao dịch điện tử giải pháp nhiều quốc gia giới sử dụng Ở Việt Nam, chữ kí số dịch vụ cung cấp chứng số vấn đề chưa triển khai thực tế Trong thời gian gần đây, số đơn vị, quan có hoạt động nghiên cứu công nghệ, xây dựng hệ thống kỹ thuật, phát triển ứng dụng cung cấp dịch vụ chứng thực điện tử Việc triển khai dịch vụ cung cấp chứng thực điện tử yêu cầu đầu tư lâu dài nghiêm túc mang lại kết mong muốn Phần khó khăn triển khai dịch vụ khâu tổ chức thực thay đổi nhận thức người sử dụng Tính pháp lý chữ kí số dịch vụ chứng thực điện tử vấn đề đặt cần giải Các tổ chức, cá nhân cung cấp sử dụng dịch vụ chứng thực điện tử cần phải quản lý, đồng thời có quyền, nghĩa vụ định Chữ kí số ghi điện tử kí số theo qui định pháp luật có giá trị pháp lý văn viết thơng thường Ngồi hạ tầng sở cơng nghệ yếu, chưa có tin tưởng vào nhà cung cấp e ngại tâm lý người dùng trở ngại việc triển khai dịch vụ cung cấp chứng số cách rộng rãi Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 53 Kết nghiên cứu Luận văn có tìm hiểu khái niệm, cơng nghệ, mơ hình tổ chức xây dựng hệ thống PKI, với việc xây dựng hệ thống cung cấp chứng số Đây kết nghiên cứu ban đầu sản phẩm giai đoạn triển khai thử nghiệm Và với mạnh PKI, hy vọng tương lai hệ thống nâng cấp đưa vào ứng dụng thực tế cho đơn vị cụ thể Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 54 TÀI LIỆU THAM KHẢO I Tài liệu tiếng Việt Phạm Huy Điển, Hà Huy Khối (2003), Mã hố thơng tin sở toán học ứng dụng, Nhà xuất Đại học Quốc gia Hà nội Phan Đình Diệu (1999), Lý thuyết mật mã an tồn thơng tin, Đại học Quốc Gia Hà Nội, Hà Nội Trịnh Nhật Tiến (2004), Một số vấn đề an toàn liệu, Hà Nội Thái Hồng Nhị (2004), An Tồn Thơng Tin Mạng Máy Tính, Truyền Tin Số Và Truyền Dữ Liệu, Hà Nội II Tài liệu tiếng Anh Adams, C (1999), Understanding Public Key Infrastructures, New Rider Publishing, Indianapolis Alfred Menezes (1996), Handbook of Applied Cryptography, CRC Press, LLC Andrew Nash, William Duance, Celia Joseph, and Derek Brink (2001), PKI Implementing and managing E-Security, McGraw –Hill Co Ellison, C.M (1996), “Simple Public Key Certificate” Fegghi, J.(1999), Digital Certificates and Applied Internet Security, Addison-Wesley Longman, Inc 10 ITU-T Recommendation X.509 (2000), “The Directory: Public key and Attribute Certificates Framework” 11 NIST PKI Project Team (2001), “Certificate Issuing and Management Components Protection Profile” 12 Rivest, R.L., A.Shamir, and L.M.Adleman (1978), “A method for obtaining digital signatures and public-key cryptosystems”, Communications of the ACM Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 55 III Một số RFC 13 Boeyen, S., T.Howes and P.Richard (1999), Internet X.509 Public Key Infrastructure Operational Protocols – LDAP2, RFC 2559 14 Chokhani, S (1999), Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework, RFC 2527 15 Housley, R (1999), Internet X.509 Public Key Infrastrure Certificate and CRL Profile, RFC 2459 16 Housley, R., and P.Hoffman (1999), Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP, RFC 2585 17 Myers, M (1999), Internet X.509 Certificate Request Message Format, RFC 2511 18 Myers, M (1999), X.509 Internet Public Key Infrastrure On-line Certificate Status Protocol, RFC 2560 19 Santesson, S (2001), Internet X.509 Public Key Infrastructure Qualified Certificates Profile , RFC 3039 Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 56 PHỤ LỤC Môi trƣờng phát triển Hệ thống cung cấp chứng số JavaCA trình bày phát triển hệ điều hành Linux Windows, sử dụng số công cụ mã nguồn mở đây: Java EE Apache mod_ssl OpenSSL OpenLDAP Một số chuẩn mật mă khố cơng khai (PKCS) - PKCS - Public Key Cryptography Standards chuẩn mã hố khố cơng khai phịng thí nghiệm RSA phát triển Chuẩn PKCS cung cấp định nghĩa định dạng liệu thuật toán sở tảng việc triển khai PKI - PKCS#1 RSA Encryption Standard – Mã kí sử dụng hệ mã công khai RSA - PKCS#3 Diffie-Hellman Key Agreement Standard - Chuẩn trao đổi khố Diffie-Hellman PKCS#3 mơ tả phương pháp thực trao đổi khoá Diffie-Hellman - PKCS#5 Password-based Encrytion Standard - Chuẩn mã hoá dựa password PKCS#5 mô tả phương pháp mã xâu bát phân sử dụng khố bí mật tính từ password để sinh xâu bát phân mã hố PKCS # sử dụng để mă hoá khoá riêng việc truyền khố bí mật - PKCS#6 Extended Certificate Syntax Standard - Chuẩn cú pháp chứng mở rộng PKCS # định nghĩa cú pháp chứng X.509 mở rộng Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 57 - PKCS#7 Crytographic Message Syntax Standard - Chuẩn cú pháp thông điệp mật mă PKCS#7 xác định cú pháp tổng thể liệu mã hố ví dụ chữ kí số PKCS#7 cung cấp số lựa chọn định dạng: message khơng mã hố kí số, message mã hố, message kí số message có kí số mã hố PKCS#8 Private Key Information Syntax Standard Chuẩn cú pháp thông tin riêng PKCS#8 định nghĩa cú pháp thơng tin khố riêng cú pháp khoá riêng mã hoá - PKCS#9 Selected Attribute Types - Những loại thuộc tính lựa chọn PKCS#9 định nghĩa loại thuộc tính lựa chọn sử dụng chứng mở rộng PKCS#6, thơng điệp kí số PKCS#7, thơng tin khố riêng PKCS#8 u cầu kí chứng PKCS#10 Những thuộc tính chứng rõ gồm có địa thư, loại nội dung, tóm tắt thơng điệp, thời gian kí, password yêu cầu thuộc tính chứng mở rộng - PKCS#10 Certification Request Syntax Standard - Chuẩn cú pháp yêu cầu chứng PKCS#10 định nghĩa cú pháp yêu cầu chứng Yêu cầu chứng gồm tên phân biệt, khố cơng tập thuộc tính tuỳ chọn, chữ kí thực thể yêu cầu chứng - PKCS#11 Cryptographic Token Interface Standard - Chuẩn giao diện thẻ mật mă PKCS#11 xác định giao diện lập ttrình ứng dụng (Application programming interface - API) cho thiết bị người sử dụng chứa thơng tin mã hố (cũng khoá mă hoá chứng chỉ) thực chức mã hoá Smart Card thiết bị đặc trưng thực Cryptoki - PKCS#12 Personal Information Exchange Syntax Standard - Chuẩn cú pháp trao đổi thông tin cá nhân PKCS#12 định nghĩa định dạng thông tin nhận diện cá nhân bao gồm khố riêng, chứng chỉ, bí mật đặc tính khác mở rộng PKCS#12 làm cho việc truyền chứng khố bí mật gắn kèm thuận tiện, giúp người sử dụng chuyển thơng tin nhận diện cá nhân từ thiết bị sang thiết khác Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 58 - PKCS#13 Elliptic Curve Crytography Standard - Chuẩn mật mă đường cong elliptic PKCS#13 bao gồm việc tạo tham số đường cong elliptic kiểm tra hiệu lực, tạo khố cơng nhận giá trị, chữ kí số mã hố khố cơng khai thoả thuận khoá - PKCS#14 Pseudo-Random Number Generation Standard - Chuẩn tạo số giả ngẫu nhiên Nhiều hàm mật mã sử dụng PKI tạo khoá thoả thuận khố bí mật Diffie – Hellman sử dụng liệu ngẫu nhiên Tuy nhiên liệu ngẫu nhiên lại không ngẫu nhiên mà chọn từ tập giá trị tiên đốn hàm mật mã khơng bảo mật đầy đủ Do tạo số giả ngẫu nhiên an toàn điều quan trọng bảo mật PKI Một số đoạn mã java chƣơng trình // Chương trình yêu cầu tạo Chứng số private void buildCertRequest(String rqPath, String keyPath, String subject, int bits, String pwd) { try { logger.debug("Creating a cert request RQ Path=" + rqPath + " Key Path=" + keyPath + " Subject:" + subject + " bits:" + bits + " Passphrase:" + pwd); if (pwd == null ) { throw new Exception("A passphrase is required"); } CertGenerator _gen Số hóa trung tâm học liệu = new www: \\lrc-tnu.edu.vn 59 CertGenerator(subject); CertManager _mgr = new CertManager(_gen); _mgr.createCertRequest(bits, pwd); _mgr.saveCertRequest(rqPath, keyPath); } catch (Exception e) { System.err.println("An error has occured generating a cert request: " + e.getMessage()); //usage(); } } // Chương trình tạo Chứng chỉnh số private void buildHostCert(String certPath, String keyPath, String subject, int bits, String capwd) { try { CertUtil.init(); CertManager.checkCAPassword(capwd); Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 60 System.out.println("WARNING: Private key will not be encrypted!"); CertGenerator gen = new CertGenerator(subject); gen.createCertRequest(bits, "dummy"); String keyPEM = gen.getKeyPEM(); ByteArrayInputStream inRQ = new ByteArrayInputStream(gen.getCertRQPEM().getBytes()); FileInputStream inCACert = new FileInputStream(GSIProperties._defCACert); FileInputStream inCAKey = new FileInputStream(GSIProperties._defCAKey); OutputStream outCert = new FileOutputStream(certPath); CertSigner signer = new CertSigner(inRQ, inCACert, inCAKey, capwd); signer.save(outCert); outCert.close(); OpenSSLKey key = new Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 61 BouncyCastleOpenSSLKey(new ByteArrayInputStream(keyPEM.getBytes())); ByteArrayOutputStream outKey = new ByteArrayOutputStream(); key.decrypt("dummy"); key.writeTo(outKey); keyPEM = outKey.toString(); new FileOutputStream(keyPath).write(keyPEM.getBytes()); } catch (Exception e) { System.err.println("An error has occured creating a host cert: " + e.getMessage()); } } // Chương trình Kí Chứng số… private void signCertRequest(String rqPath, String caCertPath, String caKeyPath, String signedPath, String caPwd) { logger.debug("Signing cert Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 62 rq Rq Path=" + rqPath + " CA Cert=" + caCertPath + " CA key=" + caKeyPath + " Signed path=" + signedPath + " CA pwd=" + caPwd); try { CertSigner signer = new CertSigner(rqPath, caCertPath, caKeyPath , caPwd); signer.save(new FileOutputStream(signedPath)); } catch (GeneralSecurityException e) { System.err.println(e.getMessage()); usage(); } catch (Exception e1) { System.err.println("An error has occured signing a cert request: " + e1.getClass().getName() + ": " + e1.getMessage()); //e1.printStackTrace(); } } Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 63 Một số hình giao diện demo hệ thống xây dựng Giao diện trang Cấp chứng cho tài khoản RootCa Giao diện trang Cấp chứng cho ngƣời sử dụng Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 64 Giao diện tạo chứng số khóa riêng Số hóa trung tâm học liệu www: \\lrc-tnu.edu.vn 65 Thái Nguyên, tháng 10 năm 2013 Xác nhận giáo viên hƣớng dẫn GS.TS Nguyễn Văn Tam Số hóa trung tâm học liệu Học viên Hoàng Thị Thúy www: \\lrc-tnu.edu.vn

Ngày đăng: 18/10/2023, 15:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w