Bài giảng An ninh mạng - Chương 7: Secure Hash Signature Standard - Trần Trung Dũng

pdf 47 trang hoanguyen 3371
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An ninh mạng - Chương 7: Secure Hash Signature Standard - Trần Trung Dũ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_ninh_mang_chuong_7_secure_hash_signature_standa.pdf

Nội dung text: Bài giảng An ninh mạng - Chương 7: Secure Hash Signature Standard - Trần Trung Dũng

  1. PGP, IPSec, và SSL/TLS Trần Trung Dũng
  2. Chủ đề hôm nay • PGP: một giải pháp an toàn cho email • Vấn đề bảo mật của PGP • IPSec: bảo mật ở mức packet • Bảo mật ở tầng Transport (SSL/TLS)
  3. An ninh cho các ứng dụng Internet • Ba yếu tố quan trọng trong vấn đề an ninh của các ứng dụng trên internet – Chứng thực (authentication): xác định chính xác nơi gửi và nội dung thông điệp không bị thay đổi – Tin cậy (confidentiality): nội dung không để cho các thành phần không liên quan có thể xem được. – Quản trị khóa (key management)
  4. • Chứng thực: có thể sử dụng phương pháp mã hóa khóa công cộng, hoặc message digest đã mã hóa hoặc MAC (message authentication codes) • Tin cậy: có thể sử dụng phương pháp mã hóa với khóa bí mật chung
  5. OSI Protocol Stack email, Web, NFS application presentation RPC session TCP transport IP network Ethernet data link physical slide 5
  6. Data Formats application message layer Application data transport TCP TCP TCP segment layer header data header data header data network IP TCP packet layer header header data data link Ethernet IP TCP Ethernet frame layer header header header data trailer slide 6
  7. Tầng Network
  8. Tầng Transport
  9. Tầng Application
  10. An toàn ở tầng Application – PGP cho ứng dụng thư điện tử • PGP: Pretty Good Privacy. Được đề xuất đầu tiên bởi Phil Zimmerman. Hiện nay là một chuẩn mở. • PGP có thể sử dụng để bảo mật dữ liệu (lưu trữ dài hạn). Nhưng nó được sử dụng chính trong email. • PGP gồm 5 dịch vụ: chứng thực, tin cậy, nén, tương thích, phân đoạn
  11. Các dịch vụ của PGP 1. Chứng thực (authentication): bên gửi phải kèm chữ kí điện tử. Ví dụ: – Sử dụng SHA-1 để tạo 160 bit message digest (MD) – MD được mã hóa dùng private key (RSA) rồi kèm vào email – Bên nhận sẽ dùng public key của bên gửi để giải mã MD – So sánh MD trên với MD tạo ra từ email nhận
  12. 2. Tin cậy (confidentiality): người dùng có thể chọn lựa 1 trong 3 block-cipher: CAST-128, IDEA, hoặc 3DES. Mặc định là CAST-128. – CAST-128: block 64 bit và khóa trong khoảng 40-128 bit. – IDEA: block 64 bit và khóa 128 bit. – Áp dụng Cipher Feedback Mode (CFB) cho block cipher – Tạo session key 128 bit riêng biệt cho mỗi email – Sử dụng RSA trao đổi session key – Email được mã hóa bằng session key, rồi mã tiếp bằng public key bên nhận
  13. • Nén: mặc định PGP nén email sau khi đã được gắn chữ kí, nhưng trước khi mã hóa. Sử dụng thuật toán ZIP • Tương thích: sau khi nén thì dữ liệu ở dạng chuỗi bit. Mạng máy tính thì lại truyền thông điệp theo đơn vị kí tự. cần chuyển dữ liệu nhị phân sang chuỗi ASCII. – PGP sử dụng bộ encode radix 64 • Phân đoạn: nhiều dịch vụ mail giới hạn kích thước tối đa mỗi email. PGP có mô đun hỗ trợ phân đoạn và tích hợp lại các email lớn.
  14. Sử dụng PGP- Chỉ chứng thực
  15. PGP- chỉ quan tâm tin cậy
  16. PGP- Chứng thực + Tin cậy
  17. Bên nhận
  18. Vấn đề quản trị khóa trong PGP • PGP không dùng mô hình quản lý tập trung, ví dụ CA • PGP dựa vào mạng lưới tín nhiệm (web of trust) • Khóa công cộng của một ai đó sẽ được một người khác xác nhận (signed- bằng cách mã hóa khóa công cộng bằng khóa riêng của người đứng ra xác thực) • PGP bị vấn đề xã hội. Một người tham gia mới, chưa có quen ai sẽ rất khó tham gia mạng, vì không chứng thực đc.
  19. IPSec • Cung cấp an toàn ở mức packet • Khi an ninh được triển khai ở tầng network trong giao thức TCP/IP, thì không cần thiết để triển khai thêm an ninh ở tầng application • Chứng thực ở mức IP đảm bảo thông tin địa chỉ nguồn gửi. • Chứng thực ở mức IP: bằng cách thêm Authentication Header (AH) vào packet. • Tin cậy ở mức IP: bằng cách thêm Encapsulating Security Payload (ESP) vào các packets. • IPSec được dựng sẳn trong IPv6
  20. Cấu trúc AH
  21. AH • Trường Secure Parameter Index: lưu thông tin về public key, initialization vector, thuật toán mã hóa được dùng, • Trường Authentication Data: chứa 96 bit đầu tiên của MAC (Message Authentication Code). MAC có được từ việc áp dụng SHA-1 hoặc HMAC trên gói tin.
  22. IPSec: Encapsulation Security Payload (ESP) • ESP cung cấp chứng thực + tin cậy • ESP có thể mã hóa toàn gói tin (datagram) hoặc chỉ phần ở tầng transport (segment)
  23. IPSec: trao đổi khóa • Trước khi sử dụng IPSec thì hai bên phải trao đổi khóa bí mật • Khóa được trao đổi thông qua giao thức Internet Key Exchange (IKE) • IKE là kết hợp của ba giao thức khác: – The Internet Security Association and Key Management Protocol (ISAKMP): hỗ trợ nhiều phương pháp trao đổi khóa – The Oakley Key-Exchange Protocol: dựa trên thuật toán Diffie- Hellman – The SKEME protocol • Vì chi phí tính toán trong thuật toán DH cao clogging attack
  24. SSL/TLS: an ninh cho dịch vụ web • SSL được Netscape phát triển từ 1995. • SSL cung cấp dịch vụ an toàn ở tầng Transport • IETF (Internet Engineering Task Force) chuyển SSL version 3 thành chuẩn mở năm 1999, và gọi là TLS (Transport Layer Security) version 1.
  25. • SSL thật sự không phải là một giao thức đơn lẻ mà là một tập các giao thức. Và không phải trong 1 tầng mà là 2 tầng.
  26. SSL connection – SSL session • Session là một khoảng tgian gắn kết giữa client và server – Một session được tạo bởi SSL Handshaking Protocol – Một session gồm nhiều connections – Một session được đặc trưng bởi một tập các thông số an toàn, sử dụng cho toàn bộ connection trong session – Nhờ có session mà giảm đi số lần “bắt tay cho việc an toàn” ở mỗi connection
  27. SSL Record Protocol • Protocol này cung cấp: tin cậy (confidentiality) + toàn vẹn (Integrity) • Gồm 5 bước: – Chia nhỏ data – Nén – Tính MAC (xác thực) – Mã hóa – Thêm SSL Header
  28. SSL Record Protocol
  29. SSL Handshaking Protocol • Các thông tin về thuật toán dùng để nén, chứng thực, mã hóa là do SSL Handshaking Protocol cung cấp cho SSL Record Protocol. • SSL Handshake Protocol chịu trách nhiệm cho việc chứng thực giữa server và client • SSL Handshake làm trong 4 phase:
  30. • Phase 1: client gửi server client_hello – Version (version cao nhất mà client hiểu) – Random (nonces: number used once) – Session ID – Cipher Suite (danh sách thuật toán mã hóa client hỗ trợ) – Compression method (các thuật toán mã hóa được hỗ trợ) – Server trả lời server_hello, xác định thuật toán nén, chứng thực, mã hóa. – Cipher suite trong server_hello chứa 2 thông tin: 1. thuật toán trao đổi khóa (RSA hoặc Diffie-Hellman).2. Thông tin thứ 2 là chứa thuật toán chứng thực, chiều dài MAC, thuật toán mã hóa.
  31. • Phase 2. • Server gửi client certificate message • Certificate chứa 1 hoặc nhiều public key • Server_key_exchange message: ví dụ chứa các giá trị công bố trong thuật toán DH • Thông điệp cuối của phase 2 là server hello done
  32. • Phase 3. • Nếu có yêu cầu xác thực thì client gửi server certificate message. • Client gửi server client_key_exchange: có thể chứa session key được mã hóa bằng public key của server. • Bước cuối của phase này là client gửi certificate verify message. Để cung cấp thông tin certificate của client đã được xác thực bởi CA (signed by CA)
  33. • Phase 4. • Chứng thực hoàn thành và tạo nối kết an toàn giữa client và server. • Client gửi change_cipher_spec message để báo client cập nhật thông tin về mã hóa. • Client gửi finish message • Server cũng làm tương tự
  34. • Change Cipher Spec Protocol: cập nhật thông tin về thuật toán mã hóa, chứng thực đc sử dụng. • Alert protocol: quản lý các thông điệp quản trị SSL hiên tại giữa các bên liên quan. Các thông điệp này được bảo vệ bởi SSL Record Protocol.