Mật mã khóa công khai và ứng dụng

91 314 1
Mật mã khóa công khai và ứng dụng

Đ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

MỤC LỤC MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC THUẬT NGỮ VIẾT TẮT DANH MỤC HÌNH VẼ PHẦN MỞ ĐẦU 10 Chƣơng 1: Tổng quan mật mã 12 Khái niệm mật mã 12 Mật mã khóa đối xứng 14 2.1 Giới thiệu 14 2.2 An toàn lý tƣởng 15 2.3 An toàn trƣớc công lựa chọn rõ 17 2.4 Mật mã khối 18 2.5 Lƣợc đồ CPA – an toàn 19 Mã xác thực thông điệp 20 3.1 Giới thiệu 20 3.2 Xác thực cho thông điệp dài 22 3.3 Kết hợp tính bí mật với tính toàn vẹn xác thực 24 Mật mã khóa công khai 24 4.1 Khái niệm 24 4.2 Mã hóa RSA 26 4.3 Mã hóa El Gamal 28 4.4 Mã hóa lai 30 Chữ ký điện tử 31 5.1 Khái niệm 31 5.2 Chữ ký số 32 Kết luận chƣơng 36 Chƣơng 2: Hạ tầng khóa công khai 37 Chứng thƣ số 37 1.1 Giới thiệu 37 1.2 Chứng thƣ khóa công khai X509 39 1.3 Quy trình cấp chứng thƣ số 43 1.4 Thu hồi chứng thƣ số 44 1.5 Chính sách chứng thƣ 45 Các thành phần PKI 46 2.1 Giới thiệu 46 2.2 Thành phần PKI 46 2.3 Chức PKI 49 2.4 Kiến trúc hệ thống PKI 53 Hạ tầng khóa công kha EJBCA 59 3.1 Giới thiệu 59 3.2 Nhận xét EJBCA 60 3.3 Mô hình lôgic 62 3.4 Một số mô hình triển khai 63 3.5 Cấp phát chứng thƣ EJBCA 64 Kết luận chƣơng 66 Chƣơng 3: Ứng dụng 67 Bài toán xác thực vận đơn Viettel Post 67 Kiến trúc hệ thống 68 2.1 Thành phần hệ thống 68 2.2 Các tác nhân tham gia hệ thống 69 2.3 Luồng ký hệ thống 70 Cài đặt thử nghiệm ứng dụng 73 3.1 Cài đặt Root CA EJBCA 74 3.2 Cài đặt mô đun ký 76 Kết luận chƣơng 77 KẾT LUẬN 78 TÀI LIỆU THAM KHẢO 79 Phụ lục 1: Cài đặt EJBCA 80 Phụ lục 2: Chức EJBCA 87 Các giao diện web 87 Các bƣớc tạo CA thực thể cuối 88 Khai báo chứng thƣ ngƣời dùng 91 LỜI CẢM ƠN Tôi xin chân thành cảm ơn thầy cô giáo tận tình hƣớng dẫn, giảng dạy suốt trình học tập trƣờng Đại học Bách khoa Hà Nội Xin chân thành cảm ơn thầy giáo hƣớng dẫn TS Trần Vĩnh Đức tận tình, chu đáo hƣớng dẫn thực luận văn Mặc dù có nhiều cố gắng để thực luận văn cách hoàn chỉnh Song kiến thức kinh nghiệm hạn chế nên tránh khỏi thiếu sót định mà thân chƣa thấy đƣợc Tôi mong nhận đƣợc đóng góp quý thầy, cô giáo và bạn đồng nghiệp để luận văn đƣợc hoàn chỉnh Tôi xin chân thành cảm ơn! Hà Nội, ngày 21 tháng 10 năm 2016 Học viên Nguyễn Nam Thanh LỜI CAM ĐOAN Tôi xin cam đoan số liệu kết nghiên cứu luận văn trung thực chƣa đƣợc sử dụng để bảo vệ học vị Mọi giúp đỡ cho việc thực luận văn đƣợc cảm ơn thông tin trích dẫn luận văn đƣợc rõ nguồn gốc rõ ràng đƣợc phép công bố Hà Nội, ngày 21 tháng 10 năm 2016 Học viên Nguyễn Nam Thanh DANH MỤC THUẬT NGỮ VIẾT TẮT AES Advandced Encryption Standard APKI Architecture for Public-Key Infrastructure CA Certificate Authority CRL Certifiate Revocation List DES Data Encrytion Standard DSA Digital Signature Algorithm DSS Digital Signature Standard IETF Internet Engineering Task Force LDAP Lightweight Directory Access Protocol MAC Message Authentication Code MD2, 4,5 Message Digest 2,4,5 NIST National Institute of Standards and Technology NSA National Security Agency PEM Privacy Enhanced Mail PGP Pretty Good Privacy RA Registration Authority PKCS Public Key Cryptography Standards PKI Public Key Infrastructure PKIX Public Key Infrastructure X.509 group RFC Request For Comments RSA Rivest Shamir Adleman SCEP Simple Certificate Enrollment Protocol SET Secure Electronic Transactions SHA Secure Hash Algorithm SPKI Simple Public Key Infrastructure SSL Secure Socket Layer TSL Transport Layer Security DANH MỤC HÌNH VẼ Hình 1: Ví dụ truyền tin đơn giản 12 Hình 2: Mô hình mô tả sử dụng khóa đối xứng 14 Hình 3: Nguyên lý hoạt động lƣợc đồ mã hóa đối xứng 15 Hình 4: Mô hình sử dụng mật mã khóa công khai 26 Hình 5: Ví dụ chứng thƣ số - chứng thƣ máy chủ mail Viettel 38 Hình 6: Khuôn dạng chứng thƣ X509 v3 39 Hình 7: Ví dụ thông tin chi tiết chứng thƣ 43 Hình 8: Luồng giao tiếp thành phần PKI 47 Hình 9: Đƣờng dẫn chứng thƣ chéo 52 Hình 10: Mô hình CA đơn 53 Hình 11: Mô hình phân cấp 55 Hình 12: Mô hình mắt lƣới 56 Hình 13: Mô hình Hub Spoke (Bridge CA) 57 Hình 14: So sánh EJBCA OpenCA 61 Hình 15: Mô hình kiến trúc logic EJBCA 62 Hình 16: Mô hình triển khai EJBCA đơn node 63 Hình 17: Mô hình RootCA ofline SubCAs 64 Hình 18: Biểu đồ phân rã chức EJBCA Web GUI 64 Hình 19: Luồng tạo thực thể cuối, cấp chứng thƣ 66 Hình 20: Đề xuất mô hình triển khai hạ tầng khóa công khai Viettel Post 68 Hình 21: Biểu đồ use hệ thống 70 Hình 22: Luồng ký sử dụng SIM CA 71 Hình 23: Luồng ký thiết bị ký 72 Hình 24: Luồng ký sử dụng USB 73 Hình 25: Thông tin chứng thƣ Root CA 74 Hình 26: Ví dụ khóa bí mật dạng rõ(encode Base64) 75 Hình 27: Ví dụ chứng thƣ khách hàng sinh hệ thống 75 Hình 28: Ví dụ chứng thƣ khách hàng 76 Hình 29: Ví dụ ký xác nhận văn sử dụng chứng thƣ sinh hệ thống76 Hình 30: Cài đặt biến môi trƣờng 81 Hình 31: Ví dụ cấu hình instal.properties 83 Hình 32: Ví dụ cấu hình web.properties 83 Hình 33: EJBCA windows 85 Hình 34: EJBCA máy ảo linux 86 Hình 35: Giao diện Administration supper admin 87 Hình 36: Giao diện Administration RA Admin 87 Hình 37: Giao diện public web 88 Hình 38: Create a Certificate Profile 88 Hình 39: Create the Certificate Authority 89 Hình 40: Create an End Entity Profile 89 Hình 41: Add End Entity 90 Hình 42: Ví dụ khai báo chứng thƣ cho khách hàng 91 Hình 43: Ví dụ khai báo chứng thƣ cho nhân viên 91 PHẦN MỞ ĐẦU Ngày nay, với bùng nổ ứng dụng Internet nhƣ dịch vụ mạng xã hội, thƣ điện tử, dịch vụ web, thƣơng mại điện tử … vấn đề an toàn thông tin trở nên vô cấp thiết Theo thống kê VNCERT, xu hƣớng công mạng ngày phức tạp phổ biến: năm 2015, có 4484 cố công lừa đảo, 6122 cố thay đổi giao diện, 14115 cố mã độc Mật mã khóa công khai sở để xây dựng an toàn thông tin cho Internet Ví dụ, giao thức an toàn sử dụng phổ biến SSL/TLS sử dụng kết hợp nhiều kỹ thuật mã khóa công khai: trao đổi khóa Diffie Hellman, chữ ký số, chứng thƣ số… Ngoài phát triển mật mã khóa công khai đem đến nhiều giao thức tiện lợi cho ngƣời dùng nhƣ toán online, tiền điện tử, ví điện tử, chữ ký điện tử… Nhận thấy tầm quan trọng ứng dụng mật mã khóa công khai tác giả chọn đề tài: Mật mã khóa công khai ứng dụng để nghiên cứu phát triển kỹ cần thiết cho công việc Cụ thể Tổng Công Ty Viettel Post – Viettel Group (VTP), có hệ thống quản lý vận đơn Tuy nhiên, quy trình tiếp nhận xử lý vận đơn nhiều bất cập nhƣ: chƣa có chế xác thực khách hàng, xác nhận vận đơn đảm bảo an toàn tin cậy Các khâu xác thực phải thực thủ công, với khách hàng thân thiết (nhóm khách hàng đem lại 70% doanh thu cho VTP) Nhằm tối ƣu hóa quy trình sản xuất kinh doanh Viettel Post, luận văn đề xuất mô hình tích hợp chế xác thực khách hàng, đảm bảo bí mật toàn vẹn thông tin vận đơn, hỗ trợ chế xác thực trực tuyến nhanh chóng, tiện lợi nhằm tin học hóa quy trình tiếp nhận xử lý vận đơn phục vụ nhóm khách hàng thân thiết Luận văn nghiên cứu mật mã khóa công khai ứng dụng Cụ thể, ứng dụng mật mã khóa công khai hệ thống quản lý vận đơn Viettel Post nhằm xác thực khách hàng, bảo mật thông tin vận đơn 10 Kết luận chương Các kết nghiên cứu mật mã khóa công khai đƣợc đƣa vào áp dụng thực tiễn chƣơng Chƣơng ba xem xét bất cập mô hình hệ thống thông tin Viettel Post, từ đƣa giải pháp khắc phục cụ thể kiến trúc hệ thống tích hợp chữ ký số trình bày mục hai chƣơng Cuối chƣơng, luận văn giới thiệu số cài đặt quan trọng kiến trúc đề xuất nhằm chứng minh tính khả thi kiến trúc 77 KẾT LUẬN Với phát triển công nghệ thông tin mạng internet, ngƣời dễ dàng giao tiếp cộng đồng rộng lớn, loại hình giao dịch điện tử ngày phong phú Tuy nhiên, giao dịch quan trọng, cần phải có chế đảm bảo an toàn Dựa sở mật mã khóa công khai, luận văn nghiên cứu phƣơng pháp kỹ thuật, chuẩn bảo mật tiên tiến nhằm đƣa mô hình PKI áp dụng cụ thể Viettel Post Việc triển khai PKI ứng dụng chứng thƣ số, chữ ký số vào trình xác thực lựa chọn số cho hệ thống thông tin quan trọng PKI cung cấp các chế bảo mật xác thực hiệu giao dịch điện tử Quá trình thực luận văn thu đƣợc số kết cụ thể sau: nghiên cứu chữ ký số, chứng thƣ số, hạ tầng mã khóa công khai, tìm hiểu lựa chọn mã nguồn mở PKI phù hợp, từ đƣa kiến trúc tích hợp chế xác thực vận đơn vào hệ thống thông tin Viettel Post Cài đặt đƣợc số thành phần kiến trúc đƣa nhằm chứng minh tính khả thi mô hình kiến trúc Đây bƣớc đầu để xây dựng hệ thống an toàn khác Viettel Post Trong tƣơng lai, để đƣa hệ thống vào sử dụng, dự định cài đặt thêm chế xác thực thiết bị thực tế nhƣ: USB Token, USB Bluetooth, SIM CA, điện thoại thông minh Đồng thời, rà khảo sát chi tiết luồng nghiệp vụ để có cập nhật phù hợp 78 TÀI LIỆU THAM KHẢO [1] Phan Đình Diệu, Lý thuyết mật mã An toàn thông tin, NXB Đại học Quốc Gia Hà Nội, 2004 [2] Jeffrey Hoffstein, Jill Pipher, Joseph H Silverman, An Introduction to Mathematical Cryptography, Springer-Verlag, New York, 2014 [3] Jonathan Katz, Digital signatures, Springer, 2010 [4] Andrew Nash, William Duane, and Celia Joseph PKI: Implementing and Managing E-Security McGraw-Hill, Inc., New York, NY, USA, 2001 [5] Kapil Raina PKI Security Solutions for the Enterprise: Solving Hipaa, E-Paper Act, and Other Compliance Issues (1 ed.) John Wiley & Sons, Inc., New York, NY, USA, 2003 79 Phụ lục 1: Cài đặt EJBCA EJBCA đƣợc phát triển EJB (Enterprise Java Beans), nên hệ thống chạy đƣợc hầu hết hệ điều hành cho máy chủ phổ biến Ngoài ra, việc cài đặt EJBCA Windows Linux đơn giản Quá trình cài đặt hệ thống tƣơng tự hệ điều hành, dƣới mô tả trình cài đặt EJBCA hệ điều hành Windows Bƣớc 1: chuẩn bị gói phần mềm cần thiết: - Java JDK 1.7 (hoặc cao hơn), Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files - Apache-ant-1.9.7 - Jboss-as-7.1.1.Final - Mysql-5.7.14-winx64 - Mysql-connector-java-5.1.39 - Ejbca_ce_6_3_1_1 Xác định đƣờng dẫn triển khai cài đặt lần lƣợt gói phần mềm theo hƣớng dẫn nhà sản xuất (trừ EJBCA đƣợc hƣớng dẫn cài đặt đây) Bƣớc 2: Cấu hình biến môi trƣờng theo đƣờng dẫn cài đặt tƣơng ứng - JAVA_HOME - APPSRV_HOME - EJBCA_HOME - JBOSS_HOME - ANT_HOME - Bổ sung thƣ mục bin gói cài đặt vào biến PATH 80 Hình 30: Cài đặt biến môi trường Bƣớc 3: Thiết lập sở liệu MySQL Mô hình triển khai thử nghiệm sử dụng MySQL làm sở liệu cho ứng dụng, cần tạo database MySQL để ứng dụng sử dụng: Đăng nhập MySQL client sử dụng lệnh: Create database ejbca; grant all privileges on ejbca.* to 'ejbca'@'localhost' identified by 'ejbca'; flush privileges; Bƣớc 4: Cấu hình cài đặt EJBCA 81 Tạo sửa file cấu hình *.properties thƣ mục (Trƣờng hợp file cấu hình không đƣợc cập nhật tham số cấu hình có giá trị mặc định tiến hành build ứng dụng, nhiều khả việc triển khai thất bại tham số không khớp.): %EJBCA_HOME%\conf: EJBCA cho phép cán triển khai tùy chỉnh nhiều tham số ứng trong file properties, trƣờng hợp ngƣời dùng cần cần tùy chỉnh tham số cấu hình cần sửa file mẫu tƣơng ứng có đuôi properties.sample thành properties tham số cấu hình file có giải nghĩa chi tiết ý nghĩa sử dụng Hƣớng dẫn đề cập tới tùy chỉnh số file cấu hình Cụ thể:  database.properties: Cấu hình kết nối dến Database MySQL  ejbca.properties: Cấu hình tham số EJBCA nhƣ: appserver.home: Đƣờng dẫn thƣ mục triển khai jboss  install.properties: ca.name: tên CA gốc ca.dn: dn CA gốc ca.signaturealgorithm=SHA256WithRSA ca.keytype=RSA ca.keyspec=2048 ca.validity=3650 82 Hình 31: Ví dụ cấu hình instal.properties  web.properties: định nghĩa tham biến sử dụng web GUI Hình 32: Ví dụ cấu hình web.properties Bƣớc 5: cấu hình Jboss: 83 - Cấu hình kết nối MySQL: Cần bổ sung thƣ viện mysql-connectorjava-5.1.39-bin.jar cho phép ứng dụng kết nối đến Database MySQL cách copy thƣ viện vào thƣ mục: %JBOSS_HOME%\modules\com\mysql\main - Trong thƣ mục tạo file module.xml có nội dung: - Lệnh Start Jboss: Cd %JBOSS_HOME%\bin Standalone.bat - Lệnh stop Jboss: jboss-cli.bat –connect command=:shutdown Bƣớc 6: Build triển khai ứng dụng EJBCA lên JBOSS 84 - Đảm bảo Jboss chạy - Chạy lệnh: ant deploy để build triển khai EJBCA lên jboss - Chạy lệnh ant install để hoàn tất trình cài đặt Kết thúc bƣớc 6, cài đặt thành công thƣ mục %EJBCA_HOME%\p12 Sẽ có file chứng thực p12 dùng để xác thƣc truy cập vào giao diện Web GUI hệ thống, thực import chứng thƣ file p12 vào trình duyệt, truy cập web public theo địa chỉ: https://localhost:8443/ejbca/ Hình 33: EJBCA windows Dƣới kết thu đƣợc cho môi trƣờng cài đặt Windows Linux Ubuntu: 85 Hình 34: EJBCA máy ảo linux 86 Phụ lục 2: Chức EJBCA Các giao diện web Hình 35: Giao diện Administration supper admin Hình 36: Giao diện Administration RA Admin 87 Hình 37: Giao diện public web Các bước tạo CA thực thể cuối Bƣớc 1: Tạo Certificate Profile Hình 38: Create a Certificate Profile 88 Bƣớc 2: Create the Certificate Authority Bƣớc thực tạo CA quản lý cấp phát chứng thƣ Hình 39: Create the Certificate Authority Bƣớc 3: Tạo End Entity Profile Bƣớc định nghĩa thông tin chứa End Entity hệ thống Hình 40: Create an End Entity Profile 89 Bƣớc 4: Thêm End Entity Các End Entity đƣợc tạo bƣớc với thông tin dựa End Entity Profile tạo bƣớc trƣớc Hình 41: Add End Entity Hoàn tất bƣớc End Entity đƣợc tạo hệ thống, ngƣời dùng truy cập Public Web để yêu cầu thông tin chứng thƣ phù hợp 90 Khai báo chứng thư người dùng Hình 42: Ví dụ khai báo chứng thư cho khách hàng Hình 43: Ví dụ khai báo chứng thư cho nhân viên 91 ... mã khóa đối xứng (hay có tên gọi nhƣ mật mã khóa chia sẻ”, mật mã khóa cá nhân”, mật mã khóa bí mật ) mật mã đƣợc tin tƣởng sử dụng tận năm 1970 (trƣớc lý thuyết Mật mã khóa công khai đời) Trong... ngữ mật mã trình bày chƣơng này: Tính bí mật Mật mã khóa đối xứng Tính xác thực toàn vẹn Lƣợc đồ mã hóa khóa bí Mã xác thực thông điệp mật Mật mã khóa công khai Lƣợc dồ mã hóa khóa Chữ ký số công. .. Hình 4: Mô hình sử dụng mật mã khóa công khai Chú ý rằng, khái niệm mật mã khóa công khai bao hàm nghĩa mật mã phải an toàn trƣớc công lựa chọn rõ, nắm giữ khóa công khai thực mã hóa thông điệp

Ngày đăng: 25/07/2017, 21:39

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • PHẦN MỞ ĐẦU

  • Chương 1: Tổng quan về mật mã

  • Chương 2: Hạ tầng khóa công khai

  • Chương 3: Ứng dụng

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

  • Phụ lục

Tài liệu cùng người dùng

Tài liệu liên quan