Bài giảng An toàn mạng máy tính nâng cao - Chương 2: Các giao thức bảo mật - Nguyễn Duy
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An toàn mạng máy tính nâng cao - Chương 2: Các giao thức bảo mật - Nguyễn Duy", để 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:
bai_giang_an_toan_mang_may_tinh_nang_cao_chuong_2_cac_giao_t.pdf
Nội dung text: Bài giảng An toàn mạng máy tính nâng cao - Chương 2: Các giao thức bảo mật - Nguyễn Duy
- CHƯƠNG 2 CÁC GIAO THỨC BẢO MẬT ThS.Nguyễn Duy 2/28/17 [email protected]
- Nội dung 2 [email protected] Ø IP Security Ø Secure Socket Layer /Transport Layer Security Ø Pretty Good Privacy Ø Secure Shell 2/28/17
- Nội dung 3 [email protected] Ø IP Security Ø Secure Socket Layer /Transport Layer Security Ø Pretty Good Privacy Ø Secure Shell
- IP Security Tổng quan 4 [email protected] Ø Là một giao thức bảo mật chính tại lớp Mạng (Network Layer – OSI) hoặc lớp Internet (Internet Layer – TCP/IP). Ø IPsec là yếu tố quan trọng để xây dựng mạng riêng ảo (VPN – Virtual Private Networks). Ø Bao gồm các giao thức chứng thực, các giao thức mã hoá, các giao thức trao đổi khoá: Ø AH (Authentication header): được sử dụng để xác định nguồn gốc gói tin IP và đảm bảo tính toàn vẹn của nó. Ø ESP (Encapsulating Security Payload): được sử dụng để chứng thực và mã hoá gói tin IP (phần payload hoặc cả gói tin). Ø IKE (Internet key exchange): được sử dụng để thiết lập khoá bí mật cho người gởi và người nhận.
- IP Security – tt Tổng quan 5 [email protected] Ø Ứng dụng của IPsec: Ø Bảo mật kết nối giữa các chi nhánh văn phòng qua Internet. Ø Bảo mật truy cập từ xa qua Internet. Ø Thực hiện những kết nối Intranet và Extranet với các đối tác (Partners). Ø Nâng cao tính bảo mật trong thương mại điện tử.
- IP Security – tt Tổng quan 6 [email protected]
- IP Security – tt Tổng quan 7 [email protected] Ø Ví dụ minh hoạ: Ø Khi Alice muốn giao tiếp với Bob sử dụng IPsec, Alice trước tiên phải chọn một tập hợp các giải thuật mã hóa và các thông số, sau đó thông báo cho Bob về lựa chọn của mình. Ø Bob có thể chấp nhận lựa chọn của Alice hoặc thương lượng với Alice cho một tập hợp khác nhau của các giải thuật và các thông số. Ø Một khi các giải thuật và các thông số được lựa chọn, IPsec thiết lập sự kết hợp bảo mật (Security Association - SA) giữa Alice và Bob cho phần còn lại của phiên làm việc.
- IP Security – tt Tại sao cần sử dụng IP Security 8 [email protected] Ø IPv4 không được thiết kế với tính bảo mật Ø Những cuộc tấn công có thể xảy ra với IPv4 Ø Eavesdropping Ø Data modification Ø Identity spoofing (IP address spoofing) Ø Denial-of-service attack Ø Man-in-the-middle attack
- IP Security – tt Tại sao cần sử dụng IP Security 9 [email protected] Ø Eavesdropping Ø Mã hóa dữ liệu. Ø Data modification Ø IP sử dụng thuật toán hàm băm Ø Identity spoofing (IP address spoofing) Ø Sử dụng cơ chế xác thực lẫn nhau Ø Denial-of-service attack Ø Cho phép block traffic Ø Man-in-the-middle attack Ø Sử dụng cơ chế xác thực lẫn nhau + Shared Key
- IP Security – tt Security Association (SA) 10 [email protected] Ø Một SA cung cấp các thông tin sau: Ø Chỉ mục các thông số bảo mật (SPI - Security parameters index): là một chuỗi nhị phân 32 bit được sử dụng để xác định một tập cụ thể của các giải thuật và thông số dùng trong phiên truyền thông. SPI được bao gồm trong cả AH và ESP để chắc chắn rằng cả hai đều sử dụng cùng các giải thuật và thông số. Ø Địa chỉ IP đích. Ø Giao thức bảo mật: AH hay ESP. IPsec không cho phép AH hay ESP sử dụng đồng thời trong cùng một SA.
- IP Security Cơ chế hoạt động 11 [email protected]
- IP Security - tt Cơ chế hoạt động - tt 12 [email protected] Ø IKE là cơ chế trao đổi key Ø Được sử dụng để thiết lập phiên làm việc của IPSec Ø Có 5 giá trị được thỏa thuận: Ø 2 modes (main mode và aggressive mode) Ø 3 phương thức xác thực (Preshared-Key, Kerberos và Certification)
- IP Security - tt IKE – Main Mode 13 [email protected]
- IP Security - tt IKE – Main Mode 14 [email protected]
- IP Security - tt IKE – Main Mode 15 [email protected]
- IP Security - tt IKE – Main Mode 16 [email protected]
- IP Security IPSecurity: Quick mode 17 [email protected]
- IP Security – tt Các phương thức hoạt động của IPsec 18 [email protected] IPsec bao gồm 2 phương thức: Ø Phương thức Vận chuyển (Transport Mode): sử dụng Transport Mode khi có yêu cầu lọc gói tin và bảo mật điểm-tới-điểm. Cả hai trạm cần hỗ trợ IPSec sử dụng cùng giao thức xác thực và không được đi qua một giao tiếp NAT nào. Nếu dữ liệu đi qua giao tiếp NAT sẽ bị đổi địa chỉ IP trong phần header và làm mất hiệu lực của ICV (Giá trị kiểm soát tính nguyên vẹn)
- IP Security – tt Các phương thức hoạt động của IPsec 19 [email protected] IPsec bao gồm 2 phương thức: Ø Phương thức đường hầm (Tunel mode): sử dụng mode này khi cần kết nối Site-to-Site thông qua Internet (hay các mạng công cộng khác). Tunel Mode cung cấp sự bảo vệ Gateway-to-Gateway (cửa-đến-cửa)
- IP Security – tt Định dạng AH 20 [email protected]
- IP Security – tt Định dạng AH 21 [email protected] Ø Authentication Header (AH) bao gồm các vùng: Ø Next Header (8 bits): xác định header kế tiếp. Ø Payload Length (8 bits): chiều dài của Authentication Header theo từ 32-bit, trừ 2. Ø Reserved (16 bits): sử dụng cho tương lai. Ø Security Parameters Index (32 bits): xác định một SA. Ø Sequence Number (32 bits): một giá trị tăng đơn điệu. Ø Authentication Data (variable): Một vùng có chiều dài biến đổi (phải là một số nguyên của từ 32 bits) chứa giá trị kiểm tra tính toàn vẹn (Integrity Check Value - ICV) đối với gói tin này.
- IP Security – tt Định dạng AH 22 [email protected] Ø Authentication Header Ø Xác thực Ø Toàn vẹn Ø Tránh tấn công Replay-Attack
- IP Security – tt Định dạng ESP 23 [email protected]
- IP Security – tt Định dạng ESP 24 [email protected] Ø Một gói ESP chứa các vùng sau: Ø Security Parameters Index (32 bits): xác định một SA. Ø Sequence Number (32 bits): một giá trị đếm tăng đơn điệu, cung cấp chức năng anti-replay (giống AH). Ø Payload Data (variable): đây là một segment ở transport-level (transport mode) hoặc gói IP (tunnel mode) được bảo vệ bởi việc mã hoá. Ø Padding (0255 bytes) Ø Pad Length (8 bits): chỉ ra số byte vùng đứng ngay trước vùng này.
- IP Security – tt Định dạng ESP 25 [email protected] Ø Một gói ESP chứa các vùng sau: Ø Next Header (8 bits): chỉ ra kiểu dữ liệu chứa trong vùng payload data bằng cách chỉ ra header đầu tiên của vùng payload này. Ø Authentication Data (variable): một vùng có chiều dài biến đổi (phải là một số nguyên của từ 32-bit) chứa ICV được tính bằng cách gói ESP trừ vùng Authentication Data.
- IP Security – tt Định dạng ESP 26 [email protected] Ø Encapsulating Security Payload (ESP) Ø Xác thực Ø Toàn vẹn Ø Bảo mật Ø Tránh tấn công Replay-Attack
- IP Security – tt Sự kết hợp của các SA 27 [email protected]
- IP Security – tt Các giải thuật mã hoá và chứng thực 28 [email protected] Ø Các giải thuật sử dụng để mã hoá và chứng thực bao gồm: Ø Three-key triple DES Ø RC5 Ø IDEA Ø Three-key triple IDEA Ø CAST Ø Blowfish
- Nội dung 29 [email protected] Ø IP Security Ø Secure Socket Layer /Transport Layer Security Ø Pretty Good Privacy Ø Secure Shell
- SSL/TLS Tổng quan 30 [email protected] Ø Giao thức SSL (Secure Socket Layer Protocol) và giao thức TLS (Transport Layer Security Protocol) là những giao thức bảo mật tại lớp vận chuyển được dùng chủ yếu trong thực tế. Ø Được thiết kế và phát triển bởi Netscape từ năm 1994, SSL được sử dụng để bảo vệ những ứng dụng World-Wide-Web và các giao dịch điện tử. Ø TLS là một phiên bản sửa đổi của SSL v3, được xuất bản năm 1999 như là tiêu chuẩn bảo mật lớp vận chuyển bởi tổ chức Internet Engineering Task Force (IETF). Chỉ có khác biệt nhỏ giữa TLS và SSL v3.
- SSL/TLS Các thành phần của SSL 31 [email protected] Ø Giao thức SSL bao gồm 2 thành phần: Ø Thành phần thứ nhất được gọi là record protocol, được đặt trên đỉnh của các giao thức lớp vận chuyển. Ø Thành phần thứ hai được đặt giữa các giao thức tầng ứng dụng (như HTTP) và record protocol , bao gồm các giao thức: n Handshake protocol n Change-cipher-spec protocol n Alert protocol
- SSL/TLS Cấu trúc của SSL 32 [email protected]
- SSL/TLS Giao thức bản ghi (record protocol) của SSL 33 [email protected]
- SSL/TLS Các giao thức của SSL 34 [email protected] Ø Giao thức bắt tay (handshake protocol) thành lập các giải thuật mã hóa, giải thuật nén, và các thông số sẽ được sử dụng bởi cả hai bên trong việc trao đổi dữ liệu được mã hóa. Sau đó, các giao thức bản ghi (record protocol) chịu trách nhiệm phân chia thông điệp vào các khối, nén mỗi khối, chứng thực chúng, mã hóa chúng, thêm header vào mỗi khối, và sau đó truyền đi các khối kết quả. Ø Các giao thức đổi mật mã (change-cipher-spec protocol) cho phép các bên giao tiếp có thể thay đổi các giải thuật hoặc các thông số trong một phiên truyền thông. Ø Các giao thức cảnh báo (alert protocol) là một giao thức quản lý, nó thông báo cho các bên tham gia truyền thông khi có vấn đề xảy ra.
- SSL/TLS Giao thức bắt tay của SSL 35 [email protected] Ø Phase 1: chọn giải thuật mã hoá. Các giải thuật được chọn có thể là RSA, AES-128, 3DES, RC6, SHA-1 Client sẽ khởi tạo với một thông điệp client-hello. Ø Phase 2: server xác thực và trao đổi khoá. Server sẽ gởi cho client: Ø Chứng chỉ khoá công khai của server Ø Thông tin trao đổi khoá của server Ø Yêu cầu chứng chỉ khoá công khai của client Ø Phase 3: client xác thực và trao đổi khoá. Client trả lời cho server các thông tin: Ø Chứng chỉ khoá công khai của client Ø Thông tin trao đổi khoá của client Ø Phase 4: hoàn thành việc bắt tay. Server và client sẽ gởi cho nhau thông điệp finish.
- SSL/TLS Quá trình thiết lập kết nối SSL 36 [email protected]
- SSL/TLS Quá trình thiết lập kết nối SSL 37 2/28/17
- SSL/TLS Quá trình thiết lập kết nối SSL 38 2/28/17
- SSL/TLS Quá trình thiết lập kết nối SSL 39 2/28/17
- Nội dung 40 [email protected] Ø IP Security Ø Secure Socket Layer /Transport Layer Security Ø Pretty Good Privacy Ø Secure Shell
- Pretty Good Privacy (PGP) Tổng quan 41 [email protected]
- Pretty Good Privacy (PGP) Tổng quan 42 [email protected] Ø Mục đích sử dụng để bảo vệ (encrypt and/or sign) tập tin Ø Có thể được sử dụng để bảo vệ e-mail messages Ø Có thể sử dụng cho Doanh Nghiệp hay Cá Nhân Ø Cryptographic algorithms (IDEA, RSA, SHA-1) Ø At Ø Phiên bản đầu tiên được phát triển bởi Phil Zimmermann Ø RFC 3156
- Pretty Good Privacy (PGP) Tính năng PGP 43 [email protected] Ø messages Ø authentication Ø confidentiality Ø compression Ø e-mail compatibility Ø segmentation and reassembly Ø key management Ø generation, distribution, and revocation of public/private keys Ø generation and transport of session keys and IVs
- Message authentication 44 Ø based on digital signatures Ø supported algorithms: RSA/SHA and DSS/SHA -1 Ksnd m h σ sender sender hash enc m h h σ hash compare dec receiver receiver Ksnd accept / reject
- Message confidentiality 45 Ø supported algorithms: Ø symmetric: CAST, IDEA, 3DES Ø asymmetric: RSA, ElGamal m prng Krcv {k, iv}Krcv s.enc a.enc sender sender k, iv {m}k
- Compression 46 Ø applied after the signature Ø enough to store clear message and signature for later verification Ø it would be possible to dynamically compress messages before signature verification, but Ø then all PGP implementations should use the same compression algorithm Ø however, different PGP versions use slightly different compression algorithms Ø applied before encryption Ø compression reduces redundancy → makes cryptanalysis harder Ø supported algorithm: ZIP
- E-mail compatibility 47 Ø encrypted messages and signatures may contain arbitrary octets Ø most e-mail systems support only ASCII characters Ø PGP converts an arbitrary binary stream into a stream of printable ASCII characters Ø radix 64 conversion: 3 8-bit blocks → 4 6-bit blocks 0 7 0 7 0 7 0 5 0 5 0 5 0 5 6-bit character 6-bit character value encoding value encoding 0 A 52 0 25 Z 61 9 26 a 62 + 63 / 51 z (pad) =
- Combining services X := file yes generate signature signature? X := σ(X) || X no compress X := Z(X) generate envelop yes encryption? X := {k}Krcv || {X}k no radix 64 X := R64(X)
- PGP message format key ID of Krcv session key component session key k Krcv { } { timestamp key ID of Ksnd signature leading two octets of hash hash -1 Ksnd { } { filename k { } { ZIP timestamp R64 message data
- Key IDs 50 Ø a user may have several public key – private key pairs Ø which private key to use to decrypt the session key? Ø which public key to use to verify a signature? Ø transmitting the whole public key would be wasteful Ø associating a random ID to a public key would result in management burden Ø PGP key ID: least significant 64 bits of the public key Ø unique within a user with very high probability
- Pretty Good Privacy (PGP) Các chức năng của PGP 51 [email protected]
- Pretty Good Privacy (PGP) Các chức năng của PGP 52 [email protected] Ø Chú thích: Ø Ks: session key dùng trong mã hoá symmetric Ø Pra: private key của user A Ø PUa: public key of user A Ø EP: mã hoá public-key (asymmetric) Ø DP: giải mã public-key (asymmetric) Ø EC: mã hoá symmetric Ø DC: giải mã symmetric Ø H: hàm băm Ø ||: kết nối, ghép chuỗi Ø Z: nén sử dụng giải thuật ZIP Ø R64: convert sang định dạng ASCII 64 bit
- Pretty Good Privacy (PGP) Định dạng tổng quát của một thông điệp PGP 53 [email protected]
- Pretty Good Privacy (PGP) Truyền và nhận thông điệp PGP 54 [email protected]
- Pretty Good Privacy (PGP) Một số đặc tính của PGP 55 [email protected]
- Secure/Multipurpose Internet Mail Extensions (S/MIME) 56 [email protected] Ø S/MIME (Secure/Multipurpose Internet Mail Extensions) Ø Là một chuẩn Internet về định dạng cho email. Hầu như mọi email trên Internet được truyền qua giao thức SMTP theo định dạng MIME. Ø S/MIME đưa vào hai phương pháp an ninh cho email: mã hóa email và chứng thực. Cả hai cách đều dựa trên mã hóa bất đối xứng và PKI.
- S/MIME 57 [email protected]
- S/MIME 58 [email protected]
- S/MIME 59 [email protected] Ø Các tính năng của một Webmail client hỗ trợ S/ MIME: Ø Tạo ra một chữ ký số cho một email gửi đi để đảm bảo người nhận email tin rằng không có sự can thiệp và được đến từ người gửi. Ø Mã hóa một email gửi đi để ngăn chặn bất cứ ai xem, thay đổi Nội dung của email trước khi đến với người nhận. Ø Xác minh chữ ký số của một email đã ký đến với một quá trình liên quan đến một danh sách thu hồi chứng chỉ (CRL). Ø Tự động giải mã một email gửi đến để người nhận có thể đọc được nội dung của email. Ø Trao đổi chữ ký hoặc email đã được mã hóa với những người dùng khác của S/MIME.
- S/MIME 60 [email protected]
- S/MIME 61 [email protected]
- S/MIME 62 [email protected]
- S/MIME 63 [email protected]
- Nội dung 64 [email protected] Ø IP Security Ø Secure Socket Layer /Transport Layer Security Ø Pretty Good Privacy Ø Secure Shell
- Secure Shell Tổng quan 65 [email protected] Ø SSH được định nghĩa trong RFC 4251. Ø SSH sử dụng cổng TCP 22. Ø SSH có thể hoạt động trên các flatform khác nhau: Ø Kết nối đến một máy chủ SSH trên một router của Cisco từ một máy khách chạy Windows Ø Kết nối đến một máy chủ Linux từ một router Cisco hay có thể kết nối đến một máy chủ Windows 2008 từ một máy khách sử dụng hệ điều hành Linux.
- Secure Shell Tổng quan 66 [email protected] Ø SSH tạo ra một kết nối bảo mật giữa hai máy tính sử dụng các giải thuật mã hoá và chứng thực. Ø Có khả năng nén dữ liệu, bảo mật cho dữ liệu truyền (SFTP) và sao chép file (SCP). Ø Là giao thức ứng dụng client-server. SSH được chia thành 3 lớp trong lớp ứng dụng của mô hình mạng TCP/ IP: Ø Connection Layer Ø User Authentication Layer Ø Transport Layer
- Secure Shell Tổng quan 67 [email protected]
- Secure Shell Cách thức hoạt động 68 [email protected] Ø SSH được thực hiện qua 3 bước: 1. Định danh host: Ø Việc định danh host được thực hiện qua việc trao đổi khoá. Mỗi máy tính có hỗ trợ kiểu truyền thông SSH có một khoá định danh duy nhất. Khoá này gồm hai thành phần: khoá riêng và khoá công khai. Khoá công khai được sử dụng khi cần trao đổi giữa các máy chủ với nhau trong phiên làm việc SSH, dữ liệu sẽ được mã hoá bằng khoá công khai và chỉ có thể giải mã bằng khoá riêng.
- Secure Shell Cách thức hoạt động 69 [email protected]
- Secure Shell Cách thức hoạt động 70 [email protected] 2. Mã hoá: Ø Sau khi hoàn tất việc thiết lập phiên làm việc bảo mật (trao đổi khoá, định danh), quá trình trao đổi dữ liệu diễn ra thông qua một bước trung gian đó là mã hoá/giải mã. Dữ liệu gửi/nhận trên đường truyền đều được mã hoá và giải mã theo cơ chế đã thoả thuận trước giữa máy chủ và máy khách. Ø Việc lựa chọn cơ chế mã hoá thường do máy khách quyết định. Các cơ chế mã hoá thường được chọn bao gồm: 3DES, IDEA, và Blowfish. Khi cơ chế mã hoá được lựa chọn, máy chủ và máy khách trao đổi khoá mã hoá cho nhau.
- Secure Shell Cách thức hoạt động 71 [email protected] 3. Chứng thực: Ø Mỗi định danh và truy nhập của người sử dụng có thể được cung cấp theo nhiều cách khác nhau. Chẳng hạn, kiểu chứng thực rhosts có thể được sử dụng, nhưng không phải là mặc định; nó đơn giản chỉ kiểm tra định danh của máy khách được liệt kê trong file rhost (theo DNS và địa chỉ IP). Ø Việc chứng thực mật khẩu là một cách rất thông dụng để định danh người sử dụng, nhưng ngoài ra cũng có các cách khác: chứng thực RSA, sử dụng ssh-keygen và ssh-agent để chứng thực các cặp khoá.



