Bài thi cuối kì môn ANM 0 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG 1 TIỂU LUẬN CÁC THUẬT TOÁN MÃ HÓA TRONG MẠNG RIÊNG ẢO VPN Bài thi cuối kì môn ANM i MỤC LỤC MỤC LỤC i BẢNG PHÂN[.]
Bài thi cuối kì mơn ANM HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THƠNG - - TIỂU LUẬN CÁC THUẬT TOÁN MÃ HÓA TRONG MẠNG RIÊNG ẢO VPN Bài thi cuối kì mơn ANM MỤC LỤC MỤC LỤC……………………………………………………………………….… …i BẢNG PHÂN CÔNG CÔNG VIỆC………………………………………………… iii DANH MỤC THUẬT NGỮ VIẾT TẮT………………………………….………… iv DANH MỤC BẢNG BIỂU VÀ HÌNH VẼ…………………………………… …… v LỜI CẢM ƠN…………………………………………………………….……………vi LỜI MỞ ĐẦU……………………………………………………………….……… vii I TỔNG QUAN VỀ VPN…………………………………………………………… 1.1 Tổng quan……………………………………………………… ……………… 1.2 Khái niệm………………………………………………………….……………… 1.3 Đường hầm mã hóa …………………………………………………………….1 1.3.1 Đường hầm (Tunnel)……………………………………………….….…………2 1.3.2 Mã hoá giải mã (Encryption/Decryption) …………………………….………2 1.4 Chức mạng riêng ảo VPN……………………………………………… II CÁC THUẬT TỐN MÃ HĨA ĐƯỢC SỬ DỤNG TRONG VPN……………….3 2.1 Thuật tốn mã hóa AES…………………………………………………………….3 2.1.1 Giới thiệu……………………………………………………………………… 2.1.2 Các tham số AES ……………………………………………………………….4 2.1.3 Mật mã hóa giải mã AES………………………………………………………4 2.1.3.a Qúa trình mật mã hóa……………………………………………………….… 2.1.3.b Qúa trình giải mã………………………………………………………….…….5 2.2 Thuật tốn mã hóa RSA …………………………………………………………….6 2.2.1 Giới thiệu …………………………………………………………………………6 2.2.2 Mơ tả thuật tốn…………… ……………………………………………………7 2.2.2.a Sinh khóa…………………………………………………………………….….7 2.2.2.b Mã hóa……………………………………………………………….…………7 2.2.2.c giải mã……………………………………………………………….…….……8 2.2.3 Ưu, nhược điểm thuật toán……………………………………………………8 2.3 Giải thuật băm SHA ………………………………………………………….… 2.3.1 Hàm băm ……………………………………………………………………….9 2.3.1.a Cơ chế hoạt động………………………………………………………………9 2.3.1.b Tính chất hàm băm………………………………………………………….…10 2.3.1.c Cách áp dụng hàm băm trong việc xác thực tin ………………… 10 2.3.1.d Các hàm hash……………………………………………………………….…11 2.3.2 Giải thuật băm SHA …………………………………………………………….11 2.3.2.a Khái niệm….………………………………………………………………… 11 2.3.2.b Các hàm hash SHA………………………………………………………….…11 i Bài thi cuối kì mơn ANM III MƠ HÌNH THỰC NGHIỆM ……………………………………….………… 12 3.1 Kịch Site-to-site VPN ……………………….……………………….….… 12 3.2 Bảng địa chi tiết cho mơ hình mạng Site-to-site VPN ……………….….… 12 3.3 Các bước triển khai……………………………………………………….….……13 IV KẾT LUẬN……………………………………………………………… … ….18 DANH MỤC TÀI LIỆU THAM KHẢO………………………………………….… 19 ii Bài thi cuối kì mơn ANM iii Bài thi cuối kì mơn ANM DANH MỤC THUẬT NGỮ VIẾT TẮT Từ khóa viết tắt Từ đầy đủ Từ dịch thuật AES Advanced Encryption Standard Internet Engineering Task Force Internet Protocol Secutity Tiêu chuẩn mã hóa nâng cao Lực lượng Chuyên trách Kĩ thuật liên mạng Giao thức bảo mật Internet Hiệp hội bảo mật Internet giao thức quản lý khóa Nhà cung cấp dịch vụ Internet IETF IP Sec ISAKMP ISP Internet Security Association and Key Management Protocol Internet Service Provider L2F Layer Forwarding Giao thức chuyển tiếp lớp L2TP Layer Tunneling Protocol LAN Local Area Network Giao thức đường hầm lớp Mạng cục OSI Open Systems Interconnection Point to Point Tunneling Protocol PPTP SA SHA SSL / TLS Kết nối hệ thống mở Giao thức đường hầm điểm – điểm Secure Associate Secure Hash Algorithm Secure Sockets Layer/ Transport Layer Security Secure Socket Tunneling Protocol Transmission Control Protocol/Internet Protocol Liên kết an toàn Giải thuật băm an toàn Lớp Sockets bảo mật / Bảo mật lớp vận chuyển Giao thức đường hầm ổ cắm bảo mật Bộ giao thức Internet VPN Virtual Private Network Mạng riêng ảo WAN Wide Are Network Mạng diện rộng SSTP TCP/IP iv Bài thi cuối kì mơn ANM DANH MỤC BẢNG VÀ HÌNH VẼ DANH MỤC HÌNH Hình 1: Mơ hình mạng riêng ảo VPN……………………………………………… ….……1 Hình 2: Đường hầm mã hóa VPN………………………………………………….2 Hình 3: Sơ đồ mật mã giải mật mã AES……………………………………………….…5 Hình 4: Mơ tả RSA – mã hóa bất đối xứng………………………………………………….7 Hình 5: Q trình xử lý RSA ví dụ minh họa ……………………………………….9 Hình 6: Sử dụng hàm băm để kiểm tra tính xác thực liệu…………………… 11 Hình 7: Tính chất hàm băm………………………………………………………………… 11 Hình 8: E (K, [M || H(M)])…………………………………………………………….…… 12 Hình 9: E(K, H(M))……………………………………………………………………………12 Hình 10: Khơng mật mã hóa…………………………………………………………………12 Hình 11: E(K, [M || H(M || S)])…………………………………………………………… 12 Hình 12: Topo mơ hình VPN site to site………………………………………………14 DANH MỤC BẢNG Bảng 1: Đặc trưng AES………………………………………………………………… Bảng 2: Các tham số AES……………………….……………………….……………….4 Bảng3: Các hàm hash SHA……………………………………….……………………….…13 Bảng 4: Địa PC………………………………………………………………….14 Bảng 5: Địa Router Gateway………………………………………………….14 v Bài thi cuối kì mơn ANM LỜI CẢM ƠN Em Nguyễn Thái Bảo nhóm trưởng nhóm 11, em xin chân thành cảm ơn cô giáo TS.Phạm Anh Thư, giảng viên môn học An Ninh Mạng Viễn Thông, môn Mạng Viễn Thông, Khoa Viễn Thông giảng dạy truyền đạt cho chúng em kiến thức bổ ích môn học hướng dẫn, đồng ý cho nhóm em lựa chọn đề tài tiểu luận để chúng em hồn thành mơn học cách tốt qua nhóm em thoải mái nêu quan điểm, triển khai nội dung lập luận đề tài mà nhóm em chọn, giúp cho nhóm em hồn thành tốt tiểu luận Em xin cảm ơn bạn thành viên nhóm Nguyễn Thế Hồng, Vũ Cơng Đơng tâm huyết em tìm hiểu, khai triển hồn thành tốt nội dung tiểu luận Nhóm em xin chân thành cảm ơn ! vi Bài thi cuối kì mơn ANM LỜI MỞ ĐẦU Cùng với phát triển công nghệ thông tin, công nghệ mạng máy tính đặc biệt mạng Internet ngày phát triển đa dạng phong phú Các dịch vụ mạng Internet xâm nhập vào hầu hết lĩnh vực đời sống xã hội Các thông tin trao đổi Internet đa dạng nội dụng lẫn hình thức, có nhiều thơng tin cần bảo mật cao tính kinh tế, xác tin cậy Bên cạnh đó, dịch vụ mạng ngày có giá trị, yêu cầu phải đảm bảo tính bảo mật an tồn cao Tuy nhiên hình thức phá hoại mạng trở lên tinh vi phức tạp hơn, hệ thống, nhiệm vụ đặt cho người quản trị quan cần thiết Đồng thời xuất đại dịch COVID-19, nhu cầu ngày tăng việc cung cấp môi trường làm việc an toàn làm việc nhà, nhân viên dựa vào internet từ nơi làm việc từ xa Xuất phát từ thực tế nêu trên, giới xuất nhiều công nghệ liên quan tới bảo mật thông tin mạng máy tính, việc nắm bắt cơng nghệ cần thiết Một số cơng nghệ Mạng riêng ảo (VPN-Vitual Private Network) Vì lí đưa chúng em lựa chọn đề tài “Các thuật tốn mã hóa mạng riêng ảo VPN” với mục tiêu tiểu luận tìm hiểu mạng riêng ảo VPN; phân tích, đánh giá đặc điểm, hoạt động thuật tốn mã hóa sử dụng chủ yếu mạng riêng ảo VPN vii Bài thi cuối kì mơn ANM I TỔNG QUAN VỀ VPN 1.1 Tổng quan Mạng Internet mạng công cộng có phạm vi tồn cầu khơng tổ chức, phủ cụ thể quản lý nên khó khăn việc bảo mật an tồn liệu việc quản lý dịch vụ Từ người ta đưa cơng nghệ mạng nhằm thoã mãn yêu cầu mà tận dụng lại sở hạ tầng có Internet, mơ hình mạng riêng ảo (Virtual Private Network – VPN ) 1.2 Khái niệm Mạng riêng ảo VPN định nghĩa “sự mở rộng” mạng riêng thông qua mạng công cộng Mỗi VPN mạng riêng lẻ sử dụng mạng chung để kết nối với site (các mạng riêng lẻ) hay nhiều người sử dụng từ xa Thay cho việc sử dụng kết nối thực, chuyên dùng kênh thuê riêng, VPN sử dụng kết nối ảo truyền qua Internet từ mạng riêng công ty tới site hay nhân viên từ xa Hình 1: Mơ hình mạng riêng ảo VPN Những thiết bị hỗ trợ cho mạng riêng ảo Bộ chuyển mạch, Bộ định tuyến Tường lửa Những thiết bị cơng ty nhà cung cấp dịch vụ ISP quản lý VPN gọi mạng ảo cách thiết lập mạng riêng qua mạng công cộng sử dụng kết nối tạm thời Sự mở rộng VPN thực cách sử dụng “Đường hầm” “Mã hố” VPN có chức truyền thơng tin mã hoá đường hầm dựa hạ tầng mạng chia sẻ 1.3 Đường hầm mã hóa Để gửi nhận liệu thơng qua mạng cơng cộng mà bảo đảm tính an tồn bảo mật VPN cung cấp chế mã hoá liệu đường truyền tạo đường hầm bảo mật nơi nhận nơi gửi (Tunnel) giống kết nối point-topoint mạng riêng Bài thi cuối kì mơn ANM Hình 2: Đường hầm mã hóa VPN 1.3.1 Đường hầm (Tunnel) Đường hầm cung cấp kết nối điểm điểm, vận chuyển gói liệu mã hố đường hầm riêng qua mạng IP, điều làm tăng tính bảo mật thơng tin liệu sau mã hoá vận chuyển đường hầm, đường hầm thiết lập người gửi người nhận nên tránh đánh cắp, xem trộm thông tin Các giao thức đường hầm sử dụng VPN: • IP Sec (Internet Protocol Security) • PPTP (Point-to-Point Tunneling Protocol): • L2F (Layer Forwarding): • L2TP (layer Tunneling Protocol): • SSTP (Secure Socket Tunneling Protocol): • IKEv2 (Internet Key Exchange version 2): • OpenVPN • WỉreGuard 1.3.2 Mã hố giải mã (Encryption/Decryption) Khi thơng tin lưu trữ mạng nhiều cần thiết việc mã hố thơng tin trở nên quan trọng Mã hóa q trình biến đổi nội dung ban đầu dạng đọc (Clear Text hay Plain Text) thành dạng văn mật mã vô nghĩa không đọc (Cypher Text) nên người dùng không phép đọc Cịn giải mã q trình ngược lại mật mã hoá, tức biến đổi văn mã hoá thành dạng đọc người dùng cho phép Các thuật toán sử dụng mã hóa thơng tin là: • • • • • DES (Data Encryption Standard) 3DES (Triple Data Encryption Standard) AES (Advanced Encryption Standard) SHA (Secure Hash Algorithm): giải thuật băm SHA RSA (Rivest-Shamir-Adleman): thuật tốn mã hóa cơng khai RSA Bài thi cuối kì mơn ANM 2.2 Thuật tốn mã hóa RSA 2.2.1 Giới thiệu Trao đổi khóa cơng khai RSA thuật tốn mã hóa bất đối xứng RSA sử dụng cho dịch vụ chữ ký điện tử, trao đổi khóa cho mục đích mã hóa Việc cung cấp RSA sử dụng với khóa dài, chứng minh thuật tốn an tồn cung cấp xác thực mã hóa Thuật tốn Ron Rivest, Adi Shamir Len Adleman mô tả lần vào năm 1977 Học viện Công nghệ Massachusetts (MIT) Tên thuật toán RSA lấy từ chữ đầu tên tác giả Hình 4: Mơ tả RSA – mã hóa bất đối xứng Giống Diffie-Hellman, sử dụng RSA u cầu cặp khóa cơng khai khóa riêng tư để mã hóa giải mã liệu qua internet Mục đích việc sử dụng mật mã khóa cơng khai cung cấp giải pháp mở rộng an tồn để trao đổi khóa cách an tồn qua internet Các thiết bị cổng VPN dịch vụ khác trang web cần giao tiếp đồng ý khóa sử dụng internet sử dụng để mã hóa giải mã liệu, dễ dàng bị tin tặc đánh cắp đánh cắp Vì lý này, lý chế khóa cơng khai khóa riêng tư (Khơng đối xứng) đưa để thực thể đồng ý cách an tồn khóa đối xứng qua internet mà khóa khơng bị xâm phạm Thuật tốn RSA dựa độ khó việc tính số lớn thành hai thừa số nguyên tố Nó dựa hàm băm chiều, dễ dàng nhân hai số để có kết đầu giá trị, nhiên, việc sử dụng đầu giá trị để tính hai số nguyên tố ban đầu khó Nói cách tương tự hàm băm, thật dễ dàng để theo chiều từ điểm giá trị, khó đảo ngược ngược lại để hồn nguyên điểm giá trị ban đầu RSA sử dụng phổ biến việc thiết lập phiên SSL / TLS - giao thức OpenVPN (và đơi IKEv2) để bảo mật cho q trình bắt tay TLS.Nếu nhà cung cấp VPN sử dụng giao thức OpenVPN SSTP để thiết lập đường hầm bảo mật khách máy chủ VPN, điều có nghĩa máy khách VPN sử dụng khóa RSA để bảo mật bắt tay TLS RSA chia làm loại chính: Bài thi cuối kì mơn ANM • • • RSA-1024: bị NSA (Cơ quan an ninh quốc gia Hoa Kỳ) bẻ khóa vào năm 2010 RSA-2048: Đây coi mật mã an tồn mặc định thơng thường cho phần lớn nhà cung cấp VPN Giao thức OpenVPN sử dụng RSA kênh điều khiển để chuyển qua khóa đối xứng cần thiết cho mã hóa AES sử dụng kênh liệu Để việc bắt tay an tồn, kích thước khóa RSA phải tối thiểu 2048 bit RSA-3072: Nhiều nhà cung cấp VPN ngày sử dụng khóa RSA-3072 chí mạnh 4096-bit, hầu hết chuyên gia không coi điều cần thiết cho mục đích bảo mật 2.2.2 Mơ tả thuật tốn Hoạt động RSA dựa bước chính: sinh khóa, chia sẻ khóa , mật mã hóa giải mật mã Giả sử Alice Bob cần trao đổi thông tin bí mật thơng qua kênh khơng an tồn (ví dụ qua Internet) Thuật tốn RSA mơ tả qua bước: 2.2.2.a Sinh khóa Sinh khóa làm nhiệm vụ tìm kiếm số tự nhiên e d n thỏa mãn công thức: M ed = M mod n (M rõ) • • • • Chọn số nguyên tố lớn (>1024bit) p q, p ≠ q Lấy tích số: n = p.q, n gọi modulo mã hóa Chọn số e cho: 1< e < pq, e (p-1)(q-1) nguyên tố (vậy e phải chọn số lẻ) e gọi số mũ mã hóa Tính số d cho tích số e.d ≡ 1[mod(p-1)(q-1)] có nghĩa tích số e.d chia cho tích số (p-1)(q-1) có số dư 1, e.d-1 chia hết cho (p-1)(q-1) Ta dùng phương pháp thử dần số nguyên X cho có được: d = [X(p-1)(q1) +1]/e số nguyên d gọi số mũ giải mã Khóa cơng khai KU A gửi cho B (qua đường thông tin bất kỳ) cặp số (e, n) Khóa bí mật KR A giữ cho riêng cặp số (d, n) 2.2.2.b Mã hóa Bob nhận khóa cơng khai Alice gửi Bob có thơng điệp gốc (plaintext) M (thơng điệp số hóa, M thực số dạng nhị phân đổi thành số thập phân đó) cần gửi cho Alice Bob mã hóa phép tốn: e.M mod n = C; M = plaintext, C = ciphertext Phép tốn “lũy thừa theo modulo” có nghĩa lấy M lũy thừa e chia cho n lấy số dư Việc mã hóa thực theo cơng thức: Phương án 1, mã hóa bảo mật: C = E(M,KU) = Me mod n Phương án 2, mã hóa chứng thực: C = E(M,Kr) = Md mod n Bob gửi thông điệp mã hóa C cho Alice Bài thi cuối kì mơn ANM 2.2.2.c Giải mã Alice nhận C Việc giải mã thực theo công thức: ̅ = D(C,KR) = Cd mod n Theo phương án 1, mã hóa bảo mật: 𝑀 ̅ = D(C,KU) = Ce mod n Theo phương án 2, mã hóa chứng thực : 𝑀 Lưu ý: + Các số nguyên tố thường chọn phương pháp thử ngẫu nhiên + Các bước thực giải thuật Euclid mở rộng Hình 5: Quá trình xử lý RSA ví dụ minh họa 2.2.3 Ưu, nhược điểm thuật tốn ❖ Ưu điểm: • RSA mạnh thuật tốn khóa đối xứng khác • RSA khắc phục điểm yếu thuật tốn đối xứng tức tính xác thực tính bảo mật Hầu khơng có thuật tốn giải tổng qt mà phải dị thử dần (tấn cơng bạo lực) Nếu chọn p,q lớn kết từ chỗ biết số mũ lập mã e, tìm ngược lại số mũ giải mã d phức tạp không làm thời gian hực Chẳng hạn ta tạo khóa mã để mã hóa thơng tin cho thẻ tín dụng cho phép sử dụng năm Nếu khả bị phá khóa Bài thi cuối kì mơn ANM thời gian 1000 năm hay lâu thực tế xem an tồn ❖ Nhược điểm: • Tốc độ mã hóa: Một nhược điểm đáng lưu ý RSA thuật toán thật chậm, chủ yếu chất khơng đối xứng Do đó, giao thức thường tận dụng RSA phần mã hóa để truyền khóa chia sẻ cho mật mã khóa đối xứng , sau sử dụng cho mã hóa / giải mã hàng loạt Do đó, RSA thường khơng tận dụng để tự mã hóa liệu số lượng lớn, mà để thiết lập phương tiện chia sẻ liệu mã hóa thuật tốn mã hóa đối xứng nhanh AES • Tính tin cậy: Một nhược điểm lớn khác mã RSA nguy “tính tin cậy” Khi B dùng khóa cơng khai nhận từ A để gửi tin, chắn A đọc được: tin cậy phía người gửi tin Khi A nhận tin, chưa B gửi (vì khóa cơng khai lộ người thứ ba biết khóa cơng khai, dùng để mã hóa thơng điệp giả gửi cho A): khơng tin cậy phía người nhận tin • Để khắc phục điều đó, phải có phương pháp “phân phối khóa cơng khai” cách tin cậy Trong trường hợp có đối tác trao đổi với nhau, người ta dùng sơ đồ trao đổi khóa cơng khai để đảm bảo an tồn tin cậy cho hai phía gửi nhận tin 2.3 Giải thuật băm SHA 2.3.1 Hàm băm 2.3.1.a Cơ chế hoạt động Hình 6: Sử dụng hàm băm để kiểm tra tính xác thực liệu • Người gửi tính tốn giá trị băm từ bít tin truyền đồng thời tin giá trị băm Bài thi cuối kì mơn ANM • Người nhận thực việc tính giá trị băm tương tự từ bít tin nhận so sánh với giá trị băm gửi kèm • Nếu giá trị băm so sánh khơng trùng với có nghĩa tin nhận (hoặc giá trị băm) bị thay đổi 2.3.1.b Tính chất hàm băm Hình 7: Tính chất hàm băm Hàm băm: thực phép biến đổi • Đầu vào: tin có kích thước • Đầu ra: giá trị digest h = H(M) có kích thước n bít cố định ( thường nhỏ nhiều so với kích thước tin đầu vào) Chỉ thay đổi bit đầu vào, làm thay đổi hoàn toàn giá trị đầu 2.3.1.c Cách áp dụng hàm băm trong việc xác thực tin Hình 8: E (K, [M || H(M)]) Hình 9: E(K, H(M)) 10 Bài thi cuối kì mơn ANM Hình 10: Khơng mật mã hóa Hình 11: E(K, [M || H(M || S)]) 2.3.1.d Các hàm hash • MD: MD5 hash function (128 bit) • SHA • Whirlpool 2.3.2 Giải thuật băm SHA 2.3.2.a Khái niệm Giải thuật băm an toàn (SHA) hàm băm mật mã hoạt động thuật toán xác thực tin mà tất liệu bạn xác thực kết nối SSL (bao gồm kết nối OpenVPN) mục đích bảo vệ bạn khỏi cơng tích cực Nói cách đơn giản, SHA tạo in chứng SSL hợp lệ xác thực ứng dụng OpenVPN Nếu chứng bị can thiệp phát kết nối bị từ chối 2.3.2.b Các hàm hash SHA Bảng3: Các hàm hash SHA SHA-1 SHA224 SHA256 SHA384 SHA512 Kích thước tin thống báo 160 224 256 384 512 Kích thước tin < 264 < 264 < 264 < 2128 < 2128 Kích thuốc khối 512 512 512 1024 1024 11 Bài thi cuối kì mơn ANM Kích thước từ 32 32 32 64 64 Số bước 80 64 64 80 80 Phiên SHA sử dụng phổ biến SHA-1 (160-bit) cung cấp kết nối nhanh Tuy nhiên, chứng bị hỏng, thực tế khiến công ty Microsoft, Mozilla Google thông báo cho trình duyệt tương ứng họ họ khơng cịn chấp nhận loại chứng SSL kể từ năm 2017 III MƠ HÌNH THỰC NGHIỆM 3.1 Kịch Site – to – site VPN Hình 12: Topo mơ hình VPN site to site 3.2 Bảng địa chi tiết cho mơ hình mạng Site – to – Site VPN Bảng 4: Địa PC Headquarters Network Remote Office Network Device IP Address Device IP Address HN-PC1 192.168.1.10/24 HCM-PC1 192.168.3.10/24 HN-PC2 192.168.1.20/24 HCM-PC2 192.168.3.20/24 12 ... nguồn gốc thông tin, đảm bảo công nhận nguồn liệu II CÁC THUẬT TỐN MÃ HĨA ĐƯỢC SỬ DỤNG TRONG VPN Trong công nghệ mạng riêng ảo VPN sử dụng nhiều loại thuật toán mật mã hóa DES, 3DES, AES, RSA,... tốn mã hóa mạng riêng ảo VPN? ?? với mục tiêu tiểu luận tìm hiểu mạng riêng ảo VPN; phân tích, đánh giá đặc điểm, hoạt động thuật toán mã hóa sử dụng chủ yếu mạng riêng ảo VPN vii Bài thi cuối kì... thỗ mãn u cầu mà tận dụng lại sở hạ tầng có Internet, mơ hình mạng riêng ảo (Virtual Private Network – VPN ) 1.2 Khái niệm Mạng riêng ảo VPN định nghĩa “sự mở rộng” mạng riêng thông qua mạng