Tìm hiểu OpenCA, Xây dựng HT CTĐT với OpenCA
MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT i DANH MỤC HÌNH VẼ iii DANH MỤC BẢNG vi LỜI NÓI ĐẦU 1 Lý lựa chọn đề tài .1 Mục tiêu chuyên đề Phạm vi đối tượng nghiên cứu Phương pháp nghiên cứu Nội dung nghiên cứu .3 Cấu trúc báo cáo Chương TỔNG QUAN LÝ THUYẾT VỀ CƠ SỞ HẠ TẦNG KHĨA CƠNG KHAI .4 1.1 Định nghĩa PKI khái niệm liên quan 1.2 Mục tiêu, chức .4 1.3 Lợi ích mà PKI cung cấp 1.3.1 Đăng nhập an toàn .5 1.3.2 Đăng nhập lần an toàn 1.3.3 Trong suốt với người dùng cuối 1.3.4 An ninh toàn diện 1.4 Các thành phần PKI .8 1.4.1 CA .8 1.4.2 RA 10 1.4.3 Thực thể cuối (End Entity) 11 1.4.4 Hệ thống lưu trữ (Repositories) .11 1.5 Các mơ hình PKI 12 1.5.1 Mơ hình phân cấp CA chặt chẽ (strict hierarchy of CAs) .12 1.5.2 Mơ hình phân cấp CA không chặt chẽ (loose hierarchy of CAs) 13 1.5.3 Mơ hình kiến trúc tin cậy phân tán (distributed trust architecture) 13 I 1.5.4 Mơ hình bên (four-corner model) 14 1.5.5 Mơ hình Web (web model) 15 1.5.6 Mơ hình tin cậy lấy người dùng làm trung tâm (user-centric trust) 16 1.6 Các kiểu kiến trúc PKI .17 1.6.1 Kiến trúc kiểu CA đơn (Single CA) 17 1.6.2 Kiến trúc CA phân cấp 18 1.6.3 Kiến trúc kiểu chứng thực chéo (Cross-certificate) 19 1.6.4 Kiến trúc Bridge CA (BCA) 20 CHƯƠNG MÃ NGUỒN MỞ OPENCA VÀ XÂY DỰNG MƠ HÌNH PKI DỰA TRÊN MÃ NGUỒN MỞ OPENCA .22 2.1 Lịch sử phát triển OpenCA 22 2.2 Giới thiệu OpenCA 23 2.2.1 Môi trường phát triển 23 2.2.2 Các module perl .26 2.3 Thiết kế chung CA .27 2.3.1 Phân cấp .28 2.3.2 Các giao diện 29 2.4 Vòng đời đối tượng 32 2.5 Các lưu ý thiết kế PKI 32 2.5.1 Các vấn đề phần cứng .33 2.5.2 An toàn vật lý 33 2.5.3 Các vấn đề mạng 34 2.5.4 Vấn đề chứng 35 Chương CÀI ĐẶT HỆ THỐNG PKI SỬ DỤNG PHẦN MỀM MÃ NGUỒN MỞ OPENCA 37 3.1 Mơ hình bước cài đặt .37 3.1.1 Mơ hình sử dụng hệ thống PKI .37 3.1.2 Các bước cài đặt hệ thống PKI với OpenCA 37 3.2 Thực khởi tạo, cấu hình Root CA, Sub CA RA .42 3.2.1 Khởi tạo, cấu hình Root CA 42 II 3.2.2 Khởi tạo, cấu hình Sub CA 52 3.2.3 Cấp phát chứng cho RA 57 3.3 Thực demo số chức hệ thống PKI OpenCA 59 3.3.1 Cấp phát chứng cho người dùng 59 3.3.2 Cấp chứng SSL cho dịch vụ Web server 61 3.4 Đánh giá kết 64 KẾT LUẬN 65 TÀI LIỆU THAM KHẢO 66 III DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt API Ý nghĩa tiếng anh Ý nghĩa tiếng việt Application Programming Interface Giao diện lập trình ứng dụng APXS Apache Extention (tool) Công cụ mở rộng Apache BCA Bridge Certificate Authority CA dạng cầu CA Certificate Authority Thẩm quyền chứng thực CDP CRL Distribution Point Điểm phân phối CRL CRL Certificate Revocation List Danh sách hủy bỏ chứng CRR Certificate Revocation Request Yêu cầu hủy bỏ chứng CPS Certificate Signing Statement Hướng dẫn thực hành chứng CSR Certificate Signing Request Yêu cầu ký chứng DES Data Encryption Standard DN Distingished Name Tiêu chuẩn mã hóa liệu Tên phân biệt DSO Dynamic Shared Object Đối tượng chia sẻ động FTP File Transfer Protocol Giao thức truyền tập tin HTTP Hypertext Transfer Protocol Giao thức truyền siêu văn Secure Hypertext Transfer Giao thức truyền siêu văn an Protocol tồn International Data Encryption Thuật tốn mã hố liệu quốc Algorithm tế HTTPS IDEA IKE IMAP ITU LDAP MAC MD OCSP Internet Key Exchange Trao đổi khoá Internet Internet Message Access Giao thức truy cập thông báo Protocol Internet Internet Telecommunication Union Lightweight Directory Liên minh viễn thông quốc tế Giao thức truy cập nhanh thư Access Protocol Message Authentication Code mục Mã xác thực thông báo Message Degist Online Certificate Status Tóm lược thơng báo Giao thức trạng thái chứng i OSI PEM PKCS PKI SCEP Protocol Open System Interconnection Privacy Enhanced Mail Public Key CryptoGraphy Standards Pulic Key Infracstructure Simple Certificate Enrollment SMTP Protocol Simple Mail Transfer Protocol SPKC Simple Public Key Certificate TCP/IP TLS POP Transmission Control Protocol /Internet Protocol Mơ hình kết nối hệ thống mở Thư riêng tư tăng cường Chuẩn mật mã khố cơng khai Cơ sở hạ tầng khóa cơng khai Giao thức đăng ký chứng đơn giản Giao thức truyền thư đơn giản Chứng khố cơng khai đơn giản Giao thức điều khiển truyền Transport Layer Security thông/giao thức Internet Giao thức đảm bảo an toàn lớp Proof of posession vận chuyển Chứng minh sở hữu ii DANH MỤC HÌNH VẼ Hình 1.1 Tiến trình đăng nhập an tồn Hình 1.2 Tiến trình đăng nhập an toàn lần Hình 1.3 Mơ hình thành phần PKI .8 Hình 1.4 Sơ đồ minh họa rootCA SubCA 10 Hình 1.5 Mơ hình phân cấp CA chặt chẽ 12 Hình 1.6 Mơ hình kiến trúc tin cậy phân tán 14 Hình 1.7 Mơ hình bốn bên 14 Hình 1.8 Mơ hình Web .15 Hình 1.9 Mơ hình tin cậy lấy người dùng làm trung tâm 16 Hình 1.10 Chuỗi tin cậy 17 Hình 1.11 Kiến trúc CA đơn .18 Hình 1.12 Kiến trúc CA phân cấp 19 Hình 1.13 Kiến trúc kiểu chứng thực chéo .20 Hình 1.14 Kiến trúc Bridge CA 21 Hình 2.1 LDAP 25 Hình 2.2 Mơ hình phân cấp 28 Hình 2.3 Thiết kế OpenCA .29 Hình 2.4 Tổng quan kỹ thuật hoàn chỉnh 30 Hình 2.5 Vịng đời chứng 32 Hình 3.1 Mơ hình sử dụng 37 Hình 3.2 Giao diện đăng nhập 41 Hình 3.3 Giao diện Web OpenCA (Root CA) 42 Hình 3.4 Giao diện Web Sub CA .42 Hình 3.5 Giao diện khởi tạo Root CA 43 Hình 3.6 Giao diện Phase I .43 Hình 3.7 Thơng báo CSDL khởi tạo thành cơng .44 Hình 3.8 Khóa bí mật CA 44 Hình 3.9 Điền thơng tin chứng 45 iii Hình 3.10 Nội dung yêu cầu chứng 45 Hình 3.11 Lựa chọn Self Signed CA để tự chứng thực CA .46 Hình 3.12 Chứng CA 47 Hình 3.13 Chuỗi chứng tạo thành công 47 Hình 3.14 Tạo chứng cho người quản trị 47 Hình 3.15 Khai báo thông tin cần thiết, cho chứng 48 Hình 3.16 Khai báo chi tiết chứng 48 Hình 3.17 Thỏa thuận người dùng 49 Hình 3.18 Tạo yêu cầu chứng .49 Hình 3.19 Thơng báo tạo thành cơng yêu cầu chứng 50 Hình 3.20 Chấp thuận (ký) chứng 50 Hình 3.21 Chứng chấp thuận thành cơng 51 Hình 3.22 Download chứng máy với tùy chọn .51 Hình 3.23 Chứng xuất thành cơng .52 Hình 3.24 Đường dẫn yêu cầu chứng cho Sub CA 53 Hình 3.25 Khởi tạo yêu cầu chứng Sub CA .54 Hình 3.26 Khởi tạo u cầu thành cơng với serial 544 54 Hình 3.27 Yêu cầu chấp thuận chứng cho Sub CA 55 Hình 3.28 Chứng cho Sub CA chấp thuận 55 Hình 3.29 Lấy chứng máy dạng PEM 55 Hình 3.30 Import thành công chứng vào Sub CA 56 Hình 3.31 Chứng Sub CA hợp lệ 57 Hình 3.32 Các bước tạo chứng cho RA 57 Hình 3.33 Thơng tin chi tiết chứng RA 58 Hình 3.34 Tiến hành chấp thuận chứng cho RA 58 Hình 3.35 Chứng RA tạo thành công 59 Hình 3.36 Giao diện Public interface .59 Hình 3.37 Khởi tạo yêu cầu thành công 60 Hình 3.38 Chấp thuận yêu cầu chứng bên CA interface 60 Hình 3.39 Chứng người dùng thêm thành công 61 iv Hình 3.40 Khóa bí mật RSA độ dài 2048 bit 61 Hình 3.41 Tạo yêu cầu chứng .61 Hình 3.42 Yêu cầu chứng SSL cho webserver 62 Hình 3.43 Chứng SSL cho Web server: www.b1d7.com 63 v DANH MỤC BẢNG Bảng 2.1 External Perl modules .26 vi LỜI NÓI ĐẦU Lý lựa chọn đề tài Trong vài năm lại đây, hạ tầng truyền thông công nghệ thông tin ngày mở rộng mà người sử dụng dựa tảng để truyền thông giao dịch với đồng nghiệp, đối tác kinh doanh việc khách hàng dùng email mạng công cộng Hầu hết thông tin kinh doanh nhạy cảm quan trọng lưu trữ trao đổi hình thức điện tử Sự thay đổi hoạt động truyền thông doanh nghiệp đồng nghĩa với việc phải có biện pháp bảo vệ tổ chức, doanh nghiệp trước nguy lừa đảo, can thiệp, cơng, phá hoại vơ tình tiết lộ thơng tin Cấu trúc sở hạ tầng mã hóa khố cơng khai tiêu chuẩn cơng nghệ ứng dụng coi giải pháp tổng hợp độc lập sử dụng để giải vấn đề PKI trở thành phần trung tâm kiến trúc an toàn dành cho tổ chức kinh doanh PKI xem điểm trọng tâm nhiều khía cạnh quản lý an tồn Hầu hết giao thức chuẩn đảm bảo an toàn mail, truy cập Web, mạng riêng ảo hệ thống xác thực người dùng đăng nhập đơn sử dụng chứng khóa cơng khai PKI chất hệ thống cơng nghệ vừa mang tính tiêu chuẩn, vừa mang tính ứng dụng sử dụng để khởi tạo, lưu trữ quản lý chứng thực điện tử mã khố cơng khai cá nhân Sáng kiến PKI đời năm 1995, mà tổ chức cơng nghiệp phủ xây dựng tiêu chuẩn chung dựa phương pháp mã hoá để hỗ trợ hạ tầng bảo mật mạng Internet Tại thời điểm đó, mục tiêu đặt xây dựng tiêu chuẩn bảo mật tổng hợp công cụ lý thuyết cho phép người sử dụng tổ chức (doanh nghiệp phi lợi nhuận) tạo lập, lưu trữ trao đổi thơng tin cách an tồn phạm vi cá nhân công cộng 3.2.2 Khởi tạo, cấu hình Sub CA - Các bước khởi tạo database, tạo khóa bí mật cho Sub CA tương tự Root CA - Điền đầy đủ thông tin cho yêu cầu cấp chứng Sub CA - Đối với Sub CA, không thực việc tự ký yêu cầu chứng mà gửi yêu cầu cho Root CA để thực ký - Lựa chọn tùy chọn “Export CA Certificate Request” Hình 3.23 Chứng xuất thành công 52 - Thực giải nén file openca_local ta file careq.pem (yêu cầu chứng cho subca) có nội dung sau: - File careq.pem gửi qua cho Root CA để Root CA thực khởi tạo yêu cầu cấp phát chứng dựa file Truy cập giao diện Pub OpenCA theo đường dẫn 192.168.1.200/pki/pub Hình 3.24 Đường dẫn yêu cầu chứng cho Sub CA 53 - Lựa chọn My certificates Request a certificate Server Certificate Request: - Lựa chọn file careq.pem nhận từ Sub CA Chú ý thông tin quan trọng Role, DNS, IP (máy chủ Sub CA) Hình 3.25 Khởi tạo yêu cầu chứng Sub CA Hình 3.26 Khởi tạo yêu cầu thành công với serial 544 - Về lại giao diện bên /pki/ca Truy cập tới yêu cầu chứng để chấp thuận yêu cầu 54 Hình 3.27 Yêu cầu chấp thuận chứng cho Sub CA Hình 3.28 Chứng cho Sub CA chấp thuận Hình 3.29 Lấy chứng máy dạng PEM 55 - Lưu nội dung chứng Sub CA vào file cacert.pem gửi cho máy chủ Sub CA - Nén lại file cacert.pem thành file openca_local - Copy file openca_local lại vào thư mục /tmp/ - Tiến hành import chứng thư vào CSDL Sub CA Hình 3.30 Import thành cơng chứng vào Sub CA - Khởi tạo lại chuỗi chứng CA chain Kiểm tra chứng SubCA 56 Hình 3.31 Chứng Sub CA hợp lệ 3.2.3 Cấp phát chứng cho RA - Cấu hình Phase III - RA Certificate: Hình 3.32 Các bước tạo chứng cho RA + Điền thông tin cho người quản trị RA + Certificate temples chọn RA Operator 57 Hình 3.33 Thơng tin chi tiết chứng RA Hình 3.34 Tiến hành chấp thuận chứng cho RA 58 Hình 3.35 Chứng RA tạo thành công 3.3 Thực demo số chức hệ thống PKI OpenCA 3.3.1 Cấp phát chứng cho người dùng - Thực truy cập giao diện Public Interface máy Win (Client), IP 192.168.1.20 để gửi yêu cầu cấp chứng Hình 3.36 Giao diện Public interface - Lựa chọn My certificate Request a Certificate Browser certificate Request 59 - Điền đầy đủ thông tin chứng cần yêu cầu lúc thực yêu cầu chứng cho Root CA, Sub CA tạo yêu cầu chứng Hình 3.37 Khởi tạo u cầu thành cơng Hình 3.38 Chấp thuận yêu cầu chứng bên CA interface 60 Hình 3.39 Chứng người dùng thêm thành công - Chứng gửi lại cho người dùng để thực công việc khác 3.3.2 Cấp chứng SSL cho dịch vụ Web server - Tạo khóa bí mật RSA gắn với chứng SSL từ cơng cụ SSL: Hình 3.40 Khóa bí mật RSA độ dài 2048 bit Hình 3.41 Tạo yêu cầu chứng 61 Hình 3.42 Yêu cầu chứng SSL cho webserver - Tạo file server.pfx bao gồm chứng SSL khóa bí mật RSA - Truy cập Server CA từ Win server để tải chứng có kèm khóa bí mật: - Bên Window Server 2012 tạo máy chủ web với domain www.b1d7.com thêm chứng SSL vào: 62 - Web server sau thêm thành cơng chứng SSL: Hình 3.43 Chứng SSL cho Web server: www.b1d7.com 63 3.4 Đánh giá kết + Ưu điểm: - Thiết kế nhanh chóng, đầy đủ thành phần cho hệ thống PKI Phù hợp với hệ thống từ nhỏ tới lớn - Kết hợp công cụ mật mã OpenSSL cung cấp khả mã hóa mạnh, đa dạng - Sử dụng mã nguồn mở cung cấp khả tùy biến cho người dùng - Chi phí cấu hình, thiết kế rẻ - Cung cấp nhiều chức năng, giao diện, giao thức sử dụng CA, RA, Node, LDAP, OCSP,… - Cung cấp giao thức LDAP cho phép kết nối CSDL nhiều hệ thống khác tảng - Giao diện đồ họa thân thiện dễ sử dụng, dễ hiểu với người dùng + Nhược điểm: - Do phần mềm mã nguồn mở nên kết hợp nhiều phần mềm mã nguồn khác nhau, q trình cài đặt xảy lỗi thiếu xót, cài đặt khơng xác - Vẫn cịn tồn lỗ hổng bảo mật, lỗi hệ thống, tìm thấy theo thời gian liên tục cập nhật + Đánh giá phần thực demo nhóm: - Xây dựng hệ thống PKI đơn giản với OpenCA bao gồm Root CA, Sub CA, RA - Thực thành công việc cấp phát chứng cho thành phần hệ thống như: chứng Root CA, Sub CA, chứng SSL cho Web server - Tuy nhiên thời gian có hạn nên chưa thể tìm hiểu sâu, triển khai cài đạt giao thức OSCP, LDAP hay SCEP - Chưa nghiên cứu ứng dụng vào thẻ token, smart cart,… 64 KẾT LUẬN Nghiên cứu xây dựng hệ thống PKI dựa mã nguồn OpenCA vấn đề mẻ ln cần hồn thiện Mơ hình PKI dựa mã nguồn OpenCA xây dựng từ nhiều mã nguồn khác bao gồm Apache, OpenSSL, mod_ssl, perl module perl Quá trình nghiên cứu, xây dựng phát triển hệ thống PKI dựa mã nguồn OpenCA q trình lâu dài cần phải có chấp nhận người sử dụng Tỷ lệ người dùng tăng chuẩn công nghệ trở nên hoàn thiện hơn, chứng minh khả ứng dụng thực hố tính khả thi Hiện nay, việc áp dụng mật mã khố cơng khai 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, vấn đề có tiến triển, cịn gặp nhiều khó khăn Một vài năm trở lại đây, số đơn vị, quan có hoạt động ban đầu nghiên cứu công nghệ, xây dựng hệ thống kỹ thuật, phát triển ứng dụng thử nghiệm 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 Tính pháp lý chữ ký số dịch vụ chứng thực điện tử vấn đề đặt Hiện nay, Việt Nam ban hành số điều luật lĩnh vực Luật công nghệ thông tin ban hành ngày 29/6/2006, Luật giao dịch điện tử ban hành ngày 29/11/2005, Luật nội dung chữ ký số ban hành ngày 15/2/2007 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 Ngoài sở hạ tầng có cơng nghệ yếu khơng có tin tưởng nhà cung cấp dịch vụ e ngại tâm lý người dùng trở ngại việc triển khai sở hạ tầng an ninh rộng khắp 65 TÀI LIỆU THAM KHẢO Website: 1) https://www.openca.org/projects/openca/docs/openca-guide.pdf 2) https://namhb.nightst0rm.net/2011/05/openca-tutorial.html 3) http://www.thuvientailieu.vn/tai-lieu/de-tai-nghien-cuu-xay-dung-ha-tangkhoa-cong-khai-pki-dua-tren-openca-22694/ 4) https://www.mustbegeek.com/installing-centos-6-4-step-bystep/#.X7nel80zbDc 5) http://www-public.imtbstsp.eu/~lauren_m/CADDISC/SP21/OpenCA_Doc.html 6) https://www.clubensayos.com/Tecnolog%C3%ADa/ManualOpenCA/1178771.html? fbclid=IwAR0tV0ghX68fES8lfUa5FCsFzFyjDB_3eci2wgZIa5PheOihx7 HMMp3JG0o 7) https://techhub.hpe.com/eginfolib/networking/docs/switches/5130ei/52003946_security_cg/content/485048385.htm 66 ... mã hoá gảii mã Base64 Được yêu cầu để xử lý mail OpenCA Được yêu cầu để xử lý mail OpenCA Được yêu cầu để xử lý mail OpenCA Được yêu cầu cho OpenCA daemon- Phiên quan trọng Được yêu cầu X500::DN... 38 + Sử dụng gói openca- tool openca- base (mã nguồn) trang ftp .openca. org: - Cài đặt file openca- tools 1.3.1 (đuôi rpm) - Giải nén file openca- base-1.5.1-1.el6.src.rpm ta file openca- base-1.5.1,... cài đặt, cấu hình OpenCA: # /configure prefix=/opt /openca with-ca-oganization="B1D7 Root CA Labs" with-httpd-fs-prefix=/var/www with-httpd-main-dir=pki with-db-name =openca with-db-host=localhost