intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình An ninh mạng: Phần 2 (Dùng cho sinh viên ngành Công nghệ thông tin, An toàn thông tin)

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:118

14
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tiếp nội dung phần 1, Giáo trình "An ninh mạng" Phần 2 cung cấp cho người học những kiến thức như: các giao thức an toàn mạng; an toàn mạng không dây; giải pháp an toàn mạng; an toàn điện toán đám mây. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Giáo trình An ninh mạng: Phần 2 (Dùng cho sinh viên ngành Công nghệ thông tin, An toàn thông tin)

  1. CHƯƠNG 5 CÁC GIAO THỨC AN TOÀN MẠNG Chương này trình bày các giải pháp bảo mật tại các tầng trong mô hình TCP/IP trong các hệ thống mạng. Các giải pháp được đề xuất dưới dạng các giao thức bảo mật tại các tầng khác nhau trong mô hình TCP/IP, chúng được thiết kế với các phương pháp mã hóa, xác thực, nhằm đảm bảo an toàn cho các chức năng hoạt động tại các tầng Network, Transport, Application. Các giao thức được đề cập chi tiết trong chương này gồm: IPSec, SSL, TLS, SSH, HTTPS, PGP, S/MIME. 5.1. Bảo mật tầng trong TCP/IP Để bảo vệ truyền thông trên mạng, các giải pháp bảo mật đã được triển khai tại các lớp trong mô hình TCP/IP tại các hệ thống mạng. Trong đó, giải pháp mã hóa được sử dụng khá phổ biến. Việc sử dụng các giải thuật mã hóa ở các lớp khác nhau sẽ cung cấp các mức độ bảo vệ khác nhau. Sau đây là các vấn đề bảo mật tại các tầng trong mô hình TCP/IP: Application Layer: Bảo mật end-to-end. Dữ liệu được mã hóa hoặc chứng thực tại lớp này sẽ tiếp tục đi qua các lớp khác như dữ liệu bình thường (không cần giải mã hoặc kiểm tra). Tuy nhiên, TCP header và IP header sẽ không được mã hóa do nằm ở các lớp dưới, kẻ tấn công có thể phân tích và sửa đổi nội dung, ví dụ thay đổi địa chỉ IP đích trong IP header để phân phối gói tin cho người khác. Transport Layer: cung cấp sự an toàn cho các gói TCP. Phương pháp bảo mật thực hiện mã hóa hoặc chứng thực cho phần payload hoặc cả gói tin TCP (mã hóa cả header và payload). Việc mã hóa này không ảnh hưởng đến dữ liệu nhận được từ lớp ứng dụng. Tuy nhiên, IP header không được mã hóa, kẻ tấn công có thể thu được giá trị sequence number và sử dụng chúng để tấn công. Network Layer: Bảo mật link-to-link. Các cơ chế bảo mật sẽ mã hóa hoặc chứng thực phần payload hoặc cả gói IP, không ảnh hưởng đến chức năng định tuyến, được xem như một ứng dụng ở tunnel mode. Data-Link Layer: Cung cấp bảo mật cho các frames. Phương pháp bảo mật thực hiện mã hóa hoặc chứng thực cho Payload của frame. Việc phân tích traffic trên các frame đã được mã hóa sẽ không thu được nhiều thông tin đối với các tấn công. 212
  2. Hình 5.1: Các giao thức bảo mật trong TCP/IP Các giải pháp bảo mật cần được triển khai đồng thời ở các tầng trong TCP/IP, cụ thể là các phương pháp bảo mật đã được mô hình hóa vào các giao thức bảo mật mạng ở các tầng trong mô hình TCP/IP như Hình 5.1, bao gồm: Application Layer: Pretty Good Privacy (PGP), Secure/ Multipurpose Internet Mail Extension (S/MIME), Kerberos, Secure Shell (SSH). Transport Layer: Secure Sockets Layer/ Transport Layer Security (SSL/TLS). Network Layer: giao thức IP security (IPsec). Data Link Layer: Point-to-Point Tunneling Protocol (PPTP), Layer 2 Tunneling Protocol (L2TP). 5.2. Giao thức bảo mật tầng Network – IPSec 5.2.1. Giới thiệu IPSec Giao thức IPSec (Internet Protocol Security), được phát triển bởi tổ chức IETF, bao gồm một bộ các giao thức chuẩn, cung cấp các dịch vụ bảo mật quá trình truyền thông tin trên nền tảng IP gồm xác thực và mã hóa cho mỗi gói IP trong quá trình truyền thông tin. IPSec được phát triển ở giao thức tầng mạng trong mô hình TCP/IP do nó cung cấp các dịch vụ bảo mật cho giao thức IP hoạt động ở tầng Network như Hình 5.2. IPSec được thiết kế như phần mở rộng của giao thức IP, được thực hiện thống nhất trong cả hai phiên bản IPv4 và IPv6. Đối với IPv4, việc áp dụng IPSec là một tùy chọn, nhưng đối với IPv6, giao thức bảo mật này được triển khai bắt buộc. 213
  3. Hình 5.2: IPSec trong TCP/IP IPSec cung cấp giải pháp an toàn dữ liệu từ đầu cuối đến đầu cuối trong cấu trúc mạng, và hoàn toàn độc lập với các ứng dụng đang chạy ở tầng Application. Do đó, các ứng dụng có thể dùng các dịch vụ kế thừa tính năng bảo mật mà không cần phải có sự thay đổi lớn nào. IPSec hoạt động trong suốt với người dùng cuối, chỉ cần người quản trị cấu hình IPSec bằng cách thiết lập các luật giao tiếp giữa các máy, được gọi là các chính sách của IPSec. Ứng dụng của IPSec IPsec cung cấp khả năng bảo mật thông tin liên lạc qua mạng LAN, WAN cũng như trên Internet. Một số ứng dụng của IPSec bao gồm: Kết nối các mạng nội bộ an toàn qua Internet: Điều này cho phép một doanh nghiệp có thể dựa vào mạng Internet mà không cần thiết phải có một mạng riêng để kết nối các văn phòng chi nhánh, từ đó tiết kiệm chi phí xây dựng hệ thống mạng và chi phí quản lý mạng. Truy cập từ xa an toàn qua Internet: Người dùng cuối có thể thực hiện truy cập đến nhà cung cấp dịch vụ Internet (ISP) để kết nối Internet và sau đó có thể truy cập an toàn vào mạng công ty, ứng dụng này được mô tả ở Hình 5.3. Điều này làm giảm chi phí di chuyển cho nhân viên và lệ phí viễn thông. Thiết lập kết nối mạng bên ngoài và mạng nội bộ: IPsec có thể được sử dụng để bảo mật thông tin liên lạc với các tổ chức khác, đảm bảo xác thực và bảo mật và cung cấp cơ chế trao đổi khóa. Tăng cường bảo mật thương mại điện tử: Mặc dù một số ứng dụng web và thương mại điện tử có các giao thức bảo mật tích hợp, việc sử dụng IPsec sẽ tăng cường các bảo mật đó. 214
  4. Hình 5.3: Một ví dụ sử dụng IPSec Các lợi ích của IPSec Kết hợp với các thiết bị mạng: Khi IPsec được triển khai bên trong tường lửa hoặc bộ định tuyến, nó cung cấp khả năng bảo mật mạnh mẽ có thể được áp dụng cho tất cả lưu lượng truy cập mạng bên ngoài. Đối phó với bypass tường lửa: IPsec trong tường lửa có khả năng chống lại sự vượt tường lửa của các lưu lượng mạng truy cập từ bên ngoài nếu các lưu lượng mạng phát ra từ nguồn có sử dụng IP và tường lửa là phương tiện duy nhất để truy cập từ Internet vào tổ chức. Triển khai độc lập: IPsec nằm bên dưới lớp Transport (TCP, UDP) và do đó trong suốt đối với các ứng dụng. Không cần thay đổi phần mềm của người dùng hoặc hệ thống máy chủ khi IPsec được triển khai trong tường lửa hoặc bộ định tuyến. Ngay cả khi IPsec được triển khai trong hệ thống đầu cuối, ứng dụng ở lớp trên vẫn không bị ảnh hưởng. Trong suốt với người dùng cuối: Không cần phải đào tạo người dùng về cơ chế bảo mật, không cần phát hành khóa bảo mật khi người dùng làm việc và thu hồi khóa khi người dùng rời khỏi tổ chức. Bảo mật khi truy xuất từ xa: IPsec cung cấp bảo mật cho người dùng cá nhân trong trường hợp người dùng làm việc ở nhà hay ngoài công trường trong việc thiết lập mạng con ảo an toàn để truy xuất vào mạng công ty. 215
  5. 5.2.2. Các thành phần của IPSec IPSec bao gồm các khái niệm, định nghĩa, giao thức, thuật toán và yêu cầu bảo mật chung của công nghệ IPSec, như trong sơ đồ Hình 5.4. Thành phần trong kiến trúc IPSec gồm: Giao thức Authentication Header (AH): AH được IETF công bố tại RFC 4302, được sử dụng để cung cấp tính toàn vẹn của kết nối mạng và xác thực nguồn gốc dữ liệu cho gói tin IP và cung cấp khả năng bảo vệ chống lại hành vi phát lại gói tin. Hình 5.4: Các thành phần của IPSec Encryption algorithm: các thuật toán mã hóa được sử dụng cho ESP. Giao thức Encapsulating Security Payload (ESP): ESP được IETF công bố tại RFC4303 để cung cấp phần mã hóa của IPSec nhằm đảm bảo tính bí mật của lưu lượng dữ liệu giữa các thiết bị, xác thực nguồn gốc gói tin, đảm bảo tính toàn vẹn và cung cấp dịch vụ chống phát lại của một gói tin. ESP có thể hoạt động với nhiều thuật toán mã hóa và xác thực khác nhau. Authentication Algorithm: chứa tập hợp các mô tả thuật toán xác thực được sử dụng cho AH và tùy chọn xác thực của ESP. DOI (Domain of Interpretation): là mã định danh hỗ trợ cả giao thức AH và ESP. Nó chứa các giá trị cần thiết cho các tài liệu liên quan đến nhau. Key Management: quản lý khóa chứa mô tả cách các khóa được trao đổi giữa người gửi và người nhận. Security Associations (SA): là thành phần hỗ trợ IPSec. SA và các chính sách thiết lập những thỏa thuận bảo mật khác nhau, được sử dụng trong các trao đổi của IPSec. Các thỏa thuận này có thể xác định loại mã hóa và thuật toán hash sẽ được sử dụng. Những chính sách này thường linh hoạt, cho phép các thiết bị quyết định cách chúng muốn xử lý mọi thứ. 216
  6. 5.2.3. Giao thức AH và ESP Định dạng gói tin AH. Gói tin AH bao gồm các vấn đề chung liên quan đến việc sử dụng AH để xác thực và toàn vẹn gói tin IP như Hình 5.5, gồm các trường thông tin sau: - Next header: xác định loại trọng tải được mang bởi IP datagram (chẳng hạn như TCP, UDP, ICMP,…). - Security Parameter index: chỉ số tham số bảo mật (SPI) 32-bit giống nhau cho tất cả các gói được gửi trong một kết nối bảo mật. - Payload length: độ dài của tiêu đề xác thực. - Sequence number: thông tin thứ tự cho một chuỗi datagram. - Authentication data: Dữ liệu xác thực là kết quả của việc áp dụng một hàm mã hóa hash cho toàn bộ gói tin IP ngoại trừ trường bị thay đổi trong quá trình truyền, ví dụ: thời gian sống TTL. - Reserved: dùng cho tương lai, nó cần được đặt thành “0” bởi người gửi và nó nên bị người nhận bỏ qua. Hình 5.5: Định dạng gói tin AH Định dạng gói tin ESP, Hình 5.6 ESP có 3 thành phần bao gồm: Tiêu đề (ESP Header), Quảng cáo (ESP Trailer) và Dữ liệu xác thực ESP (ESP Authentication Data). Hình 5.6: Định dạng gói tin ESP 217
  7. ESP Header chứa 2 trường: - Chỉ số bảo mật (Security Parameter Index – SPI): sử dụng bởi bên nhận để xác định các tham số bảo mật của một gói tin đến. - Số thứ tự (Sequence Number – SN): để đếm gói tin được gửi. Vị trí của nó phụ thuộc vào việc sử dụng ESP theo chế độ (mode) nào. ESP Trailer được đặt sau dữ liệu mã hóa. Nó chứa thành phần trung gian (padding) được sử dụng để sắp xếp các dữ liệu được mã hóa thông qua trường Padding, Pad Length, Next Header. - Padding: được sử dụng để mở rộng bản rõ (bao gồm Payload Data, Padding, Pad Length, and Next Header) đến độ dài cần thiết. Padding còn dùng để đáp ứng yêu cầu của ESP về căn đúng trong 32 bit hoặc là bội số của 32. Padding được bổ sung để bảo mật một phần luồng giao thông bằng cách che giấu chiều dài thực của trọng tải. - Pad Length: cho biết chiều dài của Padding. - Next Header: cho biết độ biến thiên độ dài của Payload Data. ESP Authentication Data bao gồm trường Giá trị kiểm tra tính toàn vẹn (Integrity Check Value – ICV). Trường ICV là tùy chọn và chỉ xuất hiện nếu các dịch vụ toàn vẹn được chọn và được cung cấp bởi một thuật toán toàn vẹn riêng biệt hoặc một thuật toán kết hợp có sử dụng ICV. Payload Data là một trường có độ dài biến thiên chứa dữ liệu (từ gói tin IP ban đầu) được mô tả bởi trường Next Header. Nó có cấu trúc thành phần phụ thuộc vào việc lựa chọn các thuật toán mã hóa, chế độ hoạt động và việc sử dụng của thành phần trung gian. 5.2.4. Chế độ truyền IPSec gửi dữ liệu bằng cách sử dụng chế độ Tunnel hoặc Transport. Các chế độ này có liên quan chặt chẽ đến loại giao thức được sử dụng trong IPsec là AH hoặc ESP. Chế độ Transport: cung cấp cơ chế bảo vệ cho dữ liệu của các lớp cao hơn (TCP, UDP hoặc ICMP). Trong chế độ Transport, IP header gốc vẫn còn và chưa được mã hóa. Chỉ có payload và ESP Tail được mã hóa. Chế độ Transport thường được dùng trong thiết lập VPN client-to-site. Chế độ Tunnel: bảo vệ toàn bộ gói tin. IPSec đóng gói dữ liệu trong một packet mới, mã hóa nó và thêm một IP header mới. Trong chế độ đường hầm, tiêu đề gói IP gốc bị ẩn nên nó chủ yếu được áp dụng cho các giao tiếp giữa các cổng VPN hoặc giữa máy chủ và cổng VPN, như VPN site-to-site. Hai chế độ Tunnel và Transport được dùng để đóng gói giao thức AH, ESP. 218
  8. Hình 5.7: Chế độ Transport với giao thức AH, ESP và kết hợp Trong chế độ Transport (Hình 5.7), AH xác minh toàn bộ gói IP trong quá trình xác minh tính toàn vẹn. Nếu nội dung của gói IP bị thay đổi, việc xác minh AH ở đầu nhận không thành công. Do đó, AH không thể cùng tồn tại với giao thức NAT thay đổi địa chỉ IP trong tiêu đề gói IP. ESP kiểm tra tính toàn vẹn của ESP Header, TCP Header, dữ liệu và ESP Tail, thay vì tiêu đề gói IP. Do đó, ESP không thể đảm bảo tính bảo mật của tiêu đề gói IP nhưng có thể cùng tồn tại với giao thức NAT. Mã hóa ESP bao gồm TCP Header, dữ liệu và ESP Tail. Hình 5.8: Chế độ Tunnel với giao thức AH, ESP và kết hợp Trong chế độ Tunnel (Hình 5.8), giao thức AH kiểm tra tính toàn vẹn của toàn bộ gói IP bao gồm các IP Header mới. Giao thức ESP kiểm tra tính toàn vẹn của ESP Header, IP Header gốc, TCP Header, dữ liệu và ESP 219
  9. Tail, nhưng không kiểm tra IP Header mới. Do đó, giao thức ESP không thể đảm bảo tính bảo mật của IP Header mới. Giao thức ESP mã hóa TCP Header, dữ liệu và ESP Tail. Nếu cả AH và ESP đều được sử dụng, hai giao thức phải sử dụng cùng một chế độ đóng gói. So sánh chế độ Tunnel và Transport Trong chế độ Tunnel, IP Header chứa địa chỉ đích và có thể là các chỉ thị định tuyến nguồn và thông tin tùy chọn hop-by-hop, nên cần phải đóng gói toàn bộ khối thành một IP Header mới sẽ chứa đầy đủ thông tin để định tuyến. Chế độ Tunnel hữu ích trong cấu hình bao gồm tường lửa hoặc loại cổng bảo mật khác để bảo vệ mạng an toàn. Trong chế độ Tunnel này, mã hóa chỉ xảy ra giữa máy chủ bên ngoài và cổng bảo mật hoặc giữa hai cổng bảo mật. Điều này làm giảm gánh nặng xử lý mã hóa của các máy trên mạng nội bộ và đơn giản hóa quá trình thực hiện. Tuy nhiên, chế độ đường hầm chiếm nhiều băng thông hơn vì có thêm một tiêu đề IP. Chế độ Transport phù hợp để bảo vệ kết nối giữa các máy chủ hỗ trợ tính năng ESP, cung cấp tính bảo mật cho bất kỳ ứng dụng nào sử dụng nó, do đó tránh được sự cần thiết phải thực hiện bảo mật trong mọi ứng dụng riêng lẻ. Tuy nhiên, chế độ này không an toàn bằng chế độ Tunnel vì chỉ mã hóa một phần gói tin IP. Ngoài ra, chế độ này thực hiện phân tích lưu lượng trên các gói được truyền, do đó giảm hiệu suất khi truyền. Hình 5.9 mô tả đường truyền giữa 2 host được mã hóa (và xác thực) trong một kết nối từ mạng bên trong ra bên ngoài. Hình 5.9: Mạng bảo mật theo chế độ Transport Hình 5.10 cho thấy cách hoạt động của chế độ Tunnel có thể được sử dụng để thiết lập một mạng riêng ảo VPN. Trong trường hợp này, một tổ chức có bốn mạng được kết nối với nhau trên Internet. Bằng cách kết thúc các đường hầm tại cổng bảo mật vào mỗi mạng nội bộ, các mạng được kết nối an toàn với nhau. 220
  10. Hình 5.10: Mạng VPN site to site theo chế độ Tunnel 5.2.5. Quản lý khóa IKE - Internet Key Exchange Quản lý khóa của IPsec liên quan đến việc xác định và phân phối các khóa bí mật. IKE là giao thức thực hiện quá trình trao đổi khóa và thỏa thuận các thông số bảo mật với nhau như: thuật toán mã hóa, khoảng thời gian trao đổi khóa 1 lần. Sau khi trao đổi xong thì sẽ có được một “thỏa thuận” giữa 2 bên, khi đó IPSec SA (Security Association) được tạo ra. SA là những thông số bảo mật đã được thỏa thuận thành công, các thông số SA này sẽ được lưu trong cơ sở dữ liệu của SA. Kiến trúc IPsec yêu cầu hỗ trợ hai loại quản lý khóa: Thủ công: Người quản trị hệ thống định cấu hình thủ công từng hệ thống với các khóa riêng của nó và các khóa của các hệ thống giao tiếp khác. Điều này phù hợp cho các môi trường công ty nhỏ, ít tương tác. Tự động: Hệ thống tự động cho phép tạo khóa theo yêu cầu cho các liên kết bảo mật và tạo điều kiện sử dụng khóa trong một hệ thống phân tán lớn với cấu hình đang phát triển. Giao thức quản lý khóa tự động mặc định cho IPsec được gọi là ISAKMP (Internet Security Association and Key Management Protocol) và Oakley, trong đó: - ISAKMP - Hiệp hội Bảo mật Internet và Giao thức Quản lý Khóa: cung cấp một khuôn khổ để quản lý khóa Internet và cung cấp hỗ trợ giao thức cụ thể, bao gồm các định dạng, thuộc tính bảo mật. ISAKMP bao gồm một tập hợp các loại thông báo cho phép sử dụng nhiều thuật toán trao đổi khóa. - Oakley: là giao thức làm nhiệm vụ chứng thực khóa, dùng thuật toán Diffie-Hellman để trao đổi khóa bí mật trong môi trường chưa bảo mật. Oakley không quy định các định dạng cụ thể. 221
  11. Các đặc tính của giao thức IKE: - Dùng thuật toán mã hóa đối xứng, những khóa này sẽ được thay đổi theo thời gian, hạn chế trình trạng bẻ khóa của các attacker. - Sử dụng một cơ chế được gọi là cookie để ngăn chặn các cuộc tấn công làm tắc nghẽn. - Cho phép hai bên thương lượng trong nhóm để chỉ định các tham số toàn cục của trao đổi khóa Diffie-Hellman. - Sử dụng các giá trị nonces (giá trị khởi tạo ngẫu nhiên bất kỳ) để đảm bảo chống lại các cuộc tấn công phát lại. - Cho phép trao đổi các giá trị khóa công khai Diffie-Hellman. - Xác thực việc trao đổi Diffie-Hellman để ngăn cản các cuộc tấn công người ở giữa (man in the middle – MITM). Phương pháp xác thực trong IKE Xác định khóa IKE (Internet Key Exchange) là sự cải tiến của thuật toán trao đổi khóa Diffie-Hellman. IKE bổ sung các phương pháp xác thực trong việc trao đổi khóa Diffie-Hellman. - Chữ ký điện tử: Việc trao đổi được xác thực bằng cách ký vào một hàm băm có thể đạt được; mỗi bên mã hóa băm bằng khóa riêng của mình. Giá trị băm được tạo qua các tham số quan trọng, chẳng hạn như ID người dùng và ký tự mã hóa. - Mã hóa khóa công khai: Việc trao đổi được xác thực bằng cách mã hóa các tham số như ID và nonces với khóa riêng của người gửi. - Mã hóa khóa đối xứng: Một khóa có nguồn gốc từ một số cơ chế ngoài có thể được sử dụng để xác thực trao đổi bằng cách mã hóa đối xứng các tham số trao đổi. Các quá trình trao đổi của IKEv2 IKEv2 định nghĩa các loại trao đổi như mô tả ở Hình 5.11 dưới, gồm: - IKE_SA_INIT: thiết lập IKE-SA thực hiện trao đổi thông tin liên quan đến các thuật toán mật mã và các tham số bảo mật khác cần sử dụng. Quá trình thiết lập IKE-SA gồm: Tham số bảo mật Negotiates cho IKE-SA; Gửi giá trị nonces; Gửi giá trị Diffie-Hellman. - IKE_AUTH: thực hiện ba chức năng cần thiết: Truyền định danh; Chứng minh về những bí mật liên quan đến những danh tính đó; Thiết lập AH và/hoặc ESP CHILD-SA đầu tiên và thường là duy nhất. - CREATE_CHILD_SA: được sử dụng để tạo các CHILD-SA bổ sung khi cần thiết và thiết lập các SA để bảo vệ lưu lượng. - INFORMATIONAL: Đây là một trao đổi bảo trì thực hiện xác minh các chức năng để duy trì các SA. Một số chức năng gồm: Xóa SA nếu cần; 222
  12. Báo cáo điều kiện lỗi; Kiểm tra tính thay đổi của SA; Các chức năng quản lý nhà SA khác. Hình 5.11: Trao đổi IKE Định dạng gói tin giao thức IKE, Hình 5.12 Hình 5.12: Định dạng gói tin giao thức IKE Các trường thông tin trong IKE Header: 223
  13. - Initiator SPI (64 bits): Một giá trị được bộ khởi tạo chọn để xác định một hiệp hội bảo mật IKE duy nhất (SA). - Responder SPI (64 bits): Một giá trị được chọn bởi trình phản hồi để xác định một IKE SA duy nhất. - Next Payload (8 bits): Loại tải trọng đầu tiên trong thông điệp; tải trọng sẽ được thảo luận trong phần phụ tiếp theo. - Major Version (4 bits): Phiên bản chính của IKE đang được sử dụng. - Minor Version (4 bits): Phiên bản nhỏ đang được sử dụng. - Exchange Type (8 bits): Loại trao đổi. - Flags (8 bits): các cờ tùy chọn cụ thể được thiết lập cho trao đổi IKE. - Message ID (32 bits): điều khiển việc truyền lại các gói bị mất và khớp các yêu cầu và phản hồi. - Length (32 bits): Độ dài của tổng thông điệp (tiêu đề cộng với tất cả các trọng tải) tính bằng octet. Các trường thông tin trong IKE Payload: - Next Payload (8 bits): có giá trị là 0 nếu đây là payload cuối cùng trong thông báo; nếu không thì giá trị của nó là loại của payload tiếp - Payload Length: cho biết độ dài tính bằng octet của payload này. Hoạt động của IKE Hình 5.13: Quá trình hoạt động của IKE Quá trình hoạt động của IKE được chia ra làm 2 phase chính, như Hình 5.13, cả hai phase này nhằm thiết lập kênh truyền an toàn giữa hai điểm. 224
  14. IKE phase 1 thực hiện việc xác thực và thỏa thuận các thông số bảo mật, nhằm cung cấp một kênh truyền bảo mật giữa hai đầu cuối. Các thông số được đồng ý giữa hai bên gọi là SA, SA trong pha này gọi là SA ISAKMP hay SA IKE. Các thông số bảo mật bắt buộc phải thỏa thuận trong phase 1 là: - Thuật toán mã hóa: DES, 3DES, AES - Thuật toán hash: MD5, SHA - Phương pháp xác thực: Preshare-key, RSA - Nhóm khóa Diffie-Hellman Pha này sử dụng một trong hai mode để thiết lập SA: chế độ chính thức (main mode) và chế độ tích cực (aggressive mode). Main mode: sử dụng 6 message. - Hai message đầu để trao đổi các thông số về chính sách bảo mật. - Hai message tiếp theo trao đổi khóa Diffie-Hellman. - Hai message cuối cùng thực hiện xác thực giữa các thiết bị. Aggressive mode: Sử dụng 3 message. - Message đầu tiên gồm các thông số của chính sách bảo mật, khóa Diffie-Hellman. - Message thứ hai sẽ phản hồi lại thông số của chính sách bảo mật được chấp nhận, khóa được chấp nhận và xác thực bên nhận. - Message cuối cùng sẽ xác thực bên vừa gửi. IKE phase 2. Quá trình thỏa thuận các thông số ở phase 2 là để thiết lập SA IPSec dựa trên những thông số của phase 1. Quick mode là phương thức được sử dụng trong phase 2. Quick mode: thỏa thuận các thông số: - Giao thức IPSec: ESP hoặc AH. - IPSec mode: Tunnel hoặc transport. - IPSec SA lifetime: dùng để thỏa thuận lại SA IPSec sau một khoảng thời gian mặc định hoặc được chỉ định. - Trao đổi khóa Diffie-Hellman. 5.2.6. Thuật toán mã hóa trong IPSec Các giao thức IPsecv3 và IKEv3 dựa trên nhiều loại thuật toán mã hóa khác nhau, theo Bảng 5.1. RFC 4308 định nghĩa hai bộ mật mã để thiết lập mạng riêng ảo VPN. Suite VPN-A phù hợp với bảo mật VPN công ty, thường được sử dụng trong triển khai IKEv1. Suite VPN-B cung cấp bảo mật mạnh hơn và được khuyến nghị cho các VPN mới triển khai IPsecv3 225
  15. và IKEv2. Bảng 5.1: Các bộ mã hóa cho mạng VPN VPN-A VPN-B ESP encryption 3DES-CBC AES-CBC (128bits) ESP integrity HMAC-SHA1-96 AES-XCBC-MAC-96 IKE encryption 3DES-CBC AES-CBC (128bits) IKE PRF HMAC-SHA1 AES-XCBC-RPF-128 IKE Integrity HMAC-SHA1-96 AES-XCBC-MAC-96 IKE DH group 1024-bit MODP 2048-bit MODP Ba loại thuật toán khóa bí mật được sử dụng: - Mã hóa: chế độ chuỗi khối mật mã (CBC) được sử dụng. - Xác thực thông điệp: VPN-A dựa vào HMAC với SHA-1 với đầu ra được cắt ngắn còn 96 bit. VPN-B dựa trên một biến thể của CMAC với đầu ra được cắt ngắn còn 96 bit. - Chức năng giả ngẫu nhiên: IKEv2 tạo ra các bit giả ngẫu nhiên bằng cách sử dụng lặp MAC được sử dụng để xác thực thông điệp. RFC 4869 xác định bốn bộ mật mã tùy chọn tương thích với thông số kỹ thuật Suite B của Cơ quan An ninh Quốc gia Hoa Kỳ (NSA - United States National Security Agency), được mô tả trong Bảng 5.2. Bốn bộ cung cấp các lựa chọn cho ESP và IKE bao gồm: GCM-128 (GCM: Galois/Counter Mode), GCM-256, GMAC-128 (GMAC: Galois Message Authentication Code), GMAC-256. Bốn bộ này được phân biệt bởi sự lựa chọn các điểm mạnh của thuật toán mã hóa và sự lựa chọn các đặc điểm của ESP về tính bí mật, tính toàn vẹn hoặc cả hai. Tất cả các bộ đều cung cấp khả năng bảo vệ tốt hơn so với hai bộ VPN được xác định trong RFC 4308. Bảng 5.2: Các thuật toán và thông số cho hai bộ của NSA GCM-128 GCM-256 GMAC-128 GMAC-256 ESP AES-GCM AES-GCM Null Nul encryption/ (128-bit key) (256-bit Integrity key) ESP integrity Null Null AES-GMAC AES-GMAC (128-bit key) (256-bit key) IKE AES-CBC AES-CBC AES-CBC AES-CBC encryption (128-bit key) (256-bit (128-bit key) (256-bit key) key) 226
  16. IKE PRF HMAC-SHA HMAC- HMAC- HMAC- -256 SHA-384 SHA-256 SHA-384 IKE Integrity HMAC- HMAC- HMAC- HMAC-SHA- SHA-256-128 SHA -384- SHA-256-128 384-192 192 IKE DH 256-bit random 384-bit 256-bit random 384-bit random group ECP random ECP ECP ECP IKE ECDSA-256 ECDSA-384 ECDSA-256 ECDSA-384 authentication Cũng như RFC 4308, ba loại thuật toán khóa bí mật được liệt kê: - Mã hóa: Đối với ESP, mã hóa đã xác thực được cung cấp bằng chế độ GCM với khóa AES 128 bit hoặc 256 bit. Đối với mã hóa IKE, CBC được sử dụng, giống như đối với các bộ VPN. - Xác thực thông điệp: Đối với ESP, nếu chỉ yêu cầu xác thực thì GMAC sẽ được sử dụng. GMAC là một thuật toán mã xác thực thông điệp dựa trên phương thức hoạt động CRT. Đối với IKE, xác thực thông điệp được cung cấp bằng HMAC với một trong các hàm băm SHA-3. - Chức năng giả ngẫu nhiên: IKEv2 trong các bộ này tạo ra các bit giả ngẫu nhiên bằng cách sử dụng lặp lại MAC. 5.2.7. Chính sách IPsec IPsec hoạt động dựa vào các chính sách bảo mật được áp dụng cho mỗi gói IP truyền từ nguồn đến đích. Chính sách IPsec được xác định chủ yếu bởi sự tương tác của hai cơ sở dữ liệu, gồm Security Association Database - SAD và Security Policy Database - SPD. Hình 5.14 minh họa các mối quan hệ giữa hai bên với sự tham gia của hai cơ sở dữ liệu SAD và SPD. Hình 5.14: Mối quan hệ giữa SAD và SPD Security Association Database - SAD. SA (Security Association) là một kết nối logic một chiều giữa người gửi và người nhận, cung cấp các 227
  17. dịch vụ bảo mật cho lưu lượng trong liên kết đó. Nếu cần thiết để trao đổi an toàn hai chiều, thì cần phải có hai SA. SA được dùng trong cả cơ chế xác thực và bảo mật cho IPSec. Khi triển khai IPsec, cơ sở dữ liệu SAD xác định các tham số liên quan đến mỗi SA như thông tin các thuật toán mã hóa, xác thực. Security Policy Database – SPD. Cơ sở dữ liệu chính sách bảo mật. Ở dạng đơn giản nhất, SPD chứa các mục nhập, mỗi mục trong số đó xác định một tập hợp con của lưu lượng IP và trỏ đến một SA của lưu lượng đó. Trong các môi trường phức tạp hơn, có thể có nhiều mục nhập liên quan đến một SA duy nhất hoặc nhiều SA được liên kết với một mục SPD. Mỗi mục nhập SPD được xác định bởi một tập hợp các giá trị trường giao thức IP và lớp trên - được sử dụng để lọc lưu lượng đi nhằm ánh xạ nó thành một SA cụ thể. 5.3. Giao thức bảo mật tầng Transport 5.3.1. Giới thiệu SSL SSL (Security Sockets Layer) là giao thức mạng được sử dụng để giúp truyền thông an toàn qua mạng máy tính bằng cách sử dụng cả mã hóa bất đối xứng cũng như mã hóa đối xứng để cung cấp quyền riêng tư, tính toàn vẹn và xác thực của dữ liệu. SSL được phát triển bởi Netscape, phiên bản đầu tiên được công bố là SSL 2.0 vào năm 1994, sau đó là phiên bản 3.0 vào năm 1996. Năm 1999, phiên bản 3 của giao thức SSL được tổ chức IETF phát triển thành TLS 1.0 (Transport Layer Security) và đến nay đã có nhiều cải tiến với nhiều version TLS khác nhau, hiện tại là TLS 1.3. Ngày nay, TLS được sử dụng nhiều trong truyền thông an toàn trên mạng, nhưng đa số mọi người quen gọi SSL thay vì TLS, thậm chí một số thương hiệu lớn về bảo mật vẫn dùng tên quen thuộc SSL, không thay đổi thành TLS. Ba đặc tính bảo mật của SSL: - Tính xác thực (Authentication): dùng mã hóa khóa công khai. - Tính bí mật (Confidentiality): dùng mã hóa đối xứng. - Tính toàn vẹn (Integrity): Mã xác thực MAC (Message Authentication Code) dựa vào mã hóa đối xứng. Ứng dụng của SSL trong các dịch vụ mạng - Bảo mật các giao dịch giữa khách hàng và doanh nghiệp, các dịch vụ truy nhập hệ thống, xác thực website, giao dịch. - Bảo mật webmail và các ứng dụng như Outlook Web Access, Exchange, và Office Communication Server. - Bảo mật các ứng dụng ảo hóa như Citrix Delivery Platform, các ứng dụng điện toán đám mây. - Bảo mật dịch vụ FTP, truy cập từ xa. 228
  18. - Bảo mật các dịch vụ truyền dữ liệu trong mạng nội bộ, file sharing, mạng extranet. - Bảo mật VPN Access Servers, Citrix Access Gateway,… 5.3.2. Các khái niệm trong SSL a. K. khái niệm trong SK. khái niệm trong SSLers, Citrix Access Gateway bộ, file sharing, ng , cung ci niệm trong SSLers, Citrix Access Gateway bộ, file sharing, ng điện toán đám mâyn Serverthay đổi thành TLS. bản đầu tiên được công bố là SSL 2.0 vào năm 1994, sau đó là phiên bản 3.0 vào năm 1996. Năm 1999, phiên bản 3 của giao thức SSL được tổ chứmột phiên (session). Trạng thái kết nối được xác định bởi các tham số sau. - Số ngẫu nhiên của máy chủ và máy khách: Trình tự các byte được máy chủ và máy khách chọn cho mỗi kết nối. - Máy chủ tạo mã xác thực văn bản MAC (Message Authentication code): Khóa bí mật được sử dụng trong các hoạt động MAC trên dữ liệu được gửi bởi máy chủ. - Máy khách tạo mã xác thực văn bản MAC: Khóa bí mật được sử dụng trong các hoạt động MAC trên dữ liệu do máy khách gửi. - Khóa ghi của máy chủ: Khóa mã hóa bí mật cho dữ liệu được máy chủ mã hóa và máy khách giải mã. - Khóa ghi của máy khách: Khóa mã hóa đối xứng cho dữ liệu được máy khách mã hóa và máy chủ giải mã. - Vectơ khởi tạo IV (Initialization vector): Khi sử dụng mật mã khối ở chế độ CBC, một IV được duy trì cho mỗi khóa. IV được khởi tạo lần đầu tiên bởi giao thức bắt tay SSL. Sau đó, khối bản mã cuối cùng từ mỗi bản ghi được giữ lại để sử dụng như IV với bản ghi sau. - Số thứ tự: Mỗi bên duy trì các số thứ tự riêng biệt cho các bản tin được truyền và nhận cho mỗi kết nối. Khi một bên gửi hoặc nhận một bản tin đặc tả mật mã thay đổi, số thứ tự thích hợp được đặt thành không. Số thứ tự không được vượt quá 264 - 1. a. Phiên (Session) Phiên SSL là một quá trình duy trì kết nối an toàn trong quá trình giao tiếp được bảo mật. Do đó, khi kết nối ngừng hoạt động, phiên SSL có thể thiết lập lại kết nối nhanh chóng bằng cách sử dụng Cookie. Phiên SSL được tạo bằng giao thức bắt tay SSL, được định nghĩa là một tập hợp các tham số bảo mật. Các phiên được sử dụng để tránh việc thương lượng tốn kém các tham số bảo mật mới cho mỗi kết nối. Một phiên SSL có thể được chia sẻ thông qua nhiều kết nối SSL và mỗi 229
  19. kết nối có một khóa phiên khác nhau. Giữa bất kỳ cặp trao đổi thông tin nào, ví dụ như ứng dụng web trên máy khách và máy chủ, có thể có nhiều kết nối an toàn. Về lý thuyết, cũng có thể có nhiều phiên đồng thời giữa các bên, nhưng tính năng này không được sử dụng trong thực tế. Có một số trạng thái được liên kết với mỗi phiên. Khi một phiên được thiết lập, sẽ có trạng thái hoạt động hiện tại cho cả nhận và gửi dữ liệu. Trạng thái phiên được xác định bởi các tham số sau. - Session identifier: Định danh phiên là một chuỗi byte tùy ý được máy chủ chọn để xác định trạng thái phiên hoạt động. - Peer certificate: Chứng chỉ ngang hàng theo chuẩn X509.v3. Phần tử này của trạng thái có thể là rỗng. - Phương pháp nén: Thuật toán để nén dữ liệu trước khi mã hóa. - Cipher spec: Chỉ định thuật toán mã hóa dữ liệu (chẳng hạn như null, AES, v.v.) và thuật toán băm (chẳng hạn như MD5 hoặc SHA-1) được sử dụng để tính toán MAC. - Khóa bí mật chính: khóa bí mật 48 byte được chia sẻ giữa máy khách và máy chủ. - Is resumable: Một cờ cho biết liệu phiên có thể được sử dụng để bắt đầu các kết nối mới hay không. b. Chứng chỉ SSL Chứng chỉ SSL là cần thiết và bắt buộc đối với tất cả các giao dịch SSL. Chứng chỉ SSL là phương tiện chứng thực với mục đích xác minh 1 website, tên miền đã có bản quyền, thuộc sở hữu của tập thể hay cá nhân nào đó nhất định. Cơ quan cấp chứng chỉ (CA - Certificate Authority) là một công ty hoặc tổ chức hoạt động để xác thực danh tính của các thực thể (chẳng hạn như trang web, địa chỉ email, công ty hoặc cá nhân) và ràng buộc họ với các khóa mật mã thông qua việc phát hành các tài liệu điện tử được gọi là chứng chỉ số. Nhà cung cấp chứng chỉ số đóng vai trò là bên thứ ba (được cả hai bên tin tưởng) để hỗ trợ cho quá trình trao đổi thông tin an toàn và họ là thành phần trung tâm trong nhiều mô hình hạ tầng khóa công khai. Chứng chỉ số cung cấp các chức năng: - Xác thực, bằng cách đóng vai trò là thông tin xác thực để xác thực danh tính của thực thể mà nó được cấp cho. - Mã hóa, để liên lạc an toàn qua các mạng không an toàn như Internet. - Tính toàn vẹn của các tài liệu đã ký với chứng chỉ để chúng không thể bị thay đổi bởi bên ngoài trong quá trình vận chuyển. Hoạt động cấp chứng chỉ, được mô tả trong Hình 5.15 230
  20. Người đăng ký chứng chỉ số (Applicant) sẽ tạo một cặp khóa bao gồm khóa riêng và khóa công khai, cùng với yêu cầu ký chứng chỉ (CSR - certificate signing request). CSR là một tệp văn bản được mã hóa bao gồm khóa công khai và thông tin khác sẽ được bao gồm trong chứng chỉ (ví dụ: tên miền, tổ chức, địa chỉ email, v.v.). Cặp khóa và CSR thường được thực hiện trên máy chủ hoặc máy trạm nơi chứng chỉ sẽ được cài đặt và loại thông tin được bao gồm trong CSR khác nhau tùy thuộc vào mức độ xác thực và mục đích sử dụng chứng chỉ. Khóa riêng của người đăng ký được giữ an toàn và không bao giờ được hiển thị cho CA (hoặc bất kỳ ai khác). Sau khi tạo CSR, người đăng ký sẽ gửi nó đến CA, tổ chức này sẽ xác minh độc lập rằng thông tin chứa trong đó là chính xác và nếu có, ký số vào chứng chỉ bằng một khóa riêng đang phát hành và gửi cho người đăng ký. Khi chứng chỉ đã ký được xuất trình cho bên thứ ba (chẳng hạn như khi người đó truy cập trang web của chủ sở hữu chứng chỉ), người nhận có thể xác nhận bằng mật mã chữ ký số của CA thông qua khóa công khai của CA. Ngoài ra, người nhận có thể sử dụng chứng chỉ để xác nhận rằng nội dung đã ký đã được gửi bởi ai đó sở hữu khóa riêng tương ứng và thông tin đó không bị thay đổi kể từ khi được ký. Hình 5.15: Hoạt động cấp chứng chỉ Các kiểu chứng chỉ SSL: DV-SSL (Domain Validation SSL): chứng chỉ số SSL chứng thực cho tên miền - Website. Khi 1 website sử dụng DV-SSL thì sẽ được xác thực tên miền, website đã được mã hóa an toàn khi trao đổi dữ liệu. OV-SSL (Organization Validation SSL): chứng chỉ số SSL chứng thực cho website và xác thực doanh nghiệp đang sở hữu website đó . EV-SSL (Extended Validation SSL): Xác thực mở rộng cho bất kỳ giao dịch nào thông qua trang web. Hầu hết các ngân hàng hoặc công ty liên quan đến hoạt động tài chính đều sử dụng để cung cấp cấp độ bảo mật cao 231
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
10=>1