Bài giảng An toàn mạng

pdf 111 trang phuongnguyen 8431
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An toàn mạng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_an_toan_mang.pdf

Nội dung text: Bài giảng An toàn mạng

  1. Chương 1 Giới thiệu An toàn Mạng
  2. Bối cảnh • Nhu cầu đảm bảo an toàn thông tin có những biến đổi lớn – Trước đây • Chỉ cần các phương tiện vật lý và hành chính – Từ khi có máy tính • Cần các công cụ tự động bảo vệ tệp tin và các thông tin khác lưu trữ trong máy tính – Từ khi có các phương tiện truyền thông và mạng • Cần các biện pháp bảo vệ dữ liệu truyền trên mạng An toàn Mạng
  3. Các khái niệm • An toàn thông tin – Liên quan đến các yếu tố tài nguyên, nguy cơ, hành động tấn công, yếu điểm, và điều khiển • An toàn máy tính – Các công cụ bảo vệ dữ liệu và phòng chống tin tặc • An toàn mạng – Các biện pháp bảo vệ dữ liệu truyền trên mạng • An toàn liên mạng – Các biện pháp bảo vệ dữ liệu truyền trên một tập hợp các mạng kết nối với nhau An toàn Mạng
  4. Mục tiêu môn học • Chú trọng an toàn liên mạng • Nghiên cứu các biện pháp ngăn cản, phòng chống, phát hiện và khắc phục các vi phạm an toàn liên quan đến truyền tải thông tin An toàn Mạng
  5. Kiến trúc an toàn OSI • Kiến trúc an toàn cho OSI theo khuyến nghị X.800 của ITU-T • Định ra một phương thức chung cho việc xác định các nhu cầu về an toàn thông tin • Cung cấp một cái nhìn tổng quan về các khái niệm môn học sẽ đề cập đến • Chú trọng đến các hành động tấn công,các cơ chế an toàn, và các dịch vụ an toàn An toàn Mạng
  6. Hành động tấn công • Là hành động phá hoại an toàn thông tin của một tổ chức • An toàn thông tin là những cách thức ngăn ngừa các hành động tấn công, nếu không được thì phát hiện và khắc phục hậu quả • Các hành động tấn công có nhiều và đa dạng • Chỉ cần tập trung vào những thể loại chung nhất • Lưu ý : nguy cơ tấn công và hành động tấn công thường được dùng đồng nghĩa với nhau An toàn Mạng
  7. Các hành động tấn công • Các hành động tấn công thụ động – Nghe trộm nội dung thông tin truyền tải – Giám sát và phân tích luồng thông tin lưu chuyển • Các hành động tấn công chủ động – Giả danh một thực thể khác – Phát lại các thông báo trước đó – Sửa đổi các thông báo đang lưu chuyển – Từ chối dịch vụ An toàn Mạng
  8. Dịch vụ an toàn • Là một dịch vụ nâng cao độ an toàn của các hệ thống xử lý thông tin và các cuộc truyền dữ liệu trong một tổ chức • Nhằm phòng chống các hành động tấn công • Sử dụng một hay nhiều cơ chế an toàn • Có các chức năng tương tự như đảm bảo an toàn tài liệu vật lý • Một số đặc trưng của tài liệu điện tử khiến việc cung cấp các chức năng đảm bảo an toàn khó khăn hơn An toàn Mạng
  9. Cơ chế an toàn • Là cơ chế định ra để phát hiện, ngăn ngừa và khắc phục một hành động tấn công • Không một cơ chế đơn lẻ nào có thể hỗ trợ tất cả các chức năng đảm bảo an toàn thông tin • Có một yếu tố đặc biệt hậu thuẫn nhiều cơ chế an toàn sử dụng hiện nay là các kỹ thuật mật mã • Môn học sẽ chú trọng lĩnh vực mật mã An toàn Mạng
  10. Mô hình an toàn mạng Bên thứ ba đáng tin Bên gửi Bên nhận Chuyển đổi Chuyển đổi liên quan Thôngtoàn anbáo Kênh Thôngtoàn anbáo liên quan Thôngbáo đến an toàn thông tin đến an toàn Thôngbáo Thông tin Thông tin bí mật bí mật Đối thủ An toàn Mạng
  11. Mô hình an toàn mạng • Yêu cầu – Thiết kế một giải thuật thích hợp cho việc chuyển đổi liên quan đến an toàn – Tạo ra thông tin bí mật (khóa) đi kèm với giải thuật – Phát triển các phương pháp phân bổ và chia sẻ thông tin bí mật – Đặc tả một giao thức sử dụng bởi hai bên gửi và nhận dựa trên giải thuật an toàn và thông tin bí mật, làm cơ sở cho một dịch vụ an toàn An toàn Mạng
  12. Mô hình an toàn truy nhập mạng Các tài nguyên tính toán (bộ xử lý, bộ nhớ, ngoại vi) Đối thủ Kênh truy nhập Dữ liệu - Con người Các tiến trình - Phần mềm Phần mềm Chức năng gác cổng Các điều khiển an toàn bên trong An toàn Mạng
  13. Mô hình an toàn truy nhập mạng • Yêu cầu – Lựa chọn các chức năng gác cổng thích hợp để định danh người dùng – Cài đặt các điều khiển an toàn để đảm bảo chỉ những người dùng được phép mới có thể truy nhập được vào các thông tin và tài nguyên tương ứng • Các hệ thống máy tính đáng tin cậy có thể dùng để cài đặt mô hình này An toàn Mạng
  14. Chương 2 MÃ HÓA ĐỐI XỨNG An toàn Mạng
  15. Hai kỹ thuật mã hóa chủ yếu • Mã hóa đối xứng – Bên gửi và bên nhận sử dụng chung một khóa – Còn gọi là • Mã hóa truyền thống • Mã hóa khóa riêng / khóa đơn / khóa bí mật – Là kỹ thuật mã hóa duy nhất trước những năm 70 – Hiện vẫn còn được dùng rất phổ biến • Mã hóa khóa công khai (bất đối xứng) – Mỗi bên sử dụng một cặp khóa • Một khóa công khai + Một khóa riêng – Công bố chính thức năm 1976 An toàn Mạng
  16. Một số cách phân loại khác • Theo phương thức xử lý – Mã hóa khối • Mỗi lần xử lý một khối nguyên bản và tạo ra khối bản mã tương ứng (chẳng hạn 64 hay 128 bit) – Mã hóa luồng • Xử lý dữ liệu đầu vào liên tục (chẳng hạn mỗi lần 1 bit) • Theo phương thức chuyển đổi – Mã hóa thay thế • Chuyển đổi mỗi phần tử nguyên bản thành một phần tử bản mã tương ứng – Mã hóa hoán vị • Bố trí lại vị trí các phần tử trong nguyên bản An toàn Mạng
  17. Mô hình hệ mã hóa đối xứng Khóa bí mật dùng chung Khóa bí mật dùng chung bởi bên gửi và bên nhận bởi bên gửi và bên nhận Bản mã truyền đi Nguyên bản Nguyên bản đầu vào đầu ra Giải thuật mã hóa Giải thuật giải mã Mã hóa Giải mã Y = EK(X) X = DK(Y) An toàn Mạng
  18. Mô hình hệ mã hóa đối xứng • Gồm có 5 thành phần – Nguyên bản – Giải thuật mã hóa – Khóa bí mật – Bản mã – Giải thuật giải mã • An toàn phụ thuộc vào sự bí mật của khóa, không phụ thuộc vào sự bí mật của giải thuật An toàn Mạng
  19. Phá mã • Là nỗ lực giải mã văn bản đã được mã hóa không biết trước khóa bí mật • Có hai phương pháp phá mã – Vét cạn • Thử tất cả các khóa có thể – Thám mã • Khai thác những nhược điểm của giải thuật • Dựa trên những đặc trưng chung của nguyên bản hoặc một số cặp nguyên bản - bản mã mẫu An toàn Mạng
  20. Phương pháp phá mã vét cạn • Về lý thuyết có thể thử tất cả các giá trị khóa cho đến khi tìm thấy nguyên bản từ bản mã • Dựa trên giả thiết có thể nhận biết được nguyên bản cần tìm • Tính trung bình cần thử một nửa tổng số các trường hợp có thể • Thực tế không khả thi nếu độ dài khóa lớn An toàn Mạng
  21. Thời gian tìm kiếm trung bình Thời gian cần thiết Thời gian cần thiết Kích thước Số lượng khóa khóa (bit) (1 giải mã/μs) (106 giải mã/μs) 32 231 μs = 35,8 phút 232 = 4,3 x 109 2,15 ms 56 255 μs = 1142 năm 256 = 7,2 x 1016 10,01 giờ 128 2127 μs = 5,4 x 1024 năm 2128 = 3,4 x 1038 5,4 x 1018 năm 168 2167 μs = 5,9 x 1036 năm 2168 = 3,7 x 1050 5,9 x 1030 năm 26 ký tự 2 x 1026 μs = 26! = 4 x 1026 6,4 x 106 năm (hoán vị) 6,4 x 1012 năm Khóa DES dài 56 bit Tuổi vũ trụ : ~ 1010 năm Khóa AES dài 128+ bit Khóa 3DES dài 168 bit An toàn Mạng
  22. An toàn hệ mã hóa • An toàn vô điều kiện – Bản mã không chứa đủ thông tin để xác định duy nhất nguyên bản tương ứng, bất kể với số lượng bao nhiêu và tốc độ máy tính thế nào – Chỉ hệ mã hóa độn một lần là an toàn vô điều kiện • An toàn tính toán – Thỏa mãn một trong hai điều kiện • Chi phí phá mã vượt quá giá trị thông tin • Thời gian phá mã vượt quá tuổi thọ thông tin – Thực tế thỏa mãn hai điều kiện • Không có nhược điểm • Khóa có quá nhiều giá trị không thể thử hết An toàn Mạng
  23. Mã hóa thay thế cổ điển • Các chữ cái của nguyên bản được thay thế bởi các chữ cái khác, hoặc các số, hoặc các ký hiệu • Nếu nguyên bản được coi như một chuỗi bit thì thay thế các mẫu bit trong nguyên bản bằng các mẫu bit của bản mã An toàn Mạng
  24. Hệ mã hóa Caesar • Là hệ mã hóa thay thế xuất hiện sớm nhất và đơn giản nhất • Sử dụng đầu tiên bởi Julius Caesar vào mục đích quân sự • Dịch chuyển xoay vòng theo thứ tự chữ cái – Khóa k là số bước dịch chuyển – Với mỗi chữ cái của văn bản • Đặt p = 0 nếu chữ cái là a, p = 1 nếu chữ cái là b, • Mã hóa : C = E(p) = (p + k) mod 26 • Giải mã : p = D(C) = (C - k) mod 26 • Ví dụ : Mã hóa "meet me after class" với k = 3 An toàn Mạng
  25. Phá mã hệ mã hóa Caesar • Phương pháp vét cạn – Khóa chỉ là một chữ cái (hay một số giữa 1 và 25) – Thử tất cả 25 khóa có thể – Dễ dàng thực hiện • Ba yếu tố quan trọng – Biết trước các giải thuật mã hóa và giải mã – Chỉ có 25 khóa để thử – Biết và có thể dễ dàng nhận ra được ngôn ngữ của nguyên bản An toàn Mạng
  26. Hệ mã hóa đơn bảng • Thay một chữ cái này bằng một chữ cái khác theo trật tự bất kỳ sao cho mỗi chữ cái chỉ có một thay thế duy nhất và ngược lại • Khóa dài 26 chữ cái • Ví dụ – Khóa a b c d e f g h i j k l m n o p q r s t u v w x y z M N B V C X Z A S D F G H J K L P O I U Y T R E W Q – Nguyên bản i love you An toàn Mạng
  27. Phá mã hệ mã hóa đơn bảng • Phương pháp vét cạn – Khóa dài 26 ký tự – Số lượng khóa có thể = 26! = 4 x 1026 – Rất khó thực hiện • Khai thác những nhược điểm của giải thuật – Biết rõ tần số các chữ cái tiếng Anh • Có thể suy ra các cặp chữ cái nguyên bản - chữ cái bản mã • Ví dụ : chữ cái xuất hiện nhiều nhất có thể tương ứng với 'e' – Có thể nhận ra các bộ đôi và bộ ba chữ cái • Ví dụ bộ đôi : 'th', 'an', 'ed' • Ví dụ bộ ba : 'ing', 'the', 'est' An toàn Mạng
  28. Các tần số chữ cái tiếng Anh Tần số đốisố tương(%) Tần An toàn Mạng
  29. Ví dụ phá mã hệ đơn bảng • Cho bản mã UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ • Tính tần số chữ cái tương đối • Đoán P là e, Z là t • Đoán ZW là th và ZWP là the • Tiếp tục đoán và thử, cuối cùng được it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow An toàn Mạng
  30. Mã hóa hoán vị cổ điển • Che đậy nội dung văn bản bằng cách sắp xếp lại trật tự các chữ cái • Không thay đổi các chữ cái của nguyên bản • Bản mã có tần số xuất hiện các chữ cái giống như nguyên bản An toàn Mạng
  31. Hệ mã hóa hàng rào • Viết các chữ cái theo đường chéo trên một số hàng nhất định • Sau đó đọc theo từng hàng một • Ví dụ – Nguyên bản : attack at midnight – Mã hóa với độ cao hàng rào là 2 a t c a m d i h t a k t i n g t – Bản mã : ATCAMDIHTAKTINGT An toàn Mạng
  32. Mã hóa tích hợp • Các hệ mã hóa thay thế và hoán vị không an toàn vì những đặc điểm của ngôn ngữ • Kết hợp sử dụng nhiều hệ mã hóa sẽ khiến việc phá mã khó hơn – Hai thay thế tạo nên một thay thế phức tạp hơn – Hai hoán vị tạo nên một hoán vị phức tạp hơn – Một thay thế với một hoán vị tạo nên một hệ mã hóa phức tạp hơn nhiều • Là cầu nối từ các hệ mã hóa cổ điển đến các hệ mã hóa hiện đại An toàn Mạng
  33. Mã hóa khối • So với mã hóa luồng – Mã hóa khối xử lý thông báo theo từng khối – Mã hóa luồng xử lý thông báo 1 bit hoặc 1 byte mỗi lần An toàn Mạng
  34. Chuẩn mã hóa dữ liệu • DES (Data Encryption Standard) được công nhận chuẩn năm 1977 • Phương thức mã hóa được sử dụng rộng rãi nhất • Tên giải thuật là DEA (Data Encryption Algorithm) • Kích thước khối : 64 bit • Kích thước khóa : 56 bit • Số vòng : 16 • Từng gây nhiều tranh cãi về độ an toàn An toàn Mạng
  35. Phá mã DES • Khóa 56 bit có 256 = 7,2 x 1016 giá trị có thể • Phương pháp vét cạn tỏ ra không thực tế • Tốc độ tính toán cao có thể phá được khóa – 1997 : 70000 máy tính phá mã DES trong 96 ngày – 1998 : Electronic Frontier Foundation (EFF) phá mã DES bằng máy chuyên dụng (250000$) trong < 3 ngày – 1999 : 100000 máy tính phá mã trong 22 giờ • Vấn đề còn phải nhận biết được nguyên bản • Thực tế DES vẫn được sử dụng không có vấn đề • Nếu cần an toàn hơn : 3DES hay chuẩn mới AES An toàn Mạng
  36. Hệ mã hóa 3DES • Sử dụng 3 khóa và chạy 3 lần giải thuật DES – Mã hóa : C = E [D [E [p]]] K3 K2 K1 – Giải mã : p = D [E [D [C]]] K1 K2 K3 • Độ dài khóa thực tế là 168 bit – Không tồn tại K = 56 sao cho C = E (p) 4 K4 An toàn Mạng
  37. Chuẩn mã hóa tiên tiến • AES (Advanced Encryption Standard) được công nhận chuẩn mới năm 2001 • Tên giải thuật là Rijndael (Rijmen + Daemen) • An toàn hơn và nhanh hơn 3DES • Kích thước khối : 128 bit • Kích thước khóa : 128/192/256 bit An toàn Mạng
  38. Bố trí công cụ mã hóa • Giải pháp hữu hiệu và phổ biến nhất chống lại các mối đe dọa đến an toàn mạng là mã hóa • Để thực hiện mã hóa, cần xác định – Mã hóa những gì – Thực hiện mã hóa ở đâu • Có 2 phương án cơ bản – Mã hóa liên kết – Mã hóa đầu cuối An toàn Mạng
  39. Mã hóa liên kết • Công cụ mã hóa được sắp đặt ở 2 đầu của mọi liên kết có nguy cơ bị tấn công • Đảm bảo an toàn việc lưu chuyển thông tin trên tất cả các liên kết mạng • Các mạng lớn cần đến rất nhiều công cụ mã hóa • Cần cung cấp rất nhiều khóa • Nguy cơ bị tấn công tại mỗi chuyển mạch – Các gói tin cần được mã hóa mỗi khi đi vào một chuyển mạch gói để đọc được địa chỉ ở phần đầu • Thực hiện ở tầng vật lý hoặc tầng liên kết An toàn Mạng
  40. Mã hóa đầu cuối • Quá trình mã hóa được thực hiện ở 2 hệ thống đầu cuối • Đảm bảo an toàn dữ liệu người dùng • Chỉ cần một khóa cho 2 đầu cuối • Đảm bảo xác thực ở mức độ nhất định • Mẫu lưu chuyển thông tin không được bảo vệ – Các phần đầu gói tin cần được truyền tải tường minh • Thực hiện ở tầng mạng trở lên – Càng lên cao càng ít thông tin cần mã hóa và càng an toàn nhưng càng phức tạp với nhiều thực thể và khóa An toàn Mạng
  41. Kết hợp các phương án mã hóa Công cụ mã hóa đầu cuối PSN : Packet-switching node Công cụ mã hóa liên kết An toàn Mạng
  42. Quản lý khóa bí mật • Vấn đề đối với mã hóa đối xứng là làm sao phân phối khóa an toàn đến các bên truyền tin – Thường hệ thống mất an toàn là do không quản lý tốt việc phân phối khóa bí mật • Phân cấp khóa – Khóa phiên (tạm thời) • Dùng mã hóa dữ liệu trong một phiên kết nối • Hủy bỏ khi hết phiên – Khóa chủ (lâu dài) • Dùng để mã hóa các khóa phiên, đảm bảo phân phối chúng một cách an toàn An toàn Mạng
  43. Các cách phân phối khóa • Khóa có thể được chọn bởi bên A và gửi theo đường vật lý đến bên B • Khóa có thể được chọn bởi một bên thứ ba, sau đó gửi theo đường vật lý đến A và B • Nếu A và B đã có một khóa dùng chung thì một bên có thể gửi khóa mới đến bên kia, sử dụng khóa cũ để mã hóa khóa mới • Nếu mỗi bên A và B đều có một kênh mã hóa đến một bên thứ ba C thì C có thể gửi khóa theo các kênh mã hóa đó đến A và B An toàn Mạng
  44. Chương 3 MẬT MÃ KHÓA CÔNG KHAI An toàn Mạng
  45. Giới thiệu • Những hạn chế của mật mã đối xứng – Vấn đề phân phối khóa • Khó đảm bảo chia sẻ mà không làm lộ khóa bí mật • Trung tâm phân phối khóa có thể bị tấn công • Mật mã khóa công khai đề xuất bởi Whitfield Diffie và Martin Hellman vào năm 1976 – Khắc phục những hạn chế của mật mã đối xứng – Có thể coi là bước đột phá quan trọng nhất trong lịch sử của ngành mật mã – Bổ xung chứ không thay thế mật mã đối xứng An toàn Mạng
  46. Đặc điểm mật mã khóa công khai • Còn gọi là mật mã hai khóa hay bất đối xứng • Các giải thuật khóa công khai sử dụng 2 khóa – Một khóa công khai • Ai cũng có thể biết • Dùng để mã hóa thông báo và thẩm tra chữ ký – Một khóa riêng • Chỉ nơi giữ được biết • Dùng để giải mã thông báo và ký (tạo ra) chữ ký • Có tính bất đối xứng – Bên mã hóa không thể giải mã thông báo – Bên thẩm tra không thể tạo chữ ký An toàn Mạng
  47. Mã hóa khóa công khai Các khóa công khai Ted Joy Mike Alice Khóa công khai Khóa riêng của Alice của Alice Bản mã truyền đi Nguyên bản Nguyên bản đầu vào Giải thuật Giải thuật đầu ra mã hóa giải mã An toàn Mạng
  48. Xác thực Các khóa công khai Ted Joy Mike Bob Khóa riêng Khóa công khai của Bob của Bob Bản mã truyền đi Nguyên bản Nguyên bản đầu vào Giải thuật Giải thuật đầu ra mã hóa giải mã An toàn Mạng
  49. Ứng dụng mật mã khóa công khai • Có thể phân ra 3 loại ứng dụng – Mã hóa/giải mã • Đảm bảo sự bí mật của thông tin – Chữ ký số • Hỗ trợ xác thực văn bản – Trao đổi khóa • Cho phép chia sẻ khóa phiên trong mã hóa đối xứng • Một số giải thuật khóa công khai thích hợp cho cả 3 loại ứng dụng; một số khác chỉ có thể dùng cho 1 hay 2 loại An toàn Mạng
  50. Mô hình đảm bảo bí mật Kẻ phá mã Nguồn A Đích B Nguồn Giải thuật Giải thuật Đích th. báo mã hóa giải mã th. báo Nguồn cặp khóa An toàn Mạng
  51. Trao đổi khóa Khóa ngẫu nhiên Khóa ngẫu nhiên Alice Bob Mã hóa Giải mã Khóa công khai của Bob Khóa riêng của Bob An toàn Mạng
  52. Các điều kiện cần thiết • Bên B dễ dàng tạo ra được cặp (KUb, KRb) • Bên A dễ dàng tạo ra được C = E (M) KUb • Bên B dễ dàng giải mã M = D (C) KRb • Đối thủ không thể xác định được KRb khi biết KUb • Đối thủ không thể xác định được M khi biết KUb và C • Một trong hai khóa có thể dùng mã hóa trong khi khóa kia có thể dùng giải mã – M = D (E (M)) = D (E (M)) KRb KUb KUb KRb – Không thực sự cần thiết An toàn Mạng
  53. Hệ mã hóa RSA • Đề xuất bởi Ron Rivest, Adi Shamir và Len Adleman (MIT) vào năm 1977 • Hệ mã hóa khóa công khai phổ dụng nhất • Mã hóa khối với mỗi khối là một số nguyên < n – Thường kích cỡ n là 1024 bit ≈ 309 chữ số thập phân • Đăng ký bản quyền năm 1983, hết hạn năm 2000 • An toàn vì chi phí phân tích thừa số của một số nguyên lớn là rất lớn An toàn Mạng
  54. Tạo khóa RSA • Mỗi bên tự tạo ra một cặp khóa công khai - khóa riêng theo các bước sau : – Chọn ngẫu nhiên 2 số nguyên tố đủ lớn p q – Tính n = pq – Tính (n) = (p-1)(q-1) – Chọn ngẫu nhiên khóa mã hóa e sao cho 1 < e < (n) và gcd(e, (n)) = 1 – Tìm khóa giải mã d ≤ n thỏa mãn e.d ≡ 1 mod (n) • Công bố khóa mã hóa công khai KU = {e, n} • Giữ bí mật khóa giải mã riêng KR = {d, n} – Các giá trị bí mật p và q bị hủy bỏ An toàn Mạng
  55. Thực hiện RSA • Để mã hóa 1 thông báo nguyên bản M, bên gửi thực hiện – Lấy khóa công khai của bên nhận KU = {e, n} – Tính C = Me mod n • Để giải mã bản mã C nhận được, bên nhận thực hiện – Sử dụng khóa riêng KR = {d, n} – Tính M = Cd mod n • Lưu ý là thông báo M phải nhỏ hơn n – Phân thành nhiều khối nếu cần An toàn Mạng
  56. Vì sao RSA khả thi • Theo định lý Euler  a, n : gcd(a, n) = 1 a(n) mod n = 1 (n) là số các số nguyên dương nhỏ hơn n và nguyên tố cùng nhau với n • Đối với RSA có – n = pq với p và q là các số nguyên tố (n) = (p - 1)(q - 1) – ed ≡ 1 mod (n)  số nguyên k : ed = k(n) + 1 – M < n • Có thể suy ra – Cd mod n = Med mod n = Mk(n) + 1 mod n = M mod n = M An toàn Mạng
  57. Ví dụ tạo khóa RSA • Chọn 2 số nguyên tố p = 17 và q = 11 • Tính n = pq = 17 11 = 187 • Tính (n) = (p - 1)(q - 1) = 16 10 = 160 • Chọn e : gcd(e, 160) = 1 và 1 < e < 160; lấy e = 7 • Xác định d : de ≡ 1 mod 160 và d ≤ 187 Giá trị d = 23 vì 23 7 = 161 = 1 160 + 1 • Công bố khóa công khai KU = {7, 187} • Giữ bí mật khóa riêng KR = {23, 187} – Hủy bỏ các giá trị bí mật p = 17 và q = 11 An toàn Mạng
  58. Ví dụ thực hiện RSA Mã hóa Giải mã Bản Nguyên mã Nguyên bản bản An toàn Mạng
  59. Chọn tham số RSA • Cần chọn p và q đủ lớn • Thường chọn e nhỏ • Thường có thể chọn cùng giá trị của e cho tất cả người dùng • Trước đây khuyến nghị giá trị của e là 3, nhưng hiện nay được coi là quá nhỏ • Thường chọn e = 216 - 1 = 65535 • Giá trị của d sẽ lớn và khó đoán An toàn Mạng
  60. An toàn của RSA • Khóa 128 bit là một số giữa 1 và một số rất lớn 340.282.366.920.938.000.000.000.000.000.000.000.000 • Có bao nhiêu số nguyên tố giữa 1 và số này ≈ n / ln(n) = 2128 / ln(2128) ≈ 3.835.341.275.459.350.000.000.000.000.000.000.000 • Cần bao nhiêu thời gian nếu mỗi giây có thể tính được 1012 số Hơn 121,617,874,031,562,000 năm (khoảng 10 triệu lần tuổi của vũ trụ) • An toàn nhưng cần đề phòng những điểm yếu An toàn Mạng
  61. Phá mã RSA • Phương pháp vét cạn – Thử tất cả các khóa riêng có thể • Phụ thuộc vào độ dài khóa • Phương pháp phân tích toán học – Phân n thành tích 2 số nguyên tố p và q – Xác định trực tiếp (n) không thông qua p và q – Xác định trực tiếp d không thông qua (n) • Phương pháp phân tích thời gian – Dựa trên việc đo thời gian giải mã – Có thể ngăn ngừa bằng cách làm nhiễu An toàn Mạng
  62. Phân tích thừa số RSA • An toàn của RSA dựa trên độ phức tạp của việc phân tích thừa số n • Thời gian cần thiết để phân tích thừa số một số lớn tăng theo hàm mũ với số bit của số đó – Mất nhiều năm khi số chữ số thập phân của n vượt quá 100 (giả sử làm 1 phép tính nhị phân mất 1 s) • Kích thước khóa lớn đảm bảo an toàn cho RSA – Từ 1024 bit trở lên – Gần đây nhất năm 1999 đã phá mã được 512 bit (155 chữ số thập phân) An toàn Mạng
  63. Chương 4 XÁC THỰC & CHỮ KÝ SỐ An toàn Mạng
  64. Vấn đề xác thực • Các tiêu chuẩn cần xác minh – Thông báo có nguồn gốc rõ ràng chính xác – Nội dung thông báo toàn vẹn không bị thay đổi – Thông báo được gửi đúng trình tự và thời điểm • Mục đích để chống lại hình thức tấn công chủ động (xuyên tạc dữ liệu và giao tác) • Các phương pháp xác thực thông báo – Mã hóa thông báo – Sử dụng mã xác thực thông báo (MAC) – Sử dụng hàm băm An toàn Mạng
  65. Xác thực bằng cách mã hóa • Sử dụng mã hóa đối xứng – Thông báo gửi từ đúng nguồn vì chỉ có người gửi đó mới biết khóa bí mật dùng chung – Nội dung không thể bị thay đổi vì nguyên bản có cấu trúc nhất định – Các gói tin được đánh số thứ tự và mã hóa nên không thể thay đổi trình tự và thời điểm nhận được • Sử dụng mã hóa khóa công khai – Không chỉ xác thực thông báo mà còn tạo chữ ký số – Phức tạp và mất thời gian hơn mã hóa đối xứng An toàn Mạng
  66. Mã xác thực thông báo (MAC) • Khối kích thước nhỏ cố định gắn vào thông báo tạo ra từ thông báo đó và khóa bí mật chung • Bên nhận thực hiện cùng giải thuật trên thông báo và khóa để so xem MAC có chính xác không • Giải thuật tạo MAC giống như giải thuật mã hóa nhưng không cần nghịch được • Có thể nhiều thông báo cùng có chung MAC – Nhưng nếu biết một thông báo và MAC của nó, rất khó tìm ra một thông báo khác có cùng MAC – Các thông báo có cùng xác suất tạo ra MAC • Đáp ứng 3 tiêu chuẩn xác thực An toàn Mạng
  67. Nguồn A Đích B So sánh a) Xác thực thông báo So sánh b) Xác thực thông báo và bảo mật; MAC gắn vào nguyên bản So sánh c) Xác thực thông báo và bảo mật; MAC gắn vào bản mã An toàn Mạng
  68. Vì sao dùng MAC • Nhiều trường hợp chỉ cần xác thực, không cần mã hóa tốn thời gian và tài nguyên – Thông báo hệ thống – Chương trình máy tính • Tách riêng các chức năng bảo mật và xác thực sẽ khiến việc tổ chức linh hoạt hơn – Chẳng hạn mỗi chức năng thực hiện ở một tầng riêng • Cần đảm bảo tính toàn vẹn của thông báo trong suốt thời gian tồn tại không chỉ khi lưu chuyển – Vì thông báo có thể bị thay đổi sau khi giải mã An toàn Mạng
  69. Hàm băm • Tạo ra một giá trị băm có kích thước cố định từ thông báo đầu vào (không dùng khóa) h = H(M) • Hàm băm không cần giữ bí mật • Giá trị băm gắn kèm với thông báo dùng để kiểm tra tính toàn vẹn của thông báo • Bất kỳ sự thay đổi M nào dù nhỏ cũng tạo ra một giá trị h khác An toàn Mạng
  70. Nguồn A Đích B So sánh a) Xác thực thông báo và bảo mật; mã băm gắn vào nguyên bản So sánh b) Xác thực thông báo; mã băm được mã hóa sử dụng phương pháp đối xứng So sánh c) Xác thực thông báo; mã băm được mã hóa sử dụng phương pháp khóa công khai An toàn Mạng
  71. Nguồn A Đích B So sánh d) Xác thực bằng mã hóa khóa công khai và bảo mật bằng mã hóa đối xứng So sánh e) Xác thực không cần mã hóa nhờ hai bên chia sẻ một giá trị bí mật chung So sánh f) Xác thực nhờ một giá trị bí mật chung; bảo mật bằng phương pháp đối xứng An toàn Mạng
  72. Yêu cầu đối với hàm băm • Có thể áp dụng với thông báo M có độ dài bất kỳ • Tạo ra giá trị băm h có độ dài cố định • H(M) dễ dàng tính được với bất kỳ M nào • Từ h rất khó tìm được M sao cho H(M) = h – Tính một chiều • Từ M1 rất khó tìm được M2 sao cho H(M2) = H(M1) – Tính chống xung đột yếu • Rất khó tìm được (M1, M2) sao cho H(M1) = H(M2) – Tính chống xung đột mạnh An toàn Mạng
  73. Chữ ký số • Xác thực thông báo không có tác dụng khi bên gửi và bên nhận muốn gây hại cho nhau – Bên nhận giả mạo thông báo của bên gửi – Bên gửi chối là đã gửi thông báo đến bên nhận • Chữ ký số không những giúp xác thực thông báo mà còn bảo vệ mỗi bên khỏi bên kia • Chức năng chữ ký số – Xác minh tác giả và thời điểm ký thông báo – Xác thực nội dung thông báo – Là căn cứ để giải quyết tranh chấp An toàn Mạng
  74. Yêu cầu đối với chữ ký số • Phụ thuộc vào thông báo được ký • Có sử dụng thông tin riêng của người gửi – Để tránh giả mạo và chối bỏ • Tương đối dễ tạo ra • Tương đối dễ nhận biết và kiểm tra • Rất khó giả mạo – Bằng cách tạo thông báo khác có cùng chữ ký số – Bằng cách tạo chữ ký số theo ý muốn cho thông báo • Thuận tiện trong việc lưu trữ An toàn Mạng
  75. Chữ ký số trực tiếp • Chỉ liên quan đến bên gửi và bên nhận • Với mật mã khóa công khai – Dùng khóa riêng ký toàn bộ thông báo hoặc giá trị băm – Có thể mã hóa sử dụng khóa công khai của bên nhận – Quan trọng là ký trước mã hóa sau • Chỉ có tác dụng khi khóa riêng của bên gửi được đảm bảo an toàn – Bên gửi có thể giả vờ mất khóa riêng • Cần bổ xung thông tin thời gian và báo mất khóa kịp thời – Khóa riêng có thể bị mất thật • Kẻ cắp có thể gửi thông báo với thông tin thời gian sai lệch An toàn Mạng
  76. Chữ ký số gián tiếp • Có sự tham gia của một bên trọng tài – Nhận thông báo có chữ ký số từ bên gửi, kiểm tra tính hợp lệ của nó – Bổ xung thông tin thời gian và gửi đến bên nhận • An toàn phụ thuộc chủ yếu vào bên trọng tài – Cần được bên gửi và bên nhận tin tưởng • Có thể cài đặt với mã hóa đối xứng hoặc mã hóa khóa công khai • Bên trọng tài có thể được phép nhìn thấy hoặc không nội dung thông báo An toàn Mạng
  77. Chương 5 AN TOÀN THƯ ĐIỆN TỬ An toàn Mạng
  78. Giới thiệu • Thư điện tử là dịch vụ mạng phổ dụng nhất • Hiện nay các thông báo không được bảo mật – Có thể đọc được nội dung trong quá trình thông báo di chuyển trên mạng – Những người dùng có đủ quyền có thể đọc được nội dung thông báo trên máy đích – Thông báo dễ dàng bị giả mạo bởi một người khác – Tính toàn vẹn của thông báo không được đảm bảo • Các giải pháp xác thực và bảo mật thường dùng – PGP (Pretty Good Privacy) – S/MIME (Secure/Multipurpose Internet Mail Extensions) An toàn Mạng
  79. PGP • Do Phil Zimmermann phát triển vào năm 1991 • Chương trình miễn phí, chạy trên nhiều môi trường khác nhau (phần cứng, hệ điều hành) – Có phiên bản thương mại nếu cần hỗ trợ kỹ thuật • Dựa trên các giải thuật mật mã an toàn nhất • Chủ yếu ứng dụng cho thư điện tử và file • Độc lập với các tổ chức chính phủ • Bao gồm 5 dịch vụ : xác thực, bảo mật, nén, tương thích thư điện tử, phân và ghép – Ba dịch vụ sau trong suốt đối với người dùng An toàn Mạng
  80. Xác thực của PGP Nguồn A Đích B So sánh M = Thông báo gốc EP = Mã hóa khóa công khai H = Hàm băm DP = Giải mã khóa công khai ║ = Ghép KRa = Khóa riêng của A Z = Nén KUa = Khóa công khai của A Z-1 = Cởi nén An toàn Mạng
  81. Bảo mật của PGP Nguồn A Đích B EC = Mã hóa đối xứng DC = Giải mã đối xứng Ks = Khóa phiên An toàn Mạng
  82. Nén của PGP • PGP nén thông báo sử dụng giải thuật ZIP • Ký trước khi nén – Thuận tiện lưu trữ và kiểm tra, nếu ký sau khi nén thì • Cần lưu phiên bản nén với chữ ký, hoặc • Cần nén lại thông báo mỗi lần muốn kiểm tra – Giải thuật nén không cho kết quả duy nhất • Mỗi phiên bản cài đặt có tốc độ và tỷ lệ nén khác nhau • Nếu ký sau khi nén thì các chương trình PGP cần sử dụng cùng một phiên bản của giải thuật nén • Mã hóa sau khi nén – Ít dữ liệu sẽ khiến việc mã hóa nhanh hơn – Thông báo nén khó phá mã hơn thông báo thô An toàn Mạng
  83. Chương 6 AN TOÀN IP An toàn Mạng
  84. Giới thiệu • Lý do cần IPSec – Có những vấn đề an toàn cần giải quyết ở mức thấp hơn tầng ứng dụng • Đặc biệt các hình thức tấn công ở tầng IP rất phổ biến như giả mạo IP, xem trộm gói tin – An toàn ở mức IP sẽ đảm bảo an toàn cho tất cả các ứng dụng • Bao gồm nhiều ứng dụng chưa có tính năng an toàn • Các cơ chế an toàn của IPSec – Xác thực – Bảo mật – Quản lý khóa An toàn Mạng
  85. Các ứng dụng của IPSec • Xây dựng mạng riêng ảo an toàn trên Internet – Tiết kiệm chi phí thiết lập và quản lý mạng riêng • Truy nhập từ xa an toàn thông qua Internet – Tiết kiệm chi phí đi lại • Giao tiếp an toàn với các đối tác – Đảm bảo xác thực, bảo mật và cung cấp cơ chế trao đổi khóa • Tăng cường an toàn thương mại điện tử – Hỗ trợ thêm cho các giao thức an toàn có sẵn của các ứng dụng Web và thương mại điện tử An toàn Mạng
  86. Minh họa ứng dụng IPSec An toàn Mạng
  87. Ích lợi của IPSec • Tại tường lửa hoặc bộ định tuyến, IPSec đảm bảo an toàn cho mọi luồng thông tin vượt biên • Tại tường lửa, IPSec ngăn chặn thâm nhập trái phép từ Internet vào • IPSec nằm dưới tầng giao vận, do vậy trong suốt với các ứng dụng • IPSec có thể trong suốt với người dùng cuối • IPSec có thể áp dụng cho người dùng đơn lẻ • IPSec bảo vệ an toàn kiến trúc định tuyến An toàn Mạng
  88. Kiến trúc an toàn IP • Đặc tả IPSec khá phức tạp • Định nghĩa trong nhiều tài liệu – Bao gồm RFC 2401 (tổng quan kiến trúc), RFC 2402 (mô tả mở rộng xác thực), RFC 2406 (mô tả mở rộng mã hóa), RFC 2408 (đặc tả khả năng trao đổi khóa) – Các tài liệu khác được chia thành 7 nhóm • Việc hỗ trợ IPSec là bắt buộc đối với IPv6, tùy chọn đối với IPv4 • IPSec được cài đặt như các phần đầu mở rộng sau phần đầu IP – Phần đầu mở rộng cho xác thực là AH – Phần đầu mở rộng cho mã hóa là ESP An toàn Mạng
  89. Tổng quan tài liệu IPSec An toàn Mạng
  90. Các dịch vụ IPSec • Bao gồm – Điều khiển truy nhập – Toàn vẹn phi kết nối – Xác thực nguồn gốc dữ liệu – Từ chối các gói tin lặp • Một hình thức của toàn vẹn thứ tự bộ phận – Bảo mật (mã hóa) – Bảo mật luồng tin hữu hạn • Sử dụng một trong hai giao thức – Giao thức xác thực (ứng với AH) – Giao thức xác thực/mã hóa (ứng với ESP) An toàn Mạng
  91. Các liên kết an toàn • Khái niệm liên kết an toàn (SA) – Là quan hệ một chiều giữa bên gửi và bên nhận, cho biết các dịch vụ an toàn đối với luồng tin lưu chuyển • Mỗi SA được xác định duy nhất bởi 3 tham số – Chỉ mục các tham số an toàn (SPI) – Địa chỉ IP đích – Định danh giao thức an toàn • Các tham số khác lưu trong CSDL SA (SAD) – Số thứ tự, các thông tin AH và ESP, thời hạn, • CSDL chính sách an toàn (SPD) cho phép điều chỉnh mức độ áp dụng IPSec An toàn Mạng
  92. Phần đầu xác thực • Đảm bảo toàn vẹn và xác thực các gói IP – Cho phép một hệ thống đầu cuối hay một thiết bị mạng xác thực người dùng hoặc ứng dụng – Tránh giả mạo địa chỉ – Chống lại hình thức tấn công lặp lại • Sử dụng mã xác thực thông báo • Bên gửi và bên nhận phải có một khóa bí mật dùng chung An toàn Mạng
  93. Khuôn dạng AH An toàn Mạng
  94. Chế độ giao vận và đường hầm An toàn Mạng
  95. Phần đầu ESP • Đảm bảo bảo mật nội dung và bảo mật luồng tin hữu hạn • Có thể cung cấp các dịch vụ xác thực giống như với AH • Cho phép sử dụng nhiều giải thuật mã hóa, phương thức mã hóa, và cách độn khác nhau – DES, 3DES, RC5, IDEA, CAST, – CBC, – Độn cho tròn kích thước khối, kích thước trường, che dấu lưu lượng luồng tin An toàn Mạng
  96. Khuôn dạng ESP An toàn Mạng
  97. Giao vận và đường hầm ESP • Chế độ giao vận ESP dùng để mã hóa và có thể có thêm chức năng xác thực dữ liệu IP – Chỉ mã hóa dữ liệu không mã hóa phần đầu – Dễ bị phân tích lưu lượng nhưng hiệu quả – Áp dụng cho truyền tải giữa hai điểm cuối • Chế độ đường hầm mã hóa toàn bộ gói tin IP – Phải bổ xung phần đầu mới cho mỗi bước chuyển – Áp dụng cho các mạng riêng ảo, truyền tải thông qua cầu nối An toàn Mạng
  98. Kết hợp các liên kết an toàn • Mỗi SA chỉ có thể cài đặt một trong hai giao thức AH và ESP • Để cài đặt cả hai cần kết hợp các SA với nhau – Tạo thành một gói liên kết an toàn – Có thể kết thúc tại các điểm cuối khác nhau hoặc giống nhau • Kết hợp theo 2 cách – Gần với giao vận – Tạo đường hầm theo nhiều bước • Cần xem xét thứ tự xác thực và mã hóa An toàn Mạng
  99. Ví dụ kết hợp các SA An toàn Mạng
  100. Chương 7 AN TOÀN WEB An toàn Mạng
  101. Vấn đề an toàn Web (1) • Web được sử dụng rộng rãi bởi các công ty, tổ chức, và các cá nhân • Các vấn đề đặc trưng đối với an toàn Web – Web dễ bị tấn công theo cả hai chiều – Tấn công Web server sẽ gây tổn hại đến danh tiếng và tiền bạc của công ty – Các phần mềm Web thường chứa nhiều lỗi an toàn – Web server có thể bị khai thác làm căn cứ để tấn công vào hệ thống máy tính của một tổ chức – Người dùng thiếu công cụ và kiến thức để đối phó với các hiểm họa an toàn An toàn Mạng
  102. Vấn đề an toàn Web (2) • Các hiểm họa đối với an toàn Web – Tính toàn vẹn – Tính bảo mật – Từ chối dịch vụ – Xác thực • Các biện pháp an toàn Web An toàn Mạng
  103. SSL • Là một dịch vụ an toàn ở tầng giao vận • Do Netscape khởi xướng • Phiên bản 3 được công bố dưới dạng bản thảo Internet • Trở thành chuẩn TLS – Phiên bản đầu tiên của TLS ≈ SSLv3.1 tương thích ngược với SSLv3 • Sử dùng TCP để cung cấp dịch vụ an toàn từ đầu cuối tới đầu cuối • Gồm 2 tầng giao thức An toàn Mạng
  104. Mô hình phân tầng SSL An toàn Mạng
  105. Kiến trúc SSL (1) • Kết nối SSL – Liên kết giao tiếp từ điểm nút tới điểm nút – Mang tính nhất thời – Gắn với một phiên giao tác – Các tham số xác định trạng thái kết nối • Các số ngẫu nhiên chọn bởi server và client • Khóa MAC của server • Khóa MAC của client • Khóa mã hóa của server • Khóa mã hóa client • Các vector khởi tạo • Các số thứ tự An toàn Mạng
  106. Kiến trúc SSL (2) • Phiên SSL – Liên kết giữa client và server – Tạo lập nhờ giao thức bắt tay – Có thể bao gồm nhiều kết nối – Xác lập một tập các tham số an toàn sử dụng bởi tất cả các kết nối trong phiên giao tác • Định danh phiên • Chứng thực điểm nút • Phương pháp nén • Đặc tả mã hóa • Khóa bí mật chủ • Cờ có thể tiếp tục hay không An toàn Mạng
  107. Giao thức đổi đặc tả mã hóa SSL • Một trong ba giao thức chuyên dụng SSL sử dụng giao thức bản ghi SSL • Chỉ gồm một thông báo chứa một byte dữ liệu có giá trị là 1 • Khiến cho trạng thái treo trở thành trạng thái hiện thời – Cập nhật đặc tả mã hóa cho kết nối An toàn Mạng
  108. Giao thức báo động SSL • Dùng chuyển tải các báo động liên quan đến SSL tới các thực thể điểm nút • Mỗi thông báo gồm 2 byte – Byte thứ nhất chỉ mức độ nghiêm trọng • Cảnh báo : có giá trị là 1 • Tai họa : có giá trị là 2 – Byte thứ hai chỉ nội dung báo động • Tai họa : unexpected_message, bad_record_mac, decompression_failure, handshake_failure, illegal_parameter • Cảnh báo : close_notify, no_certificate, bad_certificate, unsupported_certificate, certificate_revoked, certificate_expired, certificate_unknown An toàn Mạng
  109. Giao thức bắt tay SSL • Cho phép server và client – Xác thực lẫn nhau – Thỏa thuận các giải thuật mã hóa và MAC – Thỏa thuận các khóa mật mã sẽ được sử dụng • Gồm một chuỗi các thông báo trao đổi giữa client và server • Mỗi thông báo gồm 3 trường – Kiểu (1 byte) – Độ dài (3 byte) – Nội dung ( 0 byte) An toàn Mạng
  110. TLS • Là phiên bản chuẩn Internet của SSL – Mô tả trong RFC 2246 rất giống với SSLv3 – Một số khác biệt nhỏ so với SSLv3 • Số phiên bản trong khuôn dạng bản ghi SSL • Sử dụng HMAC để tính MAC • Sử dụng hàm giả ngẫu nhiên để khai triển các giá trị bí mật • Có thêm một số mã báo động • Không hỗ trợ Fortezza • Thay đổi trong trao đổi chứng thực • Thay đổi trong việc sử dụng dữ liệu đệm An toàn Mạng