BÀI TIỂU LUẬN AN NINH MẠNG VIỄN THÔNG Chuyên đề Giải thuật trao đổi khóa Diffie-Hellman

19 10 0
BÀI TIỂU LUẬN AN NINH MẠNG VIỄN THÔNG Chuyên đề Giải thuật trao đổi khóa Diffie-Hellman

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG I BÀI TIỂU LUẬN AN NINH MẠNG VIỄN THÔNG Chuyên đề: Giải thuật trao đổi khóa Diffie-Hellman Nhóm Giảng viên: TS HOÀNG TRỌNG MINH Sinh viên : Phan Thế Hiệp – B18DCVT144 Dương Tú Kiên – B18DCVT224 Trần Mạnh Hùng – B18DCVT192 Nguyễn Anh Tú – B18DCVT368 Hà Nội, tháng 03/2022 An ninh mạng viễn thông Giải thuật trao đổi khóa Diffie-Hellman Bảng phân cơng cơng việc STT Họ tên Dương Tú Kiên Mã sinh viên B18DCVT224 Nội dung Làm nội dung chương1 Phan Thế Hiệp B18DCVT144 Làm nội dung chương gồm có: • Thiết lập khóa mã hóa • Mở rộng tốn nhiều bên • Làm word Trần Mạnh Hùng B18DCVT192 Làm nội dung chương gồm có: • Giải mã • Ưu nhược điểm giải thuật Nguyễn Anh Tú B18DCVT368 Làm nội dung chương làm power point Nhóm An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman MỤC LỤC MỤC LỤC BẢNG THUẬT NGỮ VIẾT TẮT .2 Chương 1: Tổng quan trao đổi khóa Diffie–Hellman 1.1: Giới thiệu 1.2: Ý tưởng 1.3: Các vấn đề 1.4: Ưu nhược điểm giải thuật trao đổi khóa Diffie-Hellman Chương 2: Mô tả giao thức 2.1: Thiết lập khóa mã hóa 2.2: Mở rộng toán nhiều bên .10 2.2.1: Nguyên tắc 10 2.2.2: Các phương pháp .11 2.3: Giải mã 12 Chương 3: Phân tích tính bảo mật giải thuật .14 3.1: Kiểu công “Người giữa” .14 3.2: Bảo mật 16 KẾT LUẬN 17 TÀI LIỆU THAM KHẢO .18 BẢNG THUẬT NGỮ VIẾT TẮT Thuật ngữ viết tắt LAN Nhóm Tiếng Anh Local Area Network Tiếng Việt Mạng máy tính cục An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman LỜI MỞ ĐẦU An tồn thơng tin nhu cầu quan trọng cá nhân xã hội quốc gia giới Mạng máy tính an tồn thơng tin tiến hành thông qua phương tiện vật lý hành Từ đời nay, mạng máy tính đem lại hiệu vơ to lớn tất lĩnh vực đời sống Bên cạnh người dùng phải đối mặt với hiểm họa thông tin mạng họ bị cơng.An tồn thơng tin mạng máy tính bao gồm phương pháp bảo vệ thông tin lưu giữ truyền mạng Đây lĩnh vực quan tâm đặc biệt đồng thời cơng việc khó khăn phức tạp.Thưc tế chúng tỏ có tình trạng lo ngại bị công thông tin trình xử lý , truyền lưu trữ Những tác động bất hợp pháp lên thông tin với mục đích làm tổn thất, sai lạc , lấy cắp tệp lưu giữ tin , chép thông tin mật , giả mạo người phép sử dụng thơng tin mạng máy tính Trao đổi khóa Diffie-Hellman phát triển quan trọng mật mã khóa cơng khai thực thường xuyên loạt giao thức bảo mật khác ngày Nó cho phép hai bên trước chưa gặp thiết lập cách an tồn khóa mà họ sử dụng để bảo mật thông tin liên lạc họ Do kiến thức kinh nghiệm thực tế nhiều hạn chế nên tiểu luận không tránh khỏi sai sót nhầm lẫn Nhóm chúng em mong châm trước đóng góp ý kiến thày để khơng tiểu luận có chất lượng cao mà cịn trang bị cho nhóm chúng em kiến thức vững vàng học tập làm việc sau Chúng em xin chân thành cảm ơn! Nhóm An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman Chương 1: Tổng quan trao đổi khóa Diffie–Hellman 1.1: Giới thiệu Trao đổi khóa Diffie–Hellman (D-H) phương pháp trao đổi khóa phát minh sớm mật mã học Phương pháp trao đổi khóa Diffie–Hellman cho phép hai bên (người, thực thể giao tiếp) thiết lập khóa bí mật chung để mã hóa liệu sử dụng kênh truyền thơng khơng an tồn mà khơng cần có thỏa thuận trước khóa bí mật hai bên Khóa bí mật tạo sử dụng để mã hóa liệu với phương pháp mã hóa khóa đối xứng Giao thức cơng bố Whitfield Diffie Martin Hellman vào năm 1976, trước vài năm phát minh cách độc lập GCHQ - quan tình báo Anh, James H.Ellis, Clifford Cocks Malcolm J Williamson giữ bí mật Năm 2002, Hellman đề xuất thuật toán nên gọi trao đổi khóa Diffie– Hellman–Merkle để ghi nhận đóng góp Ralph Merkle phát minh lĩnh vực mật mã hóa khóa cơng khai (Hellman, 2002) Năm 2002, Martin Hellman viết: “Hệ thống biết đến với tên gọi Trao đổi khóa Diffie–Hellman Khi hệ thống lần mô tả báo Diffie tơi, hệ thống phân phối khóa cơng khai, khái niệm nêu Merkle, nên gọi Trao đổi khóa 'Diffie–Hellman– Merkle' cần tên cho Tơi hy vọng phát biểu tơi giúp người ghi nhận đóng góp tương xứng Merkle phát minh lĩnh vực mật mã hóa khóa cơng khai.” 1.2: Ý tưởng Diffie–Hellman thiết lập bí mật chung để sử dụng cho trao đổi liệu an tồn kênh truyền thơng cơng cộng khơng an tồn Sơ đồ sau minh họa ý tưởng việc trao đổi khóa thơng qua ví dụ màu sơn Điểm chủ chốt ý tưởng Alice Bob trao đổi màu sơn bí mật thơng qua hỗn hợp sơn • Đầu tiên Alice Bob trộn màu biết chung (màu vàng) với màu bí mật riêng người • Sau đó, người chuyển hỗn hợp tới người thông qua kênh vận chuyển công cộng • Khi nhận hỗn hợp người kia, người trộn thêm với màu bí mật riêng nhận hỗn hợp cuối Hỗn hợp sơn cuối hoàn toàn giống cho hai người có riêng hai người biết Mấu chốt người khó (về mặt tính Nhóm An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman tốn) cho họ để tìm bí mật chung hai người (nghĩa hỗn hợp cuối cùng) Alice Bob sử dụng bí mật chung để mã hóa giải mã liệu truyền kênh cơng cộng Lưu ý, màu sơn (màu vàng) tùy ý lựa chọn, thỏa thuận trước Alice Bob Màu sơn giả sử khơng bí mật người thứ ba mà khơng làm lộ bí mật chung cuối Alice Bob Giao thức diễn giải dạng toán học sau: Giao thức sử dụng nhóm nhân số nguyên modulo p, p số nguyên tố, g nguyên thủy mod p Trong ví dụ đây, giá trị khơng bí mật viết màu xanh, giá trị bí mật viết màu đỏ: Alice Bob thỏa thuận sử dụng chung số nguyên tố p=23 nguyên thủy g=5 Alice chọn số nguyên bí mật a=6, gửi cho Bob giá trị A = ga mod p • • • A = 56 mod 23 A = 15,625 mod 23 A=8 Bob chọn số nguyên bí mật b=15, gửi cho Alice giá trị B = gb mod p • • • Nhóm B = 515 mod 23 B = 30,517,578,125 mod 23 B = 19 An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman Alice tính s = B a mod p • • • s = 196 mod 23 s = 47,045,881 mod 23 s=2 Bob tính s = A b mod p • • • s = 815 mod 23 s = 35,184,372,088,832 mod 23 s=2 Như Alice Bob chia sẻ bí mật chung số 6*15 15*6 1.3: Các vấn đề • Vấn đề xác thực trao đổi khóa Diffie-Hellman Trong giới thực, trao đổi khóa Diffie-Hellman sử dụng Lý đằng sau điều khơng cung cấp xác thực, khiến người dùng dễ bị công chừng Những công diễn trao đổi khóa Diffie-Hellman thực nó, khơng có phương tiện để xác minh chuẩn xác đối phương Khơng có hình thức xác thực, người dùng thực kết nối với kẻ công họ nghĩ họ liên hệ với bên đáng tin cậy Vì lý này, việc trao đổi khóa Diffie-Hellman thường thực với số phương tiện xác thực Điều thường liên quan đến việc sử dụng chứng kỹ thuật số thuật tốn khóa cơng khai, chẳng hạn RSA, để xác minh danh tính bên • Vấn đề bảo mật trao đổi khóa Diffie-Hellman Tính bảo mật trao đổi khóa Diffie-Hellman phụ thuộc vào cách thức triển khai, số chọn cho Như trình bày trên, khơng có cách để xác thực bên kia, thực tế, chế khác sử dụng để đảm bảo bên kết nối kẻ mạo danh Nếu việc triển khai trao đổi khóa Diffie-Hellman giới thực sử dụng số nhỏ ví dụ đưa ra, khiến trình trao đổi trở nên tầm thường kẻ cơng bị bẻ khóa Nhưng khơng kích thước số quan trọng – số cần phải đủ ngẫu nhiên Nếu trình tạo số ngẫu nhiên tạo đầu Nhóm An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman dự đốn được, hồn tồn làm suy yếu tính bảo mật trao đổi khóa Diffie-Hellman 1.4: Ưu nhược điểm giải thuật trao đổi khóa Diffie-Hellman • Ưu điểm: Các khóa bí mật tạo cần thiết Khơng cần phải chứa khóa bí mật khoảng thời gian dài Việc thỏa thuận dựa tham số chung • Nhược điểm Nó khơng cung cấp thơng tin định danh bên Nó an tồn việc công thụ động nghĩa người thứ ba biết Ya, Yb khơng tính K Tuy nhiên giao thức khơng an tồn việc công chủ động cách đánh tráo đường hay cịn gọi kiểu cơng “Người đàn ông giữa" Thuật toán bị kiện cho trao đổi khóa bất đối xứng Tương tự vậy, khơng thể sử dụng để ký chữ ký số Vì khơng xác thực bên việc truyền tải, trao đổi chìa khóa Diffie Hellman dễ bị cơng Nhóm An ninh mạng viễn thông Giải thuật trao đổi khóa Diffie-Hellman Chương 2: Mơ tả giao thức 2.1: Thiết lập khóa mã hóa Giả sử A (Alice) B (Bob) bên muốn liên kết với để tạo khóa bí mật chung A B thống chọn p số nguyên tố đủ lớn để toán logarit rời rạc – DLP (Discrete Logarithm Problem) khó giải g ∈ 𝑍𝑝 phần tử nguyên thủy nhóm Khi sơ đồ thỏa thuận A B bao gồm bước thực sau: A chọn tham số mật cho 𝑘𝐴 , với 1< 𝑘𝐴 < p −1 A tính 𝑟𝐴 = 𝑔𝑘𝐴 mod p gửi 𝑟𝐴 cho B B chọn tham số mật cho 𝑘𝐵 , với 1< 𝑘𝐵 < p −1 B tính 𝑟𝐵 = 𝑔𝑘𝐵 mod p gửi 𝑟𝐵 cho A A tính khóa bí mật dùng chung: 𝐾𝐴𝐵 = (𝑟𝐵 )𝑘𝐴 mod p : 𝐾𝐵𝐴 = (𝑟𝐴 )𝑘𝐵 mod p Ta dễ dàng thấy rằng: 𝐾𝐴𝐵 = 𝐾𝐵𝐴 = 𝑔𝑘𝐴.𝑘𝐵 mod p Như vậy, A B thiết lập khóa bí mật chung: K= 𝐾𝐴𝐵 = 𝐾𝐵𝐴 Khóa K bí mật ngồi A B khơng người thứ tính K khơng giải tốn logarit rời rạc Tuy nhiên, thấy sơ đồ phân phối theo Diffie-Hellman dễ bị công kẻ thứ C (Cover) Theo dõi q trình trao đổi khóa A B,C mạo danh A để thiết lập khóa chung với B ngược lại, cụ thể: • Trong sơ đồ Diffie-Hellman A chuyển 𝑟𝐴 = 𝑔𝑘𝐴 mod p cho B bị C chặn lại chuyển cho B giá trị 𝑟′𝐴 = 𝑔𝑘𝐴 ′mod p Tương tự, B chuyển 𝑟𝐵 = 𝑔𝑘𝐵 mod p cho A C chặn giá trị lại chuyển cho A giá trị 𝑟′𝐵 = 𝑔𝑘𝐵 ′ mod p Kết A tính khóa là: 𝐾′𝐴𝐵 = (𝑟′𝐵 )𝑘𝐴 mod p = 𝑔𝑘′𝐴.𝑘𝐵 mod p, cịn B tính khóa 𝐾′𝐵𝐴 = (𝑟′𝐴 )𝑘𝐵 = 𝑔𝑘′𝐵.𝑘𝐴 mod p Hiển nhiên 𝐾′𝐴𝐵 ≠ 𝐾′𝐵𝐴 , nên A B trao đổi thông tin mật với Nhưng vấn đề là, với giá trị 𝑟𝐴 = 𝑔𝑘𝐴 mod p mà C lấy từ A, C tạo khóa chung với A: 𝐾𝐶𝐴 = (𝑟′𝐴 )𝑘𝐵 = 𝑔𝑘′𝐵.𝑘𝐴 mod p Rõ ràng 𝐾′𝐵𝐴 = 𝐾𝐶𝐴 = 𝑔𝑘′𝐵.𝑘𝐴 mod p nên A khơng biết điều sử dụng khóa 𝐾′𝐴𝐵 để mã tin M gửi cho B qua kênh cơng khai mà C lấy C hồn tồn sử dụng Nhóm An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman khóa KCA để giải mã tin Hoàn toàn tương tự, C tạo khóa chung 𝐾𝐶𝐵 với B từ giá trị 𝑟𝐵 =𝑔𝑘𝐵 mod p mà B gửi cho A: 𝐾𝐶𝐵 = (𝑟𝐵 )𝑘′𝐴 mod p =𝑔𝑘′𝐴.𝑘𝐵 mod p, C sử dụng khóa để giải mã tin mà B mã hóa khóa 𝐾′𝐶𝐵 trao đổi bí mật với A Vậy nên ta có thủ tục thiết lập khóa chung đối tượng A B bao gồm bước thực sau: Alice Bob thỏa thuận sử dụng chung nhóm cyclic hữu hạn G phần tử sinh 𝑔𝑘 G Phần tử sinh g công khai với tất người, kể kẻ cơng Dưới giả sử nhóm G nhóm nhân Alice chọn số tự nhiên ngẫu nhiên 𝑘𝐴 gửi 𝑔𝑘𝐴 mod p cho Bob Bob chọn số tự nhiên ngẫu nhiên 𝑘𝐵 gửi 𝑔𝑘𝐵 mod p cho Alice Alice tính (𝑔𝑘𝐵 ) 𝑘𝐴 mod p Bob tính (𝑔𝑘𝐴 ) 𝑘𝐵 mod p Vì giá trị (𝑔𝑘𝐵 ) 𝑘𝐴 (𝑔𝑘𝐴 ) 𝑘𝐵 (do nhóm G có tính kết hợp), Alice Bob tính giá trị 𝑔𝑘𝐴.𝑘𝐵 sử dụng cho khóa bí mật chung • Ví dụ minh họa: Alice Bob thống với chọn nguyên tố p = 37 g = Alice chọn giá trị ngẫu nhiên 𝑘𝐴 = bí mật 𝑘𝐴 Alice tính 𝑏𝐴 = 57 mod 37 = 18 Sau Alice tính gửi 𝑏𝐴 = 18 cho Bob Bob chọn giá trị ngẫu nhiên 𝑘𝐵 = bí mật 𝑎𝐵 Bob tính 𝑏𝐵 = 55 mod 37 = 17 Sau Bob gửi 𝑏𝐵 = 17 cho Alice Bob nhận 𝑏𝐴 = 18 tính khóa chung: 𝐾𝐵 = 185 mod 37 = 15 bí mật 𝐾𝐵 Nhóm An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman Alice nhận 𝑏𝐵 = 17 tính khóa chung: 𝐾𝐴 = 177 mod 37 = 15 bí mật 𝐾𝐴 2.2: Mở rộng toán nhiều bên 2.2.1: Nguyên tắc Giao thức Diffie-Hellman không giới hạn việc thỏa thuận khóa cho hai bên tham gia Bất kỳ số lượng người sử dụng tham gia vào giao thức để tạo khóa bí mật chung cách thực lặp lại bước trao đổi thơng tin tính tốn giao thức Trước tiên xét ví dụ Alice, Bob Carol tham gia giao thức DiffieHellman sau (tất tính tốn dựa modulo p): Các bên thỏa thuận trước tham số p g Mỗi bên tự tạo khóa riêng tư, gọi tên 𝑘𝐴 , 𝑘𝐵 , 𝑘𝐶 Alice tính 𝑔𝑘𝐴 mod p gửi cho Bob Bob tính (𝑔𝑘𝐴 )𝑘𝐵 mod p = 𝑔𝑘𝐴.𝑘𝐵 mod p gửi cho Carol Carol tính (𝑔𝑘𝐴 𝑘𝐵 )𝑘𝐶 mod p = 𝑔𝑘𝐴.𝑘𝐵.𝑘𝐶 mod p sử dụng giá trị làm khóa bí mật chia sẻ Bob tính 𝑔𝑘𝐵 mod p gửi cho Carol Carol tính (𝑔𝑘𝐵 )𝑘𝐶 mod p = 𝑔𝑘𝐵.𝑘𝐶 mod p gửi cho Alice Alice tính (𝑔𝑘𝐵 𝑘𝐶 )𝑘𝐴 mod p = 𝑔𝑘𝐴.𝑘𝐵.𝑘𝐶 mod p sử dụng giá trị làm khóa bí mật chia sẻ Carol tính 𝑔𝑘𝐶 mod p gửi cho Alice 10 Alice tính (𝑔𝑘𝐶 )𝑘𝐴 mod p = 𝑔𝑘𝐴.𝑘𝐶 mod p gửi cho Bob 11 Bob tính (𝑔𝑘𝐴 𝑘𝐶 )𝑘𝐵 mod p = 𝑔𝑘𝐴.𝑘𝐵.𝑘𝐶 mod p sử dụng giá trị làm khóa bí mật chia sẻ Một kẻ nghe quan sát 𝑔𝑘𝐴 mod p, 𝑔𝑘𝐵 mod p, 𝑔𝑘𝐶 mod p, tận dụng tổ hợp giá trị để tính 𝑔𝑘𝐴.𝑘𝐵.𝑘𝐶 mod p Nhóm 10 An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman Cơ chế mở rộng cho N người dựa vào hai nguyên tắc sau: • Bắt đầu giao thức với khóa "rỗng" chứa g Bí mật bên tạo cách tính lũy thừa giá trị lưu bên với phần riêng tư bên (lũy thừa lượt khóa cơng khai bên) Nguyên tắc thực theo thứ tự • Bất kỳ giá trị tạm thời (với số lượt tính từ N-1 trở xuống, N số lượng người nhóm) truyền cơng khai, ngoại trừ giá trị cuối (đã tính hết N lượt lũy thừa) tạo thành bí mật chia sẻ (vì khơng để lộ giá trị lượt cuối cùng) Do đó, người phải tính bí mật chia sẻ chung cách áp dụng khóa riêng tư sau (nếu khơng khơng có cách cho người cuối truyền khóa cuối cho người nhận, người cuối biến khóa thành khóa bí mật mà nhóm muốn bảo vệ) 2.2.2: Các phương pháp Phương pháp vòng tròn Các nguyên tắc cho phép thực theo thứ tự người tham gia Cách đơn giản dễ hiểu có lẽ xếp N người tham gia theo vịng trịn chuyển N khóa theo vịng trịn khóa chuyển tới tất N người tham gia (kết thúc với người sở hữu khóa đó) người đóng góp phần N khóa (kết thúc với khóa riêng người) Cách yêu cầu người thực N phép tính modulo lũy thừa Phương pháp chia để trị Có thể thấy q trình tính tốn khóa bị tính trùng lặp bên tham gia Như thứ tự tốt khác giúp ta giảm số lượng phép tính modulo lũy thừa tính người tham gia xuống Cụ thể, số lượng phép tính lũy thừa giảm xuống log 𝑁+1 cách sử dụng kiểu phương pháp chia để trị Ví dụ sau minh họa phương pháp cho người: Mỗi người A, B, C, D thực phép tính lũy thừa để tính 𝑔𝑘𝐴.𝑘𝐵.𝑘𝐶 𝑘𝐷 mod p; giá trị gửi đến E, F, G, H Ngược lại A, B, C, D nhận 𝑔𝑘𝐸.𝑘𝐹 𝑘𝐺 𝑘𝐻 mod p; Nhóm 11 An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman A B người thực phép tính lũy thừa để tính 𝑔𝑘𝐸.𝑘𝐹 𝑘𝐺 𝑘𝐻.𝑘𝐴.𝑘𝐵 mod p; gửi cho C D Ngược lại C D làm tương tự để tính 𝑔𝑘𝐸.𝑘𝐹 𝑘𝐺 𝑘𝐻.𝑘𝐶 𝑘𝐷 mod p; gửi cho A B A thực phép tính lũy thừa để tính 𝑔𝑘𝐸.𝑘𝐹 𝑘𝐺.𝑘𝐻.𝑘𝐴.𝑘𝐶 𝑘𝐷 mod p, sau gửi cho B Tương tự, B tính gửi 𝑔𝑘𝐸.𝑘𝐹 𝑘𝐺 𝑘𝐻.𝑘𝐵.𝑘𝐶 𝑘𝐷 mod p cho A Bên C D thực tương tự A thực phép tính lũy thừa cuối để có bí mật 𝑔𝑘𝐴.𝑘𝐵.𝑘𝐶 𝑘𝐷 𝑘𝐸 𝑘𝐹 𝑘𝐺 𝑘𝐻 mod p, B tính tương tự để có 𝑔𝑘𝐴.𝑘𝐵.𝑘𝐶 𝑘𝐷 𝑘𝐸 𝑘𝐹 𝑘𝐺 𝑘𝐻 mod p Và vậy, C D tìm bí mật chia sẻ chung Những người từ E đến H lúc thực bước cho giá trị nhận 𝑔𝑘𝐴.𝑘𝐵.𝑘𝐶 𝑘𝐷 mod p từ phía nhóm tính bí mật chia sẻ chung Sau bước hoàn tất tất người tham gia có bí mật 𝑔 mod p, người thực phép tính lũy thừa so với trường hợp thứ tự vòng tròn 𝑘𝐴 𝑘𝐵 𝑘𝐶 𝑘𝐷 𝑘𝐸 𝑘𝐹 𝑘𝐺 𝑘𝐻 2.3: Giải mã Để giải mã thông điệp m, gửi dạng mgab, Bob (hoặc Alice) phải tính giá trị (gab)-1 Giá trị (gab)-1 tính sau: a Vì Bob biết |G|, b, g , mặt khác theo định lý Lagrange lý thuyết nhóm ta có x|G| = với x thuộc G, nên Bob tính (ga)|G|-b = ga(|G|-b) = ga|G|-ab = ga|G|gab = (g|G|)ag-ab=1ag-ab=g-ab=(gab)-1 Việc giải mã trở nên dễ dàng: Bob sử dụng (gab)-1 tính phục hồi thơng điệp ngun thủy cách tính: mgab(gab)-1 = m(1) = m Ví dụ: Giả sử A B trao đổi khóa giao thức Diffie-Hellman sử dụng tham số p=89, g=15; q trình A B sinh giá trị ngẫu nhiên xa=10 xb=20 Bạn hãy: a tính giá trị cơng khai Ya A Yb B b tính giá trị khóa chia sẻ Zab A B Nhóm 12 An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman Giải: a Giá trị công khai Ya là: Ya = gxa mod p = 1510 mod 89 Ya = [(152) mod 89 × (158) mod 89] mod 89= (47×78) mod 89 = 17 Gía trị cơng khai Yb là: Yb = gxb mod p = (1510)2 mod 89 = 172 mod 89 = 22 b Phía A: Zab = Ybxa mod p = 2210 mod 89 Zab = 2210 mod 89 = [(228) mod 89×(222) mod 89 ] mod 89= (64×39) mod 89 = Phía B: Zab = Yaxb mod p = 1720 mod 89 Zab = 1720 mod 89 = [(1716) mod 89×(174) mod 89 ] mod 89 = (64×39) mod 89 =4 Người ta cho Diffie-Hellman đề cập đến hệ thống gọi mã hóa đối xứng, có báo cáo mật mã khơng đối xứng Tuy nhiên, Nhóm 13 An ninh mạng viễn thông Giải thuật trao đổi khóa Diffie-Hellman xem xét khía cạnh việc tính tốn bên chủ chốt, phải nhớ đại số Vì vậy, ví dụ, người số thuê bao tạo số ngẫu nhiên a b Họ biết trước giá trị x y, mà chí "khâu" phần mềm cần thiết Khi gửi nhận tin nhắn thuê bao Một tính giá trị quan trọng, công thức A = x mod y, thứ hai sử dụng kết hợp B = x bmod y, việc gửi chìa khóa giải mã cho người sử dụng Đây bước Bây giả sử bên thứ ba liên quan có lúc xử lý giá trị tính tốn A B Tất nhau, khơng thể can thiệp vào q trình chuyển liệu, bước thứ hai để biết làm để tính tốn chìa khóa thơng thường Chương 3: Phân tích tính bảo mật giải thuật 3.1: Kiểu công “Người giữa” Trong giao thức này, hai bên trao đổi khóa Alice Bob Kẻ nghe Eve quan sát thơng tin truyền Alice Bob không thay đổi nội dung thông tin (tấn công bị động) Sơ đồ sau tóm tắt người biết mơ hình giao thức o o o o o o o Nhóm Đặt s = khóa bí mật chia sẻ s = Đặt g = nguyên thủy công khai g = Đặt p = số nguyên tố công khai p = 23 Đặt a = khóa riêng tư Alice a = Đặt A = khóa cơng khai Alice A = g^a mod p = Đặt b = khóa riêng tư Bob b = 15 Đặt B = khóa cơng khai Bob B = g^b mod p = 19 14 An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman Eve chuẩn bị cho q trình cơng việc tạo khóa ngẫu nhiên E1 E2 Sau tính tốn khóa cơng khai tương ứng S1 S2 Alice gửi A sang cho Bob Eve xen vào nhận A gửi S1 cho Bob Eve tính tốn K2= 𝐴𝐸2 mod p Bob nhận S1 tính tốn K1= 𝑆1𝐵 mod p Bob gửi B cho Alice Eve xen vào nhận B gửi S2 cho Alice Eve tính tốn K1 = 𝐵𝐸1 mod p Alice nhận S2 tính tốn K2= 𝑆2𝐴 mod p Ở đây, Bob Alice nghĩ họ chia sẻ khóa bí mật thay vào Bob Darth chia sẻ khóa bí mật K1, Darth Alice chia sẻ khóa bí mật K2 Tất thông tin trao đổi Bob Alice thỏa hiệp theo cách sau: Alice gửi tin mật mã hóa M:E(S2,M) Darth xen vào nhận tin mật mã giải mã thành M Darth gửi cho Bob E(K1,M) E(K1,M’) mà M’ tin Trong trường hợp Darth đơn giản muốn nghe trộm thông tin mà không thay đổi chúng Trường hợp sau Darth muốn làm sai lệch thông tin gửi đến Bob Nhóm 15 An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman Giao thức trao đổi khóa bị cơng khơng có nhận thực bên tham gia Ta giải vấn đề việc sử dụng chữ ký số chứng nhận khóa cơng khai 3.2: Bảo mật Người ta cho giao thức bảo vệ thông tin kẻ nghe G g chọn Kẻ nghe Eve cần phải giải tốn Diffie–Hellman để tìm gab Bài tốn xem tốn khó máy tính đại ngày Thuật tốn giải cách hiệu tốn lơgarit rời rạc dễ dàng tính a b giải tốn Diffie– Hellman, qua biến hệ mã hóa cá hệ mã hóa cơng khai khác trở nên an toàn Cấp G phải số nguyên tố có chứa thừa số nguyên tố lớn nhằm để tránh việc áp dụng thuật toán Pohlig–Hellman để tìm a b Vì lý này, số nguyên tố Sophie Germain q sử dụng để tính số ngun tố an tồn p=2q+1, cấp G có thừa số nguyên tố q Giá Nhóm 16 An ninh mạng viễn thông Giải thuật trao đổi khóa Diffie-Hellman trị g chọn để sinh cấp q nhóm G, G, nhờ ký hiệu Legendre ga khơng làm lộ bit thấp a Nếu tạo số ngẫu nhiên sử dụng Alice Bob xuất số không hồn tồn ngẫu nhiên số đốn biết phần nhiệm vụ phá mã Eve trở nên dễ dàng nhiều Các số nguyên bí mật a b bị loại bỏ cuối phiên truyền liệu, đó, trao đổi khóa Diffie–Hellman hiển nhiên đạt tính bí mật chuyển tiếp hồn hảo khơng có thơng tin riêng tư dài hạn bị lộ Trong mô tả nguyên thủy mình, phương thức trao đổi Diffie–Hellman thân khơng cung cấp khả xác thực cho bên giao tiếp, trở nên khơng an tồn hình thức cơng người đứng Eve thiết lập hai giao thức trao đổi, với Alice với Bob, giúp cho Eve giả dạng Alice Bob ngược lại cách hiệu quả, từ giải mã, mã hóa lại thơng điệp chuyển Alice Bob mà không bị phát Lưu ý để không bị phát hiện, Eve phải luôn đứng để chuyển tiếp thông điệp (đã mã hóa lại) Alice Bob gửi Nếu Eve ngưng chuyển tiếp, Alice Bob phát diện Eve biết thông tin trao đổi riêng tư hai người bị can thiệp lộ với người ngồi bất hợp pháp Một phương pháp để xác thực bên tham gia với cần thiết để đề phịng loại hình cơng Những biến thể Diffie-Hellman STS áp dụng để tránh công kiểu KẾT LUẬN Giao thức trao đổi khóa Diffie-Hellman sử dụng để khắc phục nhược điểm hệ mật khóa đối xứng Bằng cách cung cấp quy trình kết hợp với việc sử dụng tốn khó, giao thức cho phép bên thỏa thuận xác định khóa chung mà khơng cần truyền khóa qua mơi trường mạng Internet Giao thức thỏa thuận khóa Diffie – Hellman đóng vai trị quan trọng việc ứng dụng vào sản phẩm mật mã dân để đảm bảo an tồn bảo mật thơng tin Tuy nhiên, để đảm bảo an toàn cài đặt, việc lựa chọn (hoặc tạo ra) tham Nhóm 17 An ninh mạng viễn thơng Giải thuật trao đổi khóa Diffie-Hellman số dùng cho giao thức đóng vai trị cốt lõi tham số phải đáp ứng yêu cầu theo tổ chức khuyến nghị tiêu chuẩn, qui chuẩn TÀI LIỆU THAM KHẢO Bài giảng An ninh mạng – Học viện Cơng nghệ Bưu Chính Viễn thơng David Adrian, Karthikeyan Bhargavan, Zakir Durumeric, Pierrick Gaudry, Matthew Green, J Alex Halderman, Nadia Heninger, Drew Springall, Emmanuel Thomé Luke Valenta, Benjamin VanderSloot, Eric Wustrow, Santiago Zanella-Béguelink Paul Zimmermann, “Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice”22nd ACM Conference on Computer and Communications Security (CCS ’15), Denver, CO, 2015 Nhóm 18

Ngày đăng: 15/09/2022, 08:15

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

Tài liệu liên quan