XÂY DỰNG CHƯƠNG TRÌNH TRUYỀN TIN CÓ BẢO MẬT SỬ DỤNG RSAOAEP

71 0 0
XÂY DỰNG CHƯƠNG TRÌNH TRUYỀN TIN CÓ BẢO MẬT SỬ DỤNG RSAOAEP

Đ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

XÂY DỰNG CHƯƠNG TRÌNH TRUYỀN TIN CÓ BẢO MẬT SỬ DỤNG RSAOAEP Hệ mật khóa công khai RSA được phát minh bởi Ron Rivest, Adi Shamir và Len Adleman và được công bố lần đầu vào tháng 8 năm 1977. Nó được sử dụng phổ biến nhằm mục đích đảm bảo tính riêng tư, tính xác thực cho dữ liệu số và được triển khai trong nhiều hệ thống thương mại như: sử dụng bởi web server và web browser để bảo mật dữ liệu trên đường truyền, được sử dụng để đảm bảo bí mật và xác thực cho thư điện tử, được sử dụng để bảo vệ các phiên đăng nhập từ xa và là trái tim của các hệ thống thanh toán bằng thẻ điện tử. Hệ mật được xem là không thể phá vỡ với độ dài khóa đủ lớn. Tuy nhiên, RSA không phải hoàn hảo, trong thực tế, nó vẫn có những sơ hở để kẻ xấu lợi dụng và thực hiện tấn công thành công, ví dụ như tấn công lựa chọn bản rõ. Tấn công này có thể được ngăn chặn bằng kỹ thuật cài đặt hệ mật, trong đó có kỹ thuật chuyển đổi bản rõ OAEP. Chính từ những thực tế trên, em lựa chọn đề tài: “Xây dựng chương trình truyền tin có bảo mật sử dụng RSAOAEP” làm đồ án tốt nghiệp của mình. Nội dung của đồ án được chia thành 3 chương: Chương 1: Mật mã khóa công khai và kỹ thuật truyền tin. Chương này trình bày những kiến thức nền tảng về mật mã khóa công khai và kỹ thuật truyền tin dựa trên Socket TCP. Chương 2: Lược đồ mã hóa RSAOAEP. 2 Chương này trình bày về lược đồ mã hóa RSAOAEP cùng các phép toán mật mã cơ sở bao gồm: Phép mã hóa RSA nguyên thủy RSAEP, phép giải mã RSA nguyên thủy RSADP, phép mã hóa EMEOAEPENCODE, phép giải mã EMEOAEPENCODE, hàm tạo mặt nạ dựa trên hàm băm MGF. Chương 3: Xây dựng chương trình truyền tin có bảo mật sử dụng RSAOAEP. Chương này dựa trên nền tảng kiến thức của hai chương 1, 2 tiến hành thực nghiệm cài đặt mô phỏng lược đồ mã hóa RSAOAEP và thực hiện truyền tin có bảo mật sử dụng RSAOAEP. 3 Chương 1 MẬT MÃ KHÓA CÔNG KHAI VÀ KỸ THUẬT TRUYỀN TIN 1.1. Mật mã khóa công khai 1.1.1. Những hạn chế của mật mã khóa bí mật Qua nghiên cứu về mật mã khóa bí mật, chúng ta thấy rằng mặc dù có rất nhiều uu điểm nhung dòng mật mã này cũng bộc lộ Tìm hiểu lý thuyết mật mã khóa công khai và kỹ thuật truyền tin dựa trên Socket. Tìm hiểu, nghiên cứu về hệ mật RSA nguyên thủy và lược đồ mã hóa RSAOAEP. Đã thực hiện cài đặt thành công chương trình mô phỏng lược đồ mã hóa RSAOAEP và việc truyền nhận dữ liệu trên hệ điều hành Ubuntu với ngôn ngữ lập trình Python. Tìm hiểu, nghiên cứu chuyên sâu về các tấn công lên lược đồ, đề xuất các giải pháp bảo đảm an toàn cho lược đồ mã hóa RSAOAEP. Thực hiện thiết kế giao diện cho chương trình truyền tin có bảo mật sử dụng RSAOAEP.

1 ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ XÂY DỰNG CHƯƠNG TRÌNH TRUYỀN TIN CĨ BẢO MẬT SỬ DỤNG RSA-OAEP Nguyen Thanh Long Hà Nội - 2023 MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC KÝ HIỆU VÀ VIẾT TẮT vi DANH MỤC BẢNG vii DANH MỤC HÌNH VẼ viii LỜI MỞ ĐẦU Chương MẬT MÃ KHĨA CƠNG KHAI VÀ KỸ THUẬT TRUYỀN TIN 1.1 Mật mã khóa cơng khai 1.1.1 Những hạn chế mật mã khóa bí mật 1.1.2 Lịch sử đời mật mã khóa cơng khai 1.1.3 Mơ hình hệ mật khóa cơng khai 1.1.3.1 Mơ hình tốn học hệ mật khóa cơng khai 1.1.3.2 Mơ hình thơng tin hệ mật khóa cơng khai 1.1.4 Một số hệ mật khóa cơng khai 11 1.2 Kỹ thuật truyền tin dựa Socket TCP 12 1.2.1 Cơ mạng máy tính 12 1.2.1.1 Định nghĩa mạng máy tính 12 1.2.1.2 Nhu cầu phát triển mạng máy tính 13 1.2.1.3 Giao thức mạng 14 1.2.1.4 Các mơ hình hoạt động mạng máy tính 19 1.2.2 Khái niệm Socket 20 1.2.2.1 Lịch sử hình thành 20 1.2.2.2 Nguyên lý hoạt động .29 Chương LƯỢC ĐỒ MÃ HÓA RSA-OAEP 2.1 Hệ mật RSA nguyên thủy 33 2.1.1 Bài tốn phân tích số nguyên 34 2.1.2 Hệ mật RSA 35 2.1.3 Độ an toàn hệ mật RSA 39 2.2 Lược đồ mã hóa RSA-OAEP 41 2.2.1 Các hàm chuyển đổi liệu sở 41 2.2.1.1 Hàm chuyển đổi từ dạng số nguyên sangdạng chuỗioctet 41 2.2.1.2 Hàm chuyển đổi từ dạng chuỗi octet dạngsố nguyên 42 2.2.2 Các phép toán mật mã sở 42 2.2.2.1 Phép mã hóa RSA nguyên thủy RSAEP 42 2.2.2.2 Phép giải mã RSA nguyên thủy RSADP 43 2.2.2.3 Phép mã hóa EME-OAEP-ENCODE 44 2.2.2.4 Phép giải mã EME-OAEP-DECODE 46 2.2.2.5 Hàm tạo mặt nạ dựa hàm băm MGF 47 2.2.3 Lược đồ mã hóa RSA-OAEP 48 2.2.3.1 Phép mã hóa RSAES-OAEP-ENCRYPT 48 2.2.3.2 Phép giải mã RSAES-OAEP-DECRYPT 50 2.2.4 Tiêu chuẩn an toàn tham số sử dụng cho RSA-OAEP 51 2.2.5 Độ an toàn RSA-OAEP 52 Chương XÂY DỰNG CHƯƠNG TRÌNH TRUYỀN TIN CĨ BẢO MẬT SỬ DỤNG RSA-OAEP 3.1 Xây dựng chương trình truyền tin có bảo mật sử dụng RSA-OAEP .55 3.1.1 Xây dựng mơ hình 55 3.1.1.1 Mơ hình truyền tin 55 3.1.1.2 Mơ lược đồ mã hóa RSA-OAEP 55 3.1.2 Một số lưu đồ giải thuật chương trình 56 3.1.2.1 Chương trình sinh khóa 56 3.1.2.2 Thuật tốn mã hóa RSAES-OAEP-ENCRYPT 56 3.1.2.3 Thuật toán mã hóa RSAES-OAEP-DECRYPT 60 3.1.2.4 Chương trình truyền liệu có bảo mật sử dụng RSA-OAEP 63 3.1.2.5 Chương trình nhận liệu có bảo mật sử dụng RSA-OAEP 64 3.2 Môi trường cài đặt kết thực nghiệm 64 KẾT LUẬN 70 TÀI LIỆU THAM KHẢO 71 PHỤ LỤC 73 DANH MỤC KÝ HIỆU VÀ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt FTP File Transfer Protocol Giao thức truyền tập tin HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn HTTP HyperText Transfer Protocol Giao thức truyền tải siêu văn IP Internet Protocol Giao thức Internet MGF Mask generation function Hàm tạo mặt nạ OAEP Optimal Asymmetric Phép đệm mã hóa phi đối xứng tối Encryption Padding uu Ron Rivest, Adi Shamir, Thuật tốn mã hóa khóa cơng khai Adleman RSA RSA TCP Transmission Control Protocol Giao thức huớng kết nối UDP User Datagram Protocol Giao thức không huớng kết nối DANH MỤC BẢNG Bảng 1.1 So sánh TCP UDP 18 Bảng 1.2 Các cổng mặc định số dịch vụ mạng thông dụng 25 Bảng 2.1: Độ dài mođun n qua năm .51 DANH MỤC HÌNH VẼ • Hình 1.1 Mơ hình thơng tin hệ mật khóacơng khai Hình 1.2.Một số hình máy tính liên kết mạng 13 Hình 1.3 Mơ hình hoạt động peer to peer 19 Hình 1.4 Mơ hình hoạt động clients/server 20 Hình 1.5 Mơ hình OSI rút gọn 23 Hình 1.6 Mơ hình Socket 23 Hình 1.7 Cổng Socket 24 Hình 1.8 Giai đoạn 25 Hình 1.9 Giai đoạn 26 Hình 1.10 Giai đoạn 27 Hình 1.11 Giai đoạn 28 Hình 1.12 Hoạt động Socket 28 Hình 1.13 Client gửi yêu cầu đếnserver 31 Hình 1.14 Server chấp nhận yêu cầu tạo Socket để phục vụ clients 31 Hình 2.1 Sơ đồ hoạt động hệ mật RSA 36 Hình 2.2 Các thao tác định dạng EME-OAEP-ENCODE 45 Hình 2.3 Các thao tác định dạng RSA-OAEP-DECODE 47 Hình 3.1: Mơ hình truyền tin 55 Hình 3.2: Sơ đồ cài đặt chương trình mơ lược đồ mã hóa RSA-OAEP 56 Hình 3.3: Lưu đồ thuật tốn RSAES-OAEP-ENCRYPT 58 Hình 3.4: Lưu đồ thuật tốn RSAES-OAEP-DECRYPT 61 Hình 3.5: Khóa bí mật RSA - private_key1.pem 65 Hình 3.6: Khóa bí mật RSA - khoabimat1.txt 66 Hình 3.7: Khóa cơng khai RSA - public_key1.pem 66 Hình 3.8: Khóa cơng khai RSA - khoacongkhai1.txt 67 Hình 3.9: Nội dung file rõ - user1.txt 67 Hình 3.10: Kết việc mã hóa gửi phía User1 68 Hình 3.11: Kết thực nhận giải mãphía User2 68 Hình 3.12: Chặn bắt gói tin với Wireshark 69 LỜI MỞ ĐẦU Với phát triển Internet nay, thông tin mạng mang nhiều nguy bị công, xâm nhập bất hợp pháp Việc bảo mật thông tin môi trường Internet cấp thiết Để vừa đảm bảo thông tin kết nối, vừa đảm bảo yếu tố bảo mật thơng tin phương pháp tốt mã hóa thơng tin Hệ mật khóa cơng khai RSA phát minh Ron Rivest, Adi Shamir Len Adleman công bố lần đầu vào tháng năm 1977 Nó sử dụng phổ biến nhằm mục đích đảm bảo tính riêng tư, tính xác thực cho liệu số triển khai nhiều hệ thống thương mại như: sử dụng web server web browser để bảo mật liệu đường truyền, sử dụng để đảm bảo bí mật xác thực cho thư điện tử, sử dụng để bảo vệ phiên đăng nhập từ xa trái tim hệ thống toán thẻ điện tử Hệ mật xem khơng thể phá vỡ với độ dài khóa đủ lớn Tuy nhiên, RSA khơng phải hồn hảo, thực tế, có sơ hở để kẻ xấu lợi dụng thực cơng thành cơng, ví dụ công lựa chọn rõ Tấn công ngăn chặn kỹ thuật cài đặt hệ mật, có kỹ thuật chuyển đổi rõ OAEP Chính từ thực tế trên, em lựa chọn đề tài: “Xây dựng chương trình truyền tin có bảo mật sử dụng RSA-OAEP” làm đồ án tốt nghiệp Nội dung đồ án chia thành chương: Chương 1: Mật mã khóa cơng khai kỹ thuật truyền tin Chương trình bày kiến thức tảng mật mã khóa cơng khai kỹ thuật truyền tin dựa Socket TCP Chương 2: Lược đồ mã hóa RSA-OAEP Chương trình bày lược đồ mã hóa RSA-OAEP phép toán mật mã sở bao gồm: Phép mã hóa RSA nguyên thủy RSAEP, phép giải mã RSA nguyên thủy RSADP, phép mã hóa EME-OAEP-ENCODE, phép giải mã EME-OAEP-ENCODE, hàm tạo mặt nạ dựa hàm băm MGF Chương 3: Xây dựng chương trình truyền tin có bảo mật sử dụng RSAOAEP Chương dựa tảng kiến thức hai chương 1, tiến hành thực nghiệm cài đặt mơ lược đồ mã hóa RSA-OAEP thực truyền tin có bảo mật sử dụng RSA-OAEP 49 Đoạn mã thực hiện: modBits = Crypto.Util.number.size(self._key.n) k = ceil_div(modBits,8) # Chuyển đổi từ bit thành byte hLen = self._hashObj.digest_size mLen = len(message) # Bước 1b ps_len = k-mLen-2*hLen-2 if ps_len

Ngày đăng: 22/08/2023, 13:56

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

Tài liệu liên quan