Giáo trình Mạng máy tính - Chương 8: Bảo mật

pdf 131 trang huongle 4220
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Mạng máy tính - Chương 8: Bảo mật", để 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:

  • pdfgiao_trinh_mang_may_tinh_chuong_8_bao_mat.pdf

Nội dung text: Giáo trình Mạng máy tính - Chương 8: Bảo mật

  1. Chương 8 Bảo mật A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). Computer They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. Networking: A Top They obviously represent a lot of work on our part. In return for use, we only ask the following: Down Approach  If you use these slides (e.g., in a class) that you mention their source th (after all, we’d like people to use our book!) 6 edition  If you post any slides on a www site, that you note that they are adapted Jim Kurose, Keith Ross from (or perhaps identical to) our slides, and note our copyright of this Addison-Wesley material. March 2012 Thanks and enjoy! JFK/KWR All material copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved 8-1
  2. Chương 8: An toàn mạng Mục tiêu của chương:  Hiểu về các nguyên tắc an ninh mạng: . Mật mã (cryptography) và nhiều công dụng của nó vượt ra ngoài “tính bí mật” (“confidentiality”) . Sự chứng thực (authentication) . Toàn viện thông điệp (message integrity)  An toàn mạng trong thực tế: . Tường lửa (firewall) và hệ thống phát hiện xâm nhập (intrusion detection system) . Bảo mật trong các tầng application, transport, network và link An ninh mạng 8-2
  3. Chương 8 lộ trình 8.1 an toàn mạng là gì? 8.2 các nguyên lý mật mã (cryptography) 8.3 toàn vẹn thông điệp (Message integrity), chứng thực (authentication) 8.4 an toàn thư điện tử 8.5 an toàn kết nối TCP: SSL 8.6 An toàn tầng Network: IPsec 8.7 An toàn mạng không dây 8.8 an toàn vận hành (Operational security): tường lửa và hệ thống phát hiện xâm nhập (IDS) An ninh mạng 8-3
  4. An toàn mạng là gì Tính bí mật (confidentiality): chỉ có người gửi và người nhận mới được phép “hiểu” nội dung của thông điệp . Người gửi mã hóa thông điệp . Người nhận giải mã thông điệp Chứng thực (authentication): cả người gửi và nhận đều muốn xác nhận danh tính lẫn nhau Toàn vẹn thông điệp (message integrity): người gửi và nhận muốn bảo đảm thông điệp không bị sửa chữa (trong quá trình truyền, hoặc là sau đó) mà không bị phát hiện Truy cập và sẵn sàng (access and availability): dịch vụ phải có thể được truy cập và sẵn sàng cho người dùng An ninh mạng 8-4
  5. Bạn và kẻ quấy rối: Alice, Bob, Trudy  Nổi tiếng trong thế giới an ninh mạng  Bob, Alice (bạn bè!) muốn truyền thông với nhau “an toàn”  Trudy (kẻ xâm nhập, kẻ phá hoại) có thể chặn, xóa hoặc thêm các thông điệp Alice Bob channel Dữ liệu, thông điệp điều khiển secure secure Dữ liệu Dữ liệu s sender receiver Trudy An ninh mạng 8-5
  6. Bob và Alice có thể là ai?  Người thật trong cuộc sống!  Trình duyệt/server web cho các giao dịch điện tử (ví dụ: mua bán trên mạng)  client/server ngân hàng online  DNS server  Các router trao đổi cập nhật bảng định tuyến  Các ví dụ khác? An ninh mạng 8-6
  7. There are bad guys (and girls) out there! Q: “Kẻ xấu” có thể làm gì? A: rất nhiều! Xem phần 1.6 . Nghe trộm (eavesdrop): chặn đường các thông điệp . Tích cực chèn các thông điệp vào trong kết nối . Mạo danh (impersonation): có thể giả mạo (lừa bịp) địa chỉ nguồn trong packet (hoặc bất cứ trường nào trong packet) . Cướp (hijacking): “dành lấy” kết nối đang diễn ra bằng cách loại bỏ người gửi hoặc người nhận, và kẻ phá hoại chèn vào vị trí đó (người gửi hoặc người nhận) . Từ chối dịch vụ (denial of service): ngăn chặn những người khác sử dụng dịch vụ An ninh mạng 8-7
  8. Chương 8 lộ trình 8.1 an toàn mạng là gì? 8.2 các nguyên lý mật mã (cryptography) 8.3 toàn vẹn thông điệp (Message integrity), chứng thực (authentication) 8.4 an toàn thư điện tử 8.5 an toàn kết nối TCP: SSL 8.6 An toàn tầng Network: IPsec 8.7 An toàn mạng không dây 8.8 Operational security: tường lửa và hệ thống phát hiện xâm nhập (IDS) An ninh mạng 8-8
  9. Ngôn ngữ của mật mã (The language of cryptography) Khóa mã Khóa giải K A hóa của K mã của Alice BBob Ciphertext Plaintext Thuật toán (văn bản đã Thuật toán Văn bản gốc (văn bản gốc) mã hóa mã hóa) giải mã m thông điệp trong dạng plaintext KA(m) plaintext, được mã hóa với chìa khóa KA m = KB(KA(m)) An ninh mạng 8-9
  10. Phá vỡ sơ đồ mã hóa  Chỉ tấn công cipher-  Tấn công khi biết nội text (cipher-text only dung plaintext: Trudy có attack): Trudy có bản plaintext tương ứng với ciphertext mà cô ta có ciphertext thể phân tích . Ví dụ: trong  2 hướng tiếp cận: monoalphabetic . brute force: tìm cipher, Trudy xác kiếm qua tất cả các định các cặp cho các chìa khóa chữ cái a,l,i,c,e,b,o, . Phân tích thống kê  Tấn công lựa chọn plaintext (chosen- plaintext attack): Trudy có thể có được ciphertex cho plaintext được chọn An ninh mạng 8-10
  11. Mật mã khóa đối xứng (Symmetric key cryptography) K K S S Thông điệp Thuật toán ciphertext Thuật toán plaintext plaintext, m mã hóa giải mã K (m) m = K (K (m)) S S S Mật mã khóa đối xứng: Bob và Alice chia sẽ cùng khóa (đối xứng): KS  Ví dụ: khóa là 1 dạng mẫu thay thế trong mật mã thay thế chữ cái mono (mono alphabetic substitution cipher) Q: làm cách nào mà Bob và Alice đồng ý về giá trị khóa? An ninh mạng 8-11
  12. Sơ đồ mã hóa đơn giản Mật mã substitution: thay thế cái này bằng cái khác . Mật mã monoalphabetic : thay thế 1 ký tự cho 1 ký tự khác plaintext: abcdefghijklmnopqrstuvwxyz ciphertext: mnbvcxzasdfghjklpoiuytrewq Ví dụ: Plaintext: bob. i love you. alice ciphertext: nkn. s gktc wky. mgsbc Khóa mã hóa (Encryption key): ánh xạ từ một tập 26 ký tự này sang 1 tập 26 ký tự khác An ninh mạng 8-12
  13. Một hướng tiếp cận mã hóa tinh vi hơn  n mật mã thay thế (substitution), M1,M2, ,Mn  Mô hình tuần hoàn (cycling pattern): . Ví dụ: n=4: M1,M3,M4,M3,M2; M1,M3,M4,M3,M2;  Cho mỗi ký tự plaintext mới, sử dụng mô hình thay thế tiếp theo (subsequent subsitution pattern ) trong mô hình tuần hoàn (cyclic pattern) . dog: d từ M1, o từ M3, g từ M4 khóa mã hóa (Encryption key): n mật mã thay thế (n substitution ciphers), và mô hình tuần hoàn (cyclic pattern) . Khóa không chỉ là mô hình n-bit An ninh mạng 8-13
  14. Mật mã khóa đối xứng: DES DES: Data Encryption Standard  Chuẩn mã hóa US [NIST 1993]  Độ dài khóa đối xứng 56-bit, đầu vào plaintext khối 64-bit  Mật mã khối với chuỗi khối mật mã (cipher block chaining)  DES an toàn như thế nào? . Thách thức DES: một nhóm ký tự được mã hóa bởi khóa (56-bit-key-encrypted phrase) được giải mã (brute force) ít hơn 1 ngày  Làm cho DES thêm an toàn: . 3DES: mã hóa 3 lần với 3 khóa khác nhau An ninh mạng 8-14
  15. Mật mã khóa đối xứng: DES Hoạt động của DES Hoán vị ban đầu 16 “chu trình” giống hệt nhau của ứng dụng hàm, mỗi chu trình sử dụng khóa 48 bit khác nhau Hoán vị cuối cùng An ninh mạng 8-15
  16. AES: Advanced Encryption Standard  Chuẩn NIST khóa đối xứng (symmetric-key NIST), thay thế DES (tháng 11 năm 2001)  Xử lý dữ liệu trong các khối 128 bit  Độ dài khóa 128, 192, hoặc 256 bit  Giải mã brute force (thử với từng khóa) mất 1 giây để giải mã DES, nhưng mất 149 tỷ năm cho AES An ninh mạng 8-16
  17. Mật mã khóa công khai (Public Key Cryptography) Mật mã khóa đối xứng Mật mã khóa công khai  Phương pháp tiếp cận  Yêu cầu bên gửi và nhận hoàn toàn khác [Diffie- biết khóa bí mật được Hellman76, RSA78] chia sẽ với nhau  Bên gửi và bên nhân  Q: làm thế nào để đồng không chia sẽ khóa bí mật ý với nhau về khóa trong lần đầu tiên (đặt  Mọi người đều biết khóa biệt là nếu chưa từng mã hóa công khai (public “gặp nhau”)? encryption key)  Khóa giải mã riêng (private decryption key) chỉ có bên nhận biết An ninh mạng 8-17
  18. Mật mã khóa công khai + K Khóa công khai B của Bob K - Khóa riêng của B Bob Thông điệp Thuật toán ciphertext Thuật toán Thông điệp plaintext, m mã hóa + giải mã plaintext K (m) - + B m = K (K (m)) B B An ninh mạng 8-18
  19. Thuật toán mật mã khóa công khai Yêu cầu: + 1 Cần K ( .) và K - (. ) B B - + K (K (m)) = m B B + 2 Cho khóa công khai K , không B - thể tính toán khóa riêng K B RSA: Rivest, Shamir, Adelson algorithm An ninh mạng 8-19
  20. Điều kiện tiên quyết: modular arithmetic  x mod n = phần dư của x khi chi cho n  Cơ sở lập luận: [(a mod n) + (b mod n)] mod n = (a+b) mod n [(a mod n) - (b mod n)] mod n = (a-b) mod n [(a mod n) * (b mod n)] mod n = (a*b) mod n  Do đó (a mod n)d mod n = ad mod n  Ví dụ: x=14, n=10, d=2: (x mod n)d mod n = 42 mod 10 = 6 xd = 142 = 196 xd mod 10 = 6 An ninh mạng 8-20
  21. RSA: chuẩn bị sẵn sàng  thông điệp (message): chỉ là 1 bit pattern  bit pattern có thể được biểu diễn duy nhất bởi một số nguyên  Do đó, mã hóa 1 thông điệp là tương đương với mã hóa một con số. Ví dụ:  m= 10010001 . thông điệp này được biểu diễn duy nhất bởi một số thập phân là 145.  Để mã hóa m, chúng ta sẽ mã hóa con số tương ứng của nó, cái mà sẽ cho một số mới (the ciphertext). An ninh mạng 8-21
  22. RSA: tạo cặp khóa public/private (công khai/riêng tư) 1. Chọn 2 số nguyên tố lớn p, q. (ví dụ: mỗi số là 1024 bit) 2. Tính n = pq, z = (p-1)(q-1) 3. Chọn e (với e<n) sao cho không có ước số chung với z (e, z là “số nguyên tố cùng nhau”). 4. Chọn d sao cho ed-1 chia hết cho z. (nói một cách khác: ed mod z = 1 ). 5. khóa công khai (public key) là (n,e). Khóa riêng (private) là (n,d). - K + K B B An ninh mạng 8-22
  23. RSA: mã hóa và giải mã 0. cho (n,e) và (n,d) như được tính ở trên 1. Để mã hóa thông điệp m (<n), tính c = m e mod n 2. Để giải mã bit pattern được nhận, c, tính m = c d mod n d Điều kỳ diệu m = (m e mod n) mod n xảy ra! c An ninh mạng 8-23
  24. RSA ví dụ: Bob chọn p=5, q=7. thì n=35, z=24. e=5 (vì vậy e, z là nguyên tố cùng nhau). d=29 (vì vậy ed-1 chia hết cho z). Mã hóa thông điệp 8-bit. e bit pattern m m c = me mod n Mã hóa: 0000l000 12 24832 17 d c c m = cd mod n Giải mã: 17 481968572106750915091411825223071697 12 An ninh mạng 8-24
  25. Tại sao RSA hoạt động như thế?  Phải chứng minh rằng cd mod n = m trong đó c = me mod n  Lập luận: với bất kỳ x và y: xy mod n = x(y mod z) mod n . Trong đó n= pq và z = (p-1)(q-1)  Vì vậy, cd mod n = (me mod n)d mod n = med mod n = m(ed mod z) mod n = m1 mod n = m An ninh mạng 8-25
  26. RSA: tính chất quan trọng khác Tính chất sau đây sẽ rất hữu ích sau này: - + + - K (K (m)) = m = K (K (m)) B B B B Dùng khóa công Dùng khóa riêng khai trước, tiếp trước, tiếp sau sau đó dùng đó dùng khóa khóa riêng công khai (private key) Kết quả là như nhau! An ninh mạng 8-26
  27. - + + - K (K (m)) = m = K (K (m))? Tại sao B B B B Từ số học modula (me mod n)d mod n = med mod n = mde mod n = (md mod n)e mod n An ninh mạng 8-27
  28. Tại sao RSA an toàn?  Giả sử biết được khóa công khai của Bob (n,e). Xác định d khó như thế nào?  Về bản chất là cần tìm các ước số của n mà không cần biết 2 ước p và q . Sự thật: phân tích 1 số lớn là rất khó An ninh mạng 8-28
  29. RSA trong thực tế: khóa phiên (session keys)  Lũy thừa trong RSA là chuyên sâu một cách có tính toán  DES nhanh hơn RSA 100 lần  Sử dụng mật mã khóa công khai để thiết lập kết nối an toàn, sau đó thiết lập khóa thứ 2 – khóa phiên đối xứng (symmetric session key) – để mã hóa dữ liệu Khóa phiên, KS  Bob và Alice sử dụng RSA để trao đổi khóa đối xứng KS  Khi cả 2 có được khóa KS, thì họ sẽ dùng mật mã khóa đối xứng (symmetric key cryptography) An ninh mạng 8-29
  30. Chương 8 lộ trình 8.1 an toàn mạng là gì? 8.2 các nguyên lý mật mã (cryptography) 8.3 toàn vẹn thông điệp (Message integrity), chứng thực (authentication) 8.4 an toàn thư điện tử 8.5 an toàn kết nối TCP: SSL 8.6 An toàn tầng Network: IPsec 8.7 An toàn mạng không dây 8.8 Operational security: tường lửa và hệ thống phát hiện xâm nhập (IDS) An ninh mạng 8-30
  31. Xác thực (Authentication) Mục tiêu: Bob muốn Alice chứng minh “danh tính” của cô ta cho anh ta Giao thức ap1.0: Alice nói “tôi là Alice” “tôi là Alice” Tình huống này thất bại?? An ninh mạng 8-31
  32. Xác thực (Authentication) Mục tiêu: Bob muốn Alice chứng minh “danh tính” của cô ta cho anh ta Giao thức ap1.0: Alice nói “tôi là Alice” Trong mạng, Bob không thể “thấy” Alice, vì vậy Trudy có thể “tôi là Alice” đơn giản khai báo chính cô ta là Alice An ninh mạng 8-32
  33. Xác thực: thử cách khác Giao thức ap2.0: Alice nói “tôi là Alice” trong 1 IP packet chứa địa chỉ IP nguồn của cô ta Địa chỉ IP “tôi là Alice” Của Alice Tình huống này thất bại không?? An ninh mạng 8-33
  34. Xác thực: thử cách khác Giao thức ap2.0: Alice nói “tôi là Alice” trong 1 IP packet chứa địa chỉ IP nguồn của cô ta Trudy có thể tạo 1 packet “giả mạo” địa chỉ của Địa chỉ IP của Alice “tôi là Alice” Alice An ninh mạng 8-34
  35. Xác thực: thử cách khác Giao thức ap3.0: Alice nói “tôi là Alice” và gửi mật khẩu bí mật của cô ta để “chứng minh”. Mật khẩu Địa chỉ “tôi là Alice” IP Alice Alice Địa chỉ OK IP Alice Tình huống này thất bại không?? An ninh mạng 8-35
  36. Xác thực: thử cách khác Giao thức ap3.0: Alice nói “tôi là Alice” và gửi mật khẩu bí mật của cô ta để “chứng minh”. Mật khẩu Địa chỉ “tôi là Alice” IP Alice của Alice Tấn công playback : Trudy ghi lại packet của Địa chỉ OK IP Alice Alice và sau đó gửi nó trở lại cho Bob Mật khẩu Địa chỉ “tôi là Alice” IP Alice của Alice An ninh mạng 8-36
  37. Xác thực: thử cách khác Giao thức ap3.1: Alice nói “tôi là Alice” và gửi mật khẩu bí mật được mã hóa của cô ta để “chứng minh”. Mật khẩu Địa chỉ “tôi là Alice” IP Alice mã hóa Địa chỉ OK IP Alice Tình huống thất bại không?? An ninh mạng 8-37
  38. Xác thực: thử cách khác Giao thức ap3.1: Alice nói “tôi là Alice” và gửi mật khẩu bí mật được mã hóa của cô ta để “chứng minh”. Mật khẩu Địa chỉ “tôi là Alcie” IP Alice mã hóa Ghi và “phát lại” Địa chỉ OK vẫn thành công IP Alice Mật khẩu Địa chỉ “tôi là Alice” IP Alice mã hóa An ninh mạng 8-38
  39. Xác thực: thử cách khác Mục tiêu: tránh tấn công playback nonce: số (R) chỉ được sử dụng “1 lần trong đời” (once-in-a-lifetime) ap4.0: để chứng minh Alice “sống”, Bob gửi nonce R cho Alice. Alice phải trả về R, được mã hóa với khóa bí mật đã được chia sẽ “tôi là Alice” R K (R) Alice vẫn “sống”, A-B và chỉ có Alice biết khóa để mã hóa nonce, vì vậy đó Thất bại, hạn chế? phải là Alice! An ninh mạng 8-39
  40. Xác thực: ap5.0 ap4.0 yêu cầu khóa đối xứng được chia sẽ  Chúng ta có thể xác thực dùng kỹ thuật khóa công khai hay không? ap5.0: sử dụng nonce, mã hóa khóa công khai “tôi là Alice” Bob tính R + - - K A (K A (R)) = R K A (R) Và biết chỉ Alice là có thể “gửi cho tôi khóa công khai của bạn” có khóa riêng (private + key), R được mã hóa K A + - K (K (R)) = R A A An ninh mạng 8-40
  41. ap5.0: lỗ hỏng bảo mật man (or woman) in the middle attack: Trudy tự cho mình như là Alice (tới Bob) và như là Bob (tới Alice) Tôi là Alice Tôi là Alice R - K (R) T R - Gửi cho tôi khóa công khai của bạn K (R) + A K T Gửi cho tôi khóa công khai của bạn + K A + K (m) Trudy có được T - + + m = K (K (m)) K (m) T T A Gửi m tới Alice - + m = K (K (m)) được mã hóa A A bằng khóa công khai của Alice An ninh mạng 8-41
  42. ap5.0: lỗ hỏng bảo mật man (or woman) in the middle attack: Trudy tự cho mình như là Alice (tới Bob) và như là Bob (tới Alice) Khó phát hiện:  Bob nhận mọi thứ mà Alice gửi, và ngược lại. (ví dụ: vì vậy Bob và Alice có thể gặp nhau 1 tuần sau đó và nhắc lại cuộc trò chuyện!)  Vấn đề là Trudy cũng nhận tất cả các thông điệp đó An ninh mạng 8-42
  43. Chương 8 lộ trình 8.1 an toàn mạng là gì? 8.2 các nguyên lý mật mã (cryptography) 8.3 toàn vẹn thông điệp (Message integrity), chứng thực (authentication) 8.4 an toàn thư điện tử 8.5 an toàn kết nối TCP: SSL 8.6 An toàn tầng Network: IPsec 8.7 An toàn mạng không dây 8.8 Operational security: tường lửa và hệ thống phát hiện xâm nhập (IDS) An ninh mạng 8-43
  44. Chữ ký số (Digital signatures) Kỹ thuật mật mã (cryptographic technique) tương tự như chữ ký tay:  Bên gửi (Bob) ký tên vào tài liệu bằng kỹ thuật số, để chứng minh anh ta là người tạo ra tài liệu đó  Có khả năng kiểm chứng, không thể giả mạo (verifiable, nonforgeable): bên nhận (Alice) có thể chứng minh người nào đó chính là Bod, và không phải là ai khác (bao gồm cả Alice), phải là người vừa ký tên vào tài liệu này An ninh mạng 8-44
  45. Chữ ký số Chữ ký số đơn giản cho thông điệp m:  Bob ký tên vào thông điệp m bằng cách mã hóa - với khóa riêng K- (private key K ) của anh ta, B B - tạo ra thông điệp “được ký tên”, KB(m) - Khóa riêng của - Thông điệp của Bob, m K m,K (m) B Bob B Dear Alice Thông điệp của Oh, how I have missed Thuật toán Bob, m, được ký you. I think of you all the mã hóa tên (mã hóa) với time! (blah blah blah) khóa công khóa riêng của Bob khai anh ta An ninh mạng 8-45
  46. Chữ ký số -  Giả sử Alice nhận đ- ược thông điệp m, với chữ ký: m, KB(m)  Alice xác minh thông điệp m đã được ký tên bởi Bob bằng + - cách áp dụng khóa công khai KB của Bob vào chữ ký KB(m) + - sau đó kiểm tra KB(KB(m) ) = m. + -  Nếu KB(KB(m) ) = m, bất -cứ ai đã ký vào m thì phải vừa sử dụng khóa riêng của Bob. Do đó, Alice xác nhận rằng:  Bob đã ký tên vào m  Không một ai khác đã ký vào m  Bob đã ký tên vào m chứ không phải m‘ Không thoái thác (non-repudiation): -  Alice có thể lấy m, và chữ ký KB(m) để chứng minh tại tòa án là Bob đã ký tên vào m An ninh mạng 8-46
  47. Tóm lược thông điệp Thông H: Hàm (Message digests) điệp lớn băm m Việc tính toán (mã hóa/giải mã) là tốn kém đối với các thông H(m) điệp dài sử dụng mã hóa khóa công khai Các thuộc tính hàm băm (Hash function) : Mục tiêu: độ dài cố định, dễ dàng tính toán “vân tay” số  Nhiều thành 1 (many-to-1)  ượ  ứng dụng hàm băm (hash Sinh ra tóm l c thông function ) H cho m, tính điệp (msg digest) có độ được tóm lược thông điệp có dài cố định (dấu tay) chiều dài cố định (fixed size  Cho tóm lược thông điệp message digest), H(m). (msg digest) x, không thể tính toán để tìm ra m như là x = H(m) An ninh mạng 8-47
  48. Internet checksum: hàm băm mã hóa “nghèo nàn” Internet checksum có một số thuộc tính của hàm băm:  Sinh ra message digest với độ dài cố định (16-bit sum)  Nhiều thành 1 (many-to-one) Tuy nhiên, thông điệp được cho với giá trị hash được cho, thật dễ dàng tìm thấy thông điêp khác với giá trị hash tương tự Thông điệp ASCII format Thông điệp ASCII format I O U 1 49 4F 55 31 I O U 9 49 4F 55 39 0 0 . 9 30 30 2E 39 0 0 . 1 30 30 2E 31 9 B O B 39 42 D2 42 9 B O B 39 42 D2 42 B2 C1 D2 AC B2 C1 D2 AC Các thông điệp khác nhau Nhưng checksum giống nhau! An ninh mạng 8-48
  49. Chữ ký số = message digest được ký Bob gửi thông điệp được Alice xác minh chữ ký, tính ký số: toàn vẹn của thông điệp được ký số: Thông H: hàm điệp lớn msg digest băm H(m) m được mã hóa - KB(H(m)) Khóa Chữ ký Thông riêng số điệp lớn của Bob - (mã hóa) m Khóa Chữ ký K B công + số khai của K msg digest H: hàm Bob B (giải mã) được mã hóa băm - + KB(H(m)) H(m) H(m) Bằng nhau? An ninh mạng 8-49
  50. Các thuật toán hàm băm (Hash function algorithms)  Hàm băm MD5 được sử dụng rộng rãi (RFC 1321) . Tính toán message digest 128-bit trong quy trình 4 bước. . Một chuỗi x 128-bit tùy ý, khó xây dựng thông điệp m mà MD5 hash của nó bằng với x  SHA-1 cũng được sử dụng . Chuẩn US [NIST, FIPS PUB 180-1] . message digest 160 bit An ninh mạng 8-50
  51. Nhắc lại: lỗ hỏng bảo mật của ap5.0 man (or woman) in the middle attack: Trudy tự cho mình như là Alice (tới Bob) và như là Bob (tới Alice) Tôi là Alice Tôi là Alice R - K (R) T R - Gửi cho tôi khóa công khai của bạn K (R) + A K T Gửi cho tôi khóa công khai của bạn + K A + K (m) Trudy có được T - + + m = K (K (m)) K (m) T T A Gửi m tới Alice - + m = K (K (m)) được mã hóa A A bằng khóa công khai của Alice An ninh mạng 8-51
  52. Chứng nhận khóa công khai (Public-key certification)  Động lực thúc đẩy: Trudy trêu đùa Bob . Trudy tạo 1 đặt hàng qua e-mail: Chào cửa hàng Pizza, hãy gửi cho tôi 4 phần pizza pepperoni. Cám ơn, Bob . Trudy ký tên đặt hàng với khóa riêng của cô ta . Trudy gửi đơn đặt hàng tới cửa hàng Pizza . Trudy gửi khóa công khai của cô ta đến cửa hàng Pizza, tuy nhiên nói đây là khóa công khai của Bob . Cửa hàng Pizza xác minh chữ ký; sau đó giao 4 pizza pepperoni tới Bob . Bob thậm chí không thích bánh pizza pepperoni An ninh mạng 8-52
  53. Certification authorities  certification authority (CA): sự ràng buộc giữa khóa công khai và thực thể cụ thể E.  E (con người, router) đăng ký khóa công khai với CA. . E cung cấp “giấy tờ chứng minh” tới to CA. . CA tạo giấy chứng nhận rằng buộc E tới khóa công khai của nó. . Giấy chứng nhận (certificate) bao gồm khóa công khai của E được ký số bởi CA – CA nói “đây là khóa công khai của E” Chữ ký số Khóa + (mã hóa) công + K B khai của K B Bob Khóa Giấy chứng nhận Bob’s riêng K - identifying của CA CA cho khóa công information khai của Bob, được ký bởi CA 8-53 An ninh mạng
  54. Certification authorities  Khi Alice muốn biết khóa công khai của Bob: . Lấy giấy chứng nhận của Bob (Bob hoặc ở nơi khác). . Áp dụng khóa công khai của CA vào giấy chứng nhận của Bob, lấy được khóa công khai của Bob + Chữ ký Khóa K công B số + (decrypt) K khai của B Bob Khóa công + khai của K CA CA An ninh mạng 8-54
  55. Chương 8 lộ trình 8.1 an toàn mạng là gì? 8.2 các nguyên lý mật mã (cryptography) 8.3 toàn vẹn thông điệp (Message integrity), chứng thực (authentication) 8.4 an toàn thư điện tử 8.5 an toàn kết nối TCP: SSL 8.6 An toàn tầng Network: IPsec 8.7 An toàn mạng không dây 8.8 Operational security: tường lửa và hệ thống phát hiện xâm nhập (IDS) An ninh mạng 8-55
  56. An toàn thư điện tử (e-mail)  Alice muốn gửi e-mail bí mật, m, tới Bob. KS KS(m ) KS(m ) m KS( .) KS( .) m - + Internet KS + - . KS KB(. ) + + KB( ) KB(KS ) KB(KS ) + - KB KB Alice:  tạo ra khóa riêng đối xứng ngẫu nhiên, KS  mã hóa thông điệp với KS  cũng mã hóa KS với khóa công khai của Bob  gửi cả K (m) và K (K ) tới Bob S B S An ninh mạng 8-56
  57. An toàn thư điện tử (e-mail)  Alice muốn gửi e-mail bí mật, m, tới Bob. KS KS(m ) KS(m ) m KS( .) KS( .) m - + Internet KS + - . KS KB(. ) + + KB( ) KB(KS ) KB(KS ) + - KB KB Bob:  dùng khóa riêng của anh ta để mã hóa và phục hồi KS  sử dụng KS để giải mã KS(m) để khôi phục m An ninh mạng 8-57
  58. An toàn thư điện tử (tt)  Alice muốn cung cấp tính toàn vẹn thông điệp chứng thực người gửi (sender authentication message integrity) - + KA KA - - - KA(H(m)) KA(H(m)) + H(m ) m H( .) KA(. ) KA( .) - compare + Internet m H( .) m H(m )  Alice ký số lên thông điệp  gửi cả thông điệp (ở dạng gốc) và chữ ký số An ninh mạng 8-58
  59. An toàn thư điện tử (tt)  Alice muốn cung cấp tính bí mật, chứng thực người gửi và toàn vẹn thông điệp. - KA - - KA(H(m)) m H(. ) KA(. ) KS + KS( .) m + Internet + . KS KB( ) + KB(KS ) + KB Alice sử dụng 3 khóa: khóa riêng của cô ta, khóa công khai của Bob, khóa đối xứng được tạo mới An ninh mạng 8-59
  60. Chương 8 lộ trình 8.1 an toàn mạng là gì? 8.2 các nguyên lý mật mã (cryptography) 8.3 toàn vẹn thông điệp (Message integrity), chứng thực (authentication) 8.4 an toàn thư điện tử 8.5 an toàn kết nối TCP: SSL 8.6 An toàn tầng Network: IPsec 8.7 An toàn mạng không dây 8.8 Operational security: tường lửa và hệ thống phát hiện xâm nhập (IDS) An ninh mạng 8-60
  61. SSL: Secure Sockets Layer  ứ ả ậ ượ Giao th c b o m t đ c  Mục tiêu ban đầu: ể ộ tri n khai r ng rãi . Giao dịch thương mại điện tử . Được hỗ trợ bởi hầu hết các trên Web trình duyệt, web server . Mã hóa (đặt biệt là số thẻ . https tín dụng) . Tỷ $/năm qua SSL . Xác thực Web-server  Cơ chế: [Woo 1994], thực . Xác thực client (tùy chọn) ệ hi n: Netscape . Tối thiểu rắc rối trong hoạt  Biến thể -TLS: transport động kinh doanh với thương layer security, RFC 2246 gia mới  Cung cấp  Sẵn sàng cho tất cả các ứng ụ . Tính bí mật d ng TCP (confidentiality) . secure socket interface . Tính toàn vẹn (integrity) . Xác thực (authentication) An ninh mạng 8-61
  62. SSL và TCP/IP Application Application SSL TCP TCP IP IP ứng dụng bình thường ứng dụng với SSL  SSL cung cấp application programming interface (API) cho các ứng dụng  thư viện/lớp C và Java SSL có sẵn An ninh mạng 8-62
  63. Có thể làm những điều như là PGP: - KA - - KA(H(m)) m H(. ) KA(. ) KS + KS(. ) m + Internet + KS KB(. ) + K (K ) + B S KB  nhưng muốn gửi các dòng byte và dữ liệu tương tác  muốn 1 bộ các khóa bí mật cho toàn bộ kết nối  muốn trao đổi chứng nhận như là 1 phần của giao thức: giai đoạn bắt tay (handshake phase) An ninh mạng 8-63
  64. Toy SSL: một kênh an toàn đơn giản  Bắt tay (handshake): Alice và Bob dùng chứng nhận (certificate) và khóa riêng của họ để xác minh lẫn nhau và trao đổi trao đổi các bí mật được chia sẽ  Phát sinh khóa (key derivation): Alice và Bob dùng bí mật (secret ) được chia sẽ để suy ra tập các khóa  Truyền dữ liệu (data transfer): dữ liệu được truyền được chia thành chuỗi các record  Đóng kết nối (connection closure): các thông điệp đặc biệt để đóng kết nối một cách an toàn An ninh mạng 8-64
  65. Toy: bắt tay đơn giản MS: master secret EMS: encrypted master secret An ninh mạng 8-65
  66. Toy: phát sinh khóa  Được coi là không bảo mật khi dùng chung khóa cho nhiều hơn 1 hoạt động mật mã . Sử dụng các khóa khác nhau cho message authentication code (MAC) và mã hóa  4 khóa: . Kc = khóa mã hóa cho dữ liệu được gửi từ client tới server . Mc = khóa MAC cho dữ liệu được gửi từ client tới server . Ks = khóa mã hóa cho dữ liệu được gửi từ server tới client . Ms = khóa MAC cho dữ liệu được gửi từ server tới client  Các khóa được phát sinh từ hàm phát sinh khóa (key derivation function (KDF)) . Lấy bí mật chính yếu (master secret) và (có thể) một số dữ liệu ngẫu nhiên bổ sung và tạo ra các khóa An ninh mạng 8-66
  67. Toy: data records  Tại sao không mã hóa dữ liệu trong luồng liên tục (constant stream ) khi chúng ta viết nó vào TCP? . Chúng ta nên đặt MAC ở đâu? Nếu tại điểm cuối, thì không có toàn vẹn thông điệp cho tới khi tất cả dữ liệu được xử lý. . Ví dụ với các thông điệp nhanh (instant messaging), làm thế nào chúng ta có thể kiểm tra toàn vẹn (integrity check) trên tất cả các byte được gửi trước khi hiển thị?  Thay vào đó, phá vỡ dòng (stream) trong loạt các records . Mỗi record mang 1 MAC . Bên nhận có thể hoạt động trên mỗi record khi chúng đến  Vấn đề: trong record, bên nhận cần phân biệt MAC từ dữ liệu . Muốn dùng record với chiều dài có thể thay đổi được length data MAC An ninh mạng 8-67
  68. Toy: số thứ tự (sequence numbers)  Vấn đề: kẻ tấn công (attacker) có thể bắt và tái tạo lại record hoặc sắp xếp lại các record  Giải pháp: đặt số thứ tự (sequence number) vào trong MAC: . MAC = MAC(Mx, thứ tự||dữ liệu) . Ghi nhớ: không có trường số thứ tự  Vấn đề: kẻ tấn công có thể tái tạo lại tất cả các record  Giải pháp: sử dụng nonce An ninh mạng 8-68
  69. Toy: thông tin điều khiển (control information)  Vấn đề: truncation attack: . Kẻ tấn công giả mạo segment đóng kết nối TCP . 1 hoặc cả 2 bên nghĩ rằng có ít dữ liệu hơn thực tế phải có.  Giải phảp: các loại record, với 1 loại cho việc đóng kết nối . Loại 0 cho dữ liệu; loại 1 cho đóng kết nối  MAC = MAC(Mx, số thứ tự||loại||dữ liệu) length type data MAC An ninh mạng 8-69
  70. Toy SSL: Tóm tắt bob.com encrypted An ninh mạng 8-70
  71. Toy SSL chưa hoàn tất  Các trường dài bao nhiêu?  Các giao thức mã hóa nào?  Muốn thương lượng hay không? . Cho client và server hỗ trợ các thuật toán mã hóa khác nhau . Cho phép client và server chọn cùng thuật toán cụ thể trước khi truyền dữ liệu An ninh mạng 8-71
  72. Bộ mật mã SSL (SSL cipher suite)  Bộ mật mã (cipher suite) Các thuật toán đồng bộ SSL . Thuật toán khóa công khai thông dụng (common SSL (public-key algorithm) symmetric ciphers) . Thuật toán mã hóa đối xứng . DES – Data Encryption (symmetric encryption algorithm) Standard: khối . Thuật toán MAC . 3DES – Triple strength: khối  SSL hỗ trợ một vài bộ mật . RC2 – Rivest Cipher 2: khối mã (cipher suites) (block) . RC4 – Rivest Cipher 4: luồng  Thương lượng: client, (stream) server đồng ý bộ mật mã Mã hóa khóa công khai SSL . client đề nghị sự lựa chọn (SSL Public key encryption) . server chọn 1 . RSA An ninh mạng 8-72
  73. SSL thực tế: bắt tay (1) handshake Mục đích 1. Xác thực server 2. Thương lượng: đồng ý về các thuật toán mã hóa 3. Thiết lập các khóa (keys) 4. Xác thực client (tùy chọn) An ninh mạng 8-73
  74. SSL thực tế: bắt tay (2) 1. client gửi danh sách các thuật toán mà nó hỗ trợ, cùng với client nonce 2. server chọn thuật toán từ danh sách đó; gửi trở lại: sự lựa chọn + chứng nhận (certificate ) + server nonce 3. client xác minh chứng nhận (certificate), lấy ra khóa công khai của server, tạo ra pre_master_secret, mã hóa bằng khóa công khai của server, gửi trở lại server 4. client và server độc lập tính toán các khóa mã hóa và khóa MAC từ pre_master_secret và nonces 5. client gửi MAC của tất cả các thông điệp bắt tay 6. server gửi MAC của tất các các thông điệp bắt tay An ninh mạng 8-74
  75. SSL thực tế: bắt tay (3) Các bước cuối cùng của “phần 2” bảo vệ quá trình bắt tay khỏi giả mạo  client thường đề nghị 1 dãy các thuật toán, một số trong đó mạnh và một số trong đó yếu  man-in-the middle có thể bỏ đi các thuật toán mạnh hơn từ danh sách  Các bước cuối cùng trong “phần 2” ngăn chặn được điều này . Các thông điệp cuối cùng trong “phần 2” được mã hóa An ninh mạng 8-75
  76. SSL thực tế: bắt tay (4)  Tại sao 2 nonce ngẫu nhiên?  Giả sử Trudy “đánh hơi” tất cả các thông điệp giữa Alice và Bob  Ngày hôm sau, Trudy thiết lập kết nối TCP với Bob, gửi cùng số thứ tự chính xác của các record (exact same sequence of records) . Bob (Amazon) nghĩ là Alice đã tạo 2 đơn đặt hàng riêng biệt cho cùng 1 món hàng . Giải pháp: Bob gửi nonce ngẫu nhiên khác nhau cho mỗi kết nối. Điều này sẽ tạo ra các khóa mã hóa khác nhau ở 2 ngày . Thồng điệp của Trudy sẽ thất bại khi Bob kiểm tra tính toán vẹn của dữ liệu An ninh mạng 8-76
  77. Giao thức SSL record Dữ liệu data data MAC MAC fragment fragment record encrypted record encrypted header data and MAC header data and MAC record header: kiểu nội dung (content type); version; length MAC: bao gồm số thứ tự, khóa MAC Mx fragment: mỗi SSL fragment 214 bytes (~16 Kbytes) An ninh mạng 8-77
  78. Định dạng SSL record 1 byte 2 bytes 3 bytes content type SSL version length data MAC Dữ liệu và MAC được mã hóa (thuật toán đối xứng) An ninh mạng 8-78
  79. Kết nối SSL thật tế Tất cả mọi thứ từ nay trở đi được mã hóa TCP FIN follows An ninh mạng 8-79
  80. Phát sinh khóa (Key derivation)  client nonce, server nonce, và pre-master secret đưa vào trong pseudo random-number generator. . Sinh ra master secret  master secret và các nonce mới đưa vào trong random- number generator khác: “khối khóa” (“key block”) . Vì sự khôi phục (because of resumption): TBD  Khối khóa (key block) được chia nhỏ: . Khóa client MAC . Khóa server MAC . Khóa mã hóa phía client . Khóa mã hóa phía server . Vector khởi tạo phía client (client initialization vector (IV)) . Vector khởi tạo phía server (server initialization vector (IV)) An ninh mạng 8-80
  81. Chương 8 lộ trình 8.1 an toàn mạng là gì? 8.2 các nguyên lý mật mã (cryptography) 8.3 toàn vẹn thông điệp (Message integrity), chứng thực (authentication) 8.4 an toàn thư điện tử 8.5 an toàn kết nối TCP: SSL 8.6 An toàn tầng Network: IPsec 8.7 An toàn mạng không dây 8.8 Operational security: tường lửa và hệ thống phát hiện xâm nhập (IDS) An ninh mạng 8-81
  82. Bảo mật tầng mạng là gì? Giữa 2 thực thể mạng (network entities):  Đối tượng gửi sẽ mã hóa payload của datagram, payload có thể là: . TCP hoặc UDP segment, thông điệp ICMP, thông điệp OSPF .  Tất cả dữ liệu được gửi từ 1 đối tượng này tới một đối tượng khác sẽ được ẩn: . Trang web, thư điện tử, truyền tập tin P2P, các packet TCP SYN An ninh mạng 8-82
  83. Mạng riêng ảo Virtual Private Networks (VPNs) Động cơ thực hiện:  các tổ chức thường muốn các mạng riêng vì lý do bảo mật. . Chi phí: các router riêng biệt, các đường kết nối, cơ sở hạ tầng DNS. VPN: lưu lượng giữa các văn phòng của tổ chức được gửi trên Internet công cộng thay vì . Được mã hóa trước khi đi vào Internet công cộng . Riêng biệt một cách logic từ các lưu lượng khác An ninh mạng 8-83
  84. Mạng riêng ảo Internet laptop công cộng w/ IPsec Nhân viên bán hàng ở trong khách sạn router w/ router w/ IPv4 and IPsec IPv4 và IPsec Văn phòng chi nhánh Trụ sở chính An ninh mạng 8-84
  85. Dịch vụ IPsec  Toàn vẹn dữ liệu  Xác thực nguồn gốc (origin authentication)  Ngăn chặn tấn công replay (replay attack prevention)  Tính bí mật (confidentiality)  2 giao thức cung cấp các mô hình dịch vụ khác nhau: . AH . ESP An ninh mạng 8-85
  86. IPsec transport mode IPsec IPsec  Datagram IPsec được phát ra và được nhận bởi hệ thống đầu cuối  Bảo vệ các giao thức tầng trên An ninh mạng 8-86
  87. IPsec – tunneling mode IPsec IPsec IPsec IPsec  Các router cạnh nhận  Các host nhận biết biết Ipsec (edge IPsec (hosts IPsec- routers IPsec-aware) aware) An ninh mạng 8-87
  88. 2 giao thức IPsec  Giao thức Authentication Header (AH) . Cung cấp xác thực nguồn (source authentication) và toàn vẹn dữ liệu (data integrity) nhưng không cung cấp tính bí mật (not confidentiality)  Encapsulation Security Protocol (ESP) . Cung cấp xác thực nguồn (source authentication), toàn vẹn dữ liệu (data integrity), và bí mật(confidentiality) . Được sử dụng rộng rãi hơn AH An ninh mạng 8-88
  89. 4 sự kết hợp là có thể! Host mode Host mode với AH với ESP Tunnel mode Tunnel mode với AH với ESP Thông dụng và quan trọng nhất An ninh mạng 8-89
  90. Security associations (SAs)  Trước khi gửi dữ liệu, “security association (SA)” được thiết lập từ đối tượng gửi tới đối tượng nhận . SA là một chiều: chỉ cho 1 hướng  ending, receiving cho phép duy trì thông tin tình trạng của SA (state information about SA) . Nhắc lại: các điểm đầu cuối TCP cũng duy trì thông tin về trạng thái . IP là kiểu không kết nối (connectionless); IPsec là kiểu hướng kết nối (connection-oriented)!  bao nhiêu SA trong VPN giữa trụ sở trung tâm, văn phòng chi nhánh, và n nhân viên bán hàng đang di động? An ninh mạng 8-90
  91. Vì dụ SA từ R1 tới R2 Trụ sở trung tâm Internet Văn phòng chi nhánh 200.168.1.100 193.68.2.23 R1 security association R2 172.16.1/24 172.16.2/24 Các store của R1 cho SA:  Định danh SA 32-bit (32-bit SA identifier): Security Parameter Index (SPI)  SA interface nguồn (200.168.1.100)  SA interface đích (193.68.2.23)  Loại mã hóa được sử dụng (ví du: 3DES with CBC)  Khóa mã hóa  Loại kiểm tra tính toàn vẹn dữ liệu được sử dụng (ví dụ: HMAC với MD5)  Khóa xác minh/chứng thực (authentication key) An ninh mạng 8-91
  92. Security Association Database (SAD)  Đầu cuối nắm giữ tình trạng SA trong in security association database (SAD), nơi mà nó có thể xác định vị trí của SA trong quá trình sử lý.  Với n nhân viên bán hàng, 2 + 2n SA trong SAD của R1  Khi gửi datagrame IPsec, R1 truy cập SAD để xác định cách xử lý datagram này.  Khi datagram IPsec đến R2, R2 kiểm tra SPI trong datagram IPsec , xác định SPI trong SAD, và xử lý datagram một cách phù hợp. An ninh mạng 8-92
  93. IPsec datagram Bây giờ, tập trung vào tunnel mode với ESP “enchilada” được chứng thực Được mã hóa new IP ESP original Original IP ESP ESP header hdr IP hdr datagram payload trl auth Seq pad next SPI padding # length header An ninh mạng 8-93
  94. Chuyện gì sẽ xảy ra? Trụ sở chính Internet Văn phòng chi nhánh 200.168.1.100 193.68.2.23 R1 security association R2 172.16.1/24 172.16.2/24 “enchilada” được chứng thực Được mã hóa new IP ESP original Original IP ESP ESP header hdr IP hdr datagram payload trl auth Seq pad next SPI padding # length header An ninh mạng 8-94
  95. R1: chuyển đổi datagram ban đầu thành datagram IPsec  Gắn thêm vào đằng sau của datagram ban đầu(cái mà bao gồm các trường header ban đầu!) một trường “ESP trailer”.  Mã hóa kết quả bằng cách sử dụng thuật toán và các khóa được chỉ định bởi SA.  Gắn thêm “ESP header” vào đằng trước của đại lượng đã được mã hóa này, tạo ra “enchilada”.  Tạo ra MAC xác thực trên toàn bộ enchilada này, bằng cách sử dụng thuật toán và khóa được chỉ định trong SA;  Gắn thêm MAC vào cuối của enchilada, hình thành nên payload;  Tạo ra brand new IP header, với tất cả các trường IPv4 cũ, cái mà nó gắn vào trước khi payload. An ninh mạng 8-95
  96. Bên trong enchilada: “enchilada” được chứng thực Được mã hóa new IP ESP original Original IP ESP ESP header hdr IP hdr datagram payload trl auth Seq pad next SPI padding # length header  ESP trailer: đệm cho mã hóa khối (Padding for block ciphers)  ESP header: . SPI, do đối tượng nhận biết được cái gì để làm . Số thứ tự (Sequence number), để ngăn chặn các cuộc tấn công replay  MAC trong trường chứng thực ESP (ESP auth field) được tạo ra với khóa bí mật được chia sẽ An ninh mạng 8-96
  97. Số thứ tự IPsec (IPsec sequence numbers)  Với SA mới, bên gửi khởi tạo số thứ tự tới 0  Mỗi lần datagram được gửi trên SA: . Bên gửi tăng số thứ tự . Đặt giá trị trong trường số thứ tự (seq # field)  Mục tiêu: . Ngăn chặn kẻ tấn công đánh hơi (sniffing ) và tái tạo (replaying ) packet . Việc nhận các packet IP được chứng thực giống hệt nhau có thể làm gián đoạn dịch vụ  Cách thức: . Điểm đích kiểm tra các bản sao (destination checks for duplicates) . Không theo dõi tất cả các gói được nhận; thay vào đó sử dụng cửa sổ (window) An ninh mạng 8-97
  98. Security Policy Database (SPD)  Chính sách: với datagram, đối tượng gửi cần biết có hay không nên dùng IPsec  Cũng cần biết SA nào để sử dụng . Có thể sử dụng: địa chỉ IP nguồn và đích; số giao thức (protocol number)  Thông tin trong SPD chỉ ra “cái” để làm với datagram đến  Thông tin trong SAD chỉ ra “cách” để thực hiện nó An ninh mạng 8-98
  99. Tóm tắt: các dịch vụ IPsec  Giả sử Trudy ở một nơi nào đó ở giữa R1 và R2. Cô ta không biết các khóa. . Trudy có khả năng thấy được nội dung gốc của hay datagram hay không? Địa chỉ IP nguồn và đích, giao thức tầng transport, cổng của ứng dụng thì như thế nào? . Các bit “giả” (flip bits) không bị phát hiện? . Giả mạo R1 bằng cách dùng địa chỉ IP của R1? . Tái tạo lại datagram? An ninh mạng 8-99
  100. IKE: Internet Key Exchange  Ví dụ trước đó: sự thiết lập “thủ công” của IPsec SAs trong các đầu cuối IPsec: Ví dụ SA SPI: 12345 Source IP: 200.168.1.100 Dest IP: 193.68.2.23 Protocol: ESP Encryption algorithm: 3DES-cbc HMAC algorithm: MD5 Encryption key: 0x7aeaca HMAC key:0xc0291f  Phát sinh khóa một cách thủ công là không thực tế cho VPN với 100 đầu cuối  Thay vào đó sử dụng IPsec IKE (Internet Key Exchange) An ninh mạng 8-100
  101. IKE: PSK và PKI  Sự chứng thực (authentication) (chứng minh bạn là ai) một trong 2 cách sau . pre-shared secret (PSK) hoặc . Với PKI (các khóa công khai/riêng và chứng nhận (certificates)).  PSK: cả 2 bên bắt đầu với secret . Chạy IKE để xác thực lẫn nhau và để tạo ra IPsec SAs (1 cho mỗi hướng), bao gồm các khóa mã hóa và xác thực  PKI: cả 2 bên bắt đầu với cặp khóa công khai/riêng, chứng nhận (certificate) . Chạy IKE để xác thực lẫn nhau, có được IPsec SAs (1 cho mỗi hướng). . Tương tự như bắt tay (handshake) trong SSL. An ninh mạng 8-101
  102. Các pha IKE (IKE phases)  IKE có 2 pha . Pha 1: thiết lập IKE SA 2 hướng • Ghi chú: IKE SA khác với IPsec SA • Còn gọi là ISAKMP security association . pha 2: ISAKMP được sử dụng để thương lượng cặp IPsec của SAs một cách an toàn  Pha 1 có 2 mode: aggressive mode và main mode . aggressive mode dùng ít thông điệp hơn . main mode cung cấp sự bảo vệ đồng nhất và linh hoạt hơn An ninh mạng 8-102
  103. Tóm tắt IPsec  Trao đổi thông điệp IKE cho các thuật toán, khóa bí mật và SPI number  Một trong 2 giao thức AH hoặc ESP (hoặc cả hai) . AH cung cấp tính toàn vẹn dữ liệu và xác thực nguồn . Giao thức ESP (với AH) cung cấp thêm mã hóa  Các peer IPsec có thể là 2 hệ thống đầu cuối, 2 router/firewall, hoặc là 1 router/firewall và 1 hệ thống đầu cuối An ninh mạng 8-103
  104. Chương 8 lộ trình 8.1 an toàn mạng là gì? 8.2 các nguyên lý mật mã (cryptography) 8.3 toàn vẹn thông điệp (Message integrity), chứng thực (authentication) 8.4 an toàn thư điện tử 8.5 an toàn kết nối TCP: SSL 8.6 An toàn tầng Network: IPsec 8.7 An toàn mạng không dây 8.8 Operational security: tường lửa và hệ thống phát hiện xâm nhập (IDS) An ninh mạng 8-104
  105. Mục tiêu thiết kế WEP  Mật mã khóa đối xứng (symmetric key crypto) . Tính bí mật (confidentiality) . Xác thực host đầu cuối . Toàn vẹn dữ liệu (data integrity)  Tự đồng bộ hóa (self-synchronizing): mỗi packet được mã hóa riêng biệt . Packet và khóa được mã hóa, có thể giải mã; có thể tiếp tục giải mã các packet khi packet trước đó bị mất (không giống như Cipher Block Chaining (CBC) trong mật mã khối (block ciphers))  Hiệu suất . Có khả năng thực hiện trong phần cứng hoặc phần mềm (hardware or software) An ninh mạng 8-105
  106. Nhắc lại: Mật mã dòng đối xứng (symmetric stream ciphers) keystream khóa Dòng khóa (keystream) generator  Kết hợp mỗi byte của keystream với byte của plaintext để có được ciphertext: . m(i) = ith unit of message . ks(i) = ith unit of keystream . c(i) = ith unit of ciphertext . c(i) = ks(i)  m(i) ( = exclusive or) . m(i) = ks(i)  c(i)  WEP dùng RC4 An ninh mạng 8-106
  107. Mật mã dòng và độc lập packet Stream cipher & packet independence  Nhắc lại mục tiêu: mỗi packet được mã hóa riêng biệt  Nếu đối với frame n+1, sử dụng keystream từ chỗ mà kết thúc (left off) cho frame n, thì mỗi frame sẽ không được mã hóa độc lập . Cần biết nơi mà chúng ta đã kết thúc cho packet n  Hướng tiếp cận của WEP: khởi tạo keystream với khóa (key) + IV mới cho mỗi packet: keystream Key+IV keystream packet generator packet An ninh mạng 8-107
  108. Mã hóa WEP(I) (WEP encryption )  Bên gửi tính Giá trị kiểm tra toàn vẹn (Integrity Check Value (ICV)) trên dữ liệu . 4 byte hash/CRC cho toàn vẹn dữ liệu  Mỗi bên có khóa chia sẽ 104-bit  Bên gửi tạo 24 bit initialization vector (IV), gắn thêm vào khóa : có được khóa 128 bit  Bên gửi cũng gắn thêm keyID (trong trường 8 bit)  Khóa 128 bit được đưa vào trong pseudo random number generator để tạo ra keystream  Dữ liệu trong frame + ICV được mã hóa với RC4: . B\bytes của keystream được XOR với các byte của dữ liệu và ICV . IV & keyID được gắn vào dữ liệu được mã hóa để tạo ra payload . payload được đưa vào trong 802.11 frame Được mã hóa Key IV Dữ liệu ICV ID MAC payload An ninh mạng 8-108
  109. Mã hóa WEP(2) IV (per frame) KS: 104-bit key sequence generator secret ( for given KS, IV) symmetric IV IV IV IV IV IV k1 k2 k3 kN kN+1 kN+1 802.11 WEP-encrypted data key IV plaintext header plus ICV frame data d1 d2 d3 dN CRC1 CRC4 plus CRC c1 c2 c3 cN cN+1 cN+4 FigureIV m7.8-ớnew1:i cho 802.11 m WEPỗi frame protocol An ninh mạng 8-109
  110. Tổng quan về giải mã WEP Được mã hóa Key IV Dữ liệu ICV ID MAC payload  Bên nhận lấy ra IV  Đưa IV, khóa bí mật chia sẽ vào trong pseudo random generator, tạo được keystream  Thực hiện XOR keystream với dữ liệu được mã hóa để giải mã dữ liệu + ICV  Xác minh tính toàn vẹn dữ liệu với ICV . Ghi chú: hướng tiếp cận toàn vẹn dữ liệu ở phần này khác với MAC (message authentication code) và chữ ký (sử dụng PKI). An ninh mạng 8-110
  111. Xác thực điểm cuối với nonce Nonce: số (R) chỉ được sử dụng “1 lần trong đời” Làm thế nào để chứng minh Alice “sống”: Bob gửi nonce R cho Alice. Alice phải trả về R, được mã hóa với khóa bí mật được chia sẽ “tôi là Alice” R K (R) Alice còn sống, và A-B chỉ có Alice biết khóa để mã hóa nonce, vì vậy đây chắc chắn là Alice! An ninh mạng 8-111
  112. Chứng thực WEP (WEP authentication) Yêu cầu chứng thực nonce (128 bytes) nonce được mã hóa bằng khóa chia sẽ Thành công nếu dữ liệu được giải mã bằng với nonce Ghi chú:  Không phải tất cả các AP đều làm điều đó, thậm chí nếu WEP đang được sử dụng  AP chỉ ra có hay không chứng thực là cần thiết trong frame beacon  Được thực hiện trước khi có thể kết nối với nhau (association) An ninh mạng 8-112
  113. “Bẻ gãy” mã hóa 802.11 WEP Lỗ hỏng bảo mật:  24-bit IV, một IV cho mỗi frame, -> IV cuối cùng cũng được sử dụng lại  IV được truyền ở dạng văn bản gốc (plaintext) -> việc sử dụng lại IV bị phát hiện Tấn công: . Trudy bảo Alice mã hóa văn bản gốc d1 d2 d3 d4 đã được biết trước IV . Trudy nhận ra: ci = di XOR ki IV . Trudy biết ci di, vì vậy có thể tính được ki IV IV IV . Trudy biết thứ tự khóa dùng để mã hóa là k1 k2 k3 . Lần tới nếu IV được sử dụng lại, Trudy có thể giải mã! An ninh mạng 8-113
  114. 802.11i: tăng cường bảo mật  Nhiều (mạnh hơn) dạng mã hóa có thể  Cung cấp phân phối khóa (key distribution)  Sử dụng server xác thực riêng biệt với access point An ninh mạng 8-114
  115. 802.11i: 4 giai đoạn (phase) hoạt động AP: access point STA: AS: wired client station Authentication network server 1 Khám phá các khả năng bảo mật 2 STA và AS xác thực lẫn nhau, cùng tạo ra Master Key (MK). AP đóng vai trò như là “đi qua” 3 STA suy ra AS suy ra Pairwise Master 3 PMK tương tự, Key (PMK) gửi tới AP 4 STA, AP dùng PMK để suy ra Temporal Key (TK) được sử dụng cho mã hóa thông điệp và toàn vẹn dữ liệu An ninh mạng 8-115
  116. EAP: extensible authentication protocol  EAP: client đầu cuối (thiết bị di động (mobile)) tới giao thức server xác thực (authentication server protocol)  EAP được gửi trên các đường kết nối (link) riêng biệt . Thiết bị di động tới AP (EAP trên LAN) . AP tới server xác thực (authentication server) (RADIUS trên UDP) wired network EAP TLS EAP EAP over LAN (EAPoL) RADIUS IEEE 802.11 UDP/IP An ninh mạng 8-116
  117. Chương 8 lộ trình 8.1 an toàn mạng là gì? 8.2 các nguyên lý mật mã (cryptography) 8.3 toàn vẹn thông điệp (Message integrity), chứng thực (authentication) 8.4 an toàn thư điện tử 8.5 an toàn kết nối TCP: SSL 8.6 An toàn tầng Network: IPsec 8.7 An toàn mạng không dây 8.8 Operational security: tường lửa và hệ thống phát hiện xâm nhập (IDS) An ninh mạng 8-117
  118. Tường lửa (Firewalls) Tường lửa Cách ly mạng nội bộ của tổ chức khỏi mạng Internet, cho phép một số packet đi qua và chặn những packet khác Mạng được Mạng Internet quản lý công cộng Được tin tưởng Không được tin tưởng Tường lửa An ninh mạng 8-118
  119. Tường lửa: tại sao Ngăn chặn tấn công từ chối dịch vụ (denial of service attacks):  SYN flooding: kẻ tấn công thiết lập nhiều kết nối TCP không có thật, không có nguồn cho các kết nối “thật sự” Ngăn chặn thay đổi/truy cập bất hợp pháp dữ liệu nội bộ  Ví dụ: kẻ tấn công thay đổi trang nhà của CIA bằng các thông tin khác Chỉ cho phép truy cập được uy quyền vào mạng bên trong  tập hợp các người dùng/host được ủy quyền 3 loại tường lửa  stateless packet filters  stateful packet filters  application gateways An ninh mạng 8-119
  120. Stateless packet filtering Packet đến có nên được phép vào bên trong mạng hay không? packet đi có thể rời khỏi hay không?  Mạng nội bộ được kết nối với Internet thông qua tường lửa router (router firewall)  router lọc từng packet (packet-by-packet), quyết định chuyển hoặc loại bỏ packet dựa trên: . Địa chỉ IP nguồn, địa chỉ IP đích . Số hiệu cồng TCP/UDP nguồn và đích . Loại thông tin ICMP . TCP SYN và các bit ACK An ninh mạng 8-120
  121. Stateless packet filtering: ví dụ  Ví dụ 1: chặn các datagram vào và ra với trường giao thức IP = 17 và với 1 trong 2 cổng nguồn hoặc đích = 23 . Kết quả: tất cả các luồng (flow) UDP vào, ra và các kết nối telnet bị chặn lại  Ví dụ 2: chặn các segment TCP trờ về với ACK=0. . Kết quả: ngăn chặn các client bên ngoài tạo các kết nối TCP với các client bên trong, nhưng cho phép các client bên trong kết nối ra bên ngoài. An ninh mạng 8-121
  122. Stateless packet filtering: ví dụ (tt) Chính sách (Policy) Thiết lập tường lửa (Firewall Setting) Không truy cập web bên ngoài Loại bỏ tất cả các packet đi ra ngoài tới bất kỳ địa chỉ IP nào với cổng 80 Không cho các kết nối TCP đi Loại bỏ tất cả các TCP SYN packet vào, chỉ ngoại trừ đối với Web đi vào tới bất kỳ địa chỉ IP nào ngoại server công cộng của tổ chức. trừ địa chỉ 130.207.244.203, cổng 80 Ngăn chặn Web-radios khỏi việc Loại bỏ tất cả các UDP packet đi lãng phí băng thông. vào – ngoại trừ DNS và router broadcasts. Ngăn chặn mạng của bạn khỏi Loại bỏ tất cả các ICMP packets việc đang được sử dụng cho tấn đang đi tới 1 địa chỉ “broadcast” (ví công smurf DoS. dụ 130.207.255.255). Ngăn chặn mạng của bạn khỏi Loại bỏ tất cả lưu lượng đã hết hạn tracerout ICMP TTL đi ra An ninh mạng 8-122
  123. Access Control Lists  ACL: bảng quy tắc, được áp dụng từ trên xuống dưới cho các packet đến (incoming packets): cặp (hành động , điều kiện) ((action, condition)) Hành Địa chỉ Địa chỉ Cổng flag Giao thức Cổng đích động nguồn đích nguồn bit Cho phép outside of any 222.22/16 TCP > 1023 80 (allow) 222.22/16 Cho phép outside of 222.22/16 TCP 80 > 1023 ACK (allow) 222.22/16 Cho phép outside of 222.22/16 UDP > 1023 53 (allow) 222.22/16 Cho phép outside of 222.22/16 UDP 53 > 1023 (allow) 222.22/16 Loại bỏ all all all all all all (deny) An ninh mạng 8-123
  124. Stateful packet filtering  stateless packet filter: . Thừa nhận các packet mà “không hợp lý” (“make no sense”) ví dụ cổng đích = 80, ACK bit set, ngay cả khi không có kết nối TCP được thiết lập: source dest source dest flag action protocol address address port port bit allow outside of 222.22/16 TCP 80 > 1023 ACK 222.22/16  stateful packet filter: theo dõi trình trạng của mỗi kết nối TCP . Theo dõi thiết lập kết nối (SYN), teardown (FIN): xác định xem các packet vào, ra “hợp lý” (“makes sense”) hay không . Các kết nối hết thời gian hoạt động (inactive) tại tường lửa: không còn thừa nhận các packet của kết nối đó nữa 8-124 An ninh mạng
  125. Stateful packet filtering  ACL được tăng cường để chỉ ra sự cần thiết kiểm tra bảng tình trạng kết nối trước khi thừa nhận packet Địa chỉ Giao Cổng flag check action Địa chỉ đích Cổng đích nguồn thức nguồn bit conxion outside of any allow 222.22/16 TCP > 1023 80 222.22/16 allow outside of 222.22/16 TCP 80 > 1023 ACK x 222.22/16 outside of allow 222.22/16 UDP > 1023 53 222.22/16 allow outside of 222.22/16 x UDP 53 > 1023 222.22/16 deny all all all all all all An ninh mạng 8-125
  126. gateway-to-remote Application gateways host telnet session host-to-gateway telnet session  Lọc các packet trên dữ liệu ứng dụng (application data) application router và filter cũng như trên các trường. gateway  Ví dụ: cho phép lựa chọn các người dùng bên trong để telnet ra bên ngoài. 1. yêu cầu tất các người dùng telnet phải telnet thông qua gateway. 2. Đối với người dùng được ủy quyền (authorized users), gateway sẽ thiết lập kết nối telnet tới host đích. Gateway sẽ chuyển tiếp dữ liệu giữa 2 kết nối 3. bộ lọc router ngăn chặn tất cả các kết nối telnet mà không xuất phát từ gateway An ninh mạng 8-126
  127. Application gateways  Lọc các packet trên dữ ệ ứ ụ li u ng d ng (application host-to-gateway telnet session application data) cũng như trên các gateway trường. router and filter  Ví dụ: cho phép lựa chọn các người dùng bên trong ể gateway-to-remote đ telnet ra bên ngoài. host telnet session 1. yêu cầu tất các người dùng telnet phải telnet thông qua gateway. 2. Đối với người dùng được ủy quyền (authorized users), gateway sẽ thiết lập kết nối telnet tới host đích. Gateway sẽ chuyển tiếp dữ liệu giữa 2 kết nối 3. bộ lọc router ngăn chặn tất cả các kết nối telnet mà không xuất phát từ gateway An ninh mạng 8-127
  128. Hạn chế của tường lửa và gateway  Giả mạo (IP spoofing):  Bộ lọc thường sử dụng router không thể biết có hay tất cả hoặc không có không dữ liệu “thật sự” đến chính sách nào (all or từ nguồn được đòi hỏi nothing policy) (claimed source)  Cân bằng (tradeoff):  Nếu nhiều nguồn của ứng dụng mức độ giao tiếp với cần sử lý riêng biệt, thì mỗi thế giới bên ngoài, mức cái sẽ có application gateway độ bảo mật riêng  Nhiều site được bảo vệ  Phần mềm phải biết làm cách cao vận bị tấn công nào để liên lạc với gateway. . Ví dụ: phải thiết lập địa chỉ IP của proxy trong trình duyệt Web An ninh mạng 8-128
  129. Hệ thống phát hiện xâm nhập (Intrusion detection systems)  Lọc packet (packet filtering): . Chỉ hoạt động trên header của TCP/IP . Không có kiểm tra tương quan giữa các phiên (sessions)  IDS: intrusion detection system (Hệ thống phát hiện xâm nhập) . Kiểm tra sâu vào packet (deep packet inspection): xem nội dung của packet (ví dụ: kiểm tra các chuỗi ký tự trong packet dựa vào cơ sở dữ liệu virus đã biết, các chuỗi tấn công (attack strings)) . Xem xét mối tương quan giữa nhiều packet • Quét cổng (port scanning) • network mapping • Tấn công từ chối dịch vụ (DoS attack) An ninh mạng 8-129
  130. Hệ thống phát hiện xâm nhập  Nhiều IDS: loại khác nhau thì kiểm tra tại các vị trí khác nhau Tường lửa Mạng nội bộ Internet IDS Web DNS sensors server FTP server server Khu vực phi quân sự (demilitarized zone) An ninh mạng 8-130
  131. Bảo mật mạng (tóm tắt) Các kỹ thuật cơ bản . Mật mã (cryptography) (đối xứng và công khai) . Toàn vẹn thông điệp (message integrity) . Xác thực điểm cuối (end-point authentication) . Được sử dụng trong nhiều kịch bản bảo mật khác nhau . An toàn thư điện tử (secure email) . An toàn tầng transprot (secure transport) (SSL) . IP sec . 802.11 Bảo mật trong hoạt động (operational security): tường lửa và IDS Network Security 8-131