Mạng riêng ảo Xây dựng mạng riêng ảo có bảo mật với IPSec trên Linux Như vậy công việc thực hiện đồ án : • Tìm hiểu về VPN. • Tìm hiểu giao thức IPSec • Tìm hiểu các phương thức triển khai VPN với IPSec. • Thử triển khai trên thực tế mạng VPN với IPSec trên mô hình hosttohost trên Linux. • Xây dựng mô hình tổng thể networktonetwork trên Linux.
Trang 1LỜI NÓI ĐẦU 2
CHƯƠNG I
TỔNG QUAN VỀ VPN 3
1 Tổng quan về VPN 3
2 Các dạng VPN 5
CHƯƠNG II 6
TỔNG QUAN VỀ IPSEC 6
1 Tổng quan các chức năng và dịch vụ IP Security 6
2 Các tiêu chuẩn IP Security 6
CHƯƠNG III
GIAO THỨC, THÀNH PHẦN VÀ HOẠT ĐỘNG CỦA IPSEC 8
1 Các giao thức nòng cốt của IP Security 9
1.1 IPSec Authentication Header (AH) 9
1.2 Encapsulating Security Payload (ESP) 12
a Các trường ESP 13
b Hoạt động và phạm vi sử dụng ESP 13
c Khuôn dạng ESP 15
2 Các thành phần hỗ trợ IP Security 17
2.1 Thuật toán băm và mã hóa 17
2.2 Các phương thức quản lý, các chế độ và liên kết bảo mật 17
2.3 Cơ chế chuyển khóa 18
2.4 IKE ( Internet Key Exchange ) 18
a Tổng quan về IKE 18
b Hoạt động của IKE 19
3 Cấu trúc IPSEC và các phuơng thức thực thi 19
3.1 Các phương thức thực thi 19
3.2 Cấu trúc IP Security 20
a Cấu trúc tích hợp (Integrated Architecture) 20
b Cấu trúc gắn vào stack (Bump in the Stack Architecture) 20
c Cấu trúc gắn vào đường truyền (Bump in the Wire Architecture) 21
4.Các phương thức IPSec 22
4.1 Phương thức vận chuyển 22
4.2 Phương thức đường hầm 23
4.3 Mô hình hoạt động của IPSec 25
4.4 Biểu đồ xử lý dữ liệu tại các thiết bị IPSec 26
CHƯƠNG IV
VPN VỚI IPSEC TRÊN MÔI TRƯỜNG LINUX 29
1 Sơ đồ phân cấp chức năng và biểu đồ luồng dữ liệu : 30
2 Phương thức đường hầm ( Network-To-Network ) 31
3 Triển khai VPN-IPSec trên Linux theo phương thức đường hầm : 32
a Phần mềm hỗ trợ : 32
b Yêu cầu về phần cứng : 33
c Cấu hình : 33
4 Ưu nhược điểm của VPN sử dụng IPSec 36
4.1 Ưu điểm : 36
4.2 Nhược điểm : 36
KẾT LUẬN 37
Trang 2LỜI NÓI ĐẦU
Ngày nay với sự phát triển của Internet thì những phương pháp tấn công trên mạng ngày càng tinh vi và đa dạng Vì vậy vấn đề đảm bảo an toàn an ninh thông tin truyền đi trên mạng là một nhu cầu hết sức bức thiết
Để chống lại các phương pháp tấn công xâm phạm tính mật của dữ liệu người
ta hay sử dụng khái niệm VPN ( Virtual Private Network ) để thiết lập kênh truyền bảo mật giữa các bên liên quan
Vì thế khi lựa chọn đồ án : Mạng riêng ảo Xây dựng mạng riêng ảo có bảo mật với IPSec trên Linux em hy vọng có thể có được những hiểu biết cơ bản
về việc xây dựng một hệ thống bảo mật và phương thức triển khai trên thực tế.Như vậy công việc thực hiện đồ án của em bao gồm :
Tìm hiểu về VPN.
Tìm hiểu giao thức IPSec
Tìm hiểu các phương thức triển khai VPN với IPSec.
Thử triển khai trên thực tế mạng VPN với IPSec trên mô hình to-host trên Linux.
host- Xây dựng mô hình tổng thể network-to-network trên Linux.
Nội dung đề tài được chia làm những phần như sau :
Chương 1 : Tổng quan về VPN : Giới thiệu qua về khái niệm VPN và các giao
thức được sử dụng hiện nay
Chương 2 : Tổng quan về IPSec : Giới thiệu sơ bộ về các tiêu chuẩn và chức
năng của IPSec
Chương 3 : Giao thức thành phần và hoạt động của IPSec : Trong chương
này sẽ trình bày chi tiết về các thành phần liên quan trong IPSec Đồng thời trong chương này em sẽ trình bày những phương thức triển khai VPN trên IPSec và các biểu đồ luồng xử lý dữ liệu tại các thiết bị hỗ trợ IPSec
Chương 4 : VPN với IPSec trên môi trường Linux : Giới thiệu về lịch sử
phát triển của IPSec trên môi trường Linux, các chương trình hỗ trợ IPSec hiện nay và cách bước triển khai VPN với IPSec trên môi trường Linux trong mô hình network-to-network
Chương 5 : Kết luận : Tổng kết quá trình làm đồ án và những kinh nghiệm thu
được
Trang 3CHƯƠNG I TỔNG QUAN VỀ VPN
1 Tổng quan về VPN
Với sự phát triển của Internet ngày nay chúng ta có thể dễ dàng kết nối, trao đổithông tin với nhau một cách dễ dàng và thuận tiện.Tuy nhiên Internet cũng cónhững vấn đề về bảo mật mà chúng ta cần quan tâm Trong thực tế khi sử dụngInternet thì những thông tin từ máy tính của chúng ta như thẻ tín dụng, thôngtin cá nhân v v cần phải được truyền đi qua rất nhiều trạm ( router hay server )
để có thể đến được đích vì thế những thông tin này rất dễ bị nghe trộm
Vì vậy vấn đề đặt ra là làm sao thông tin được lưu thông qua Internet nhưngvẫn phải đảm bảo được vấn đề bảo mật , đảm bảo được tính riêng tư và thuậntiện?
=> VPN sinh ra nhằm đáp ứng nhu cầu này.
Dưới đây là hình mô phỏng 1 mô hình mạng Internet trong đó có tồn tại mộtmạng VPN.Đường chấm ngắt quãng tượng trưng cho VPN Tunnel
Trang 4- Về thực chất VPN vẫn sử dụng Internet như là một hạ tầng không thểthiếu để truyền tải thông tin Sự khác biệt ở đây là VPN sử dụng nhữnggiao thức để truyền tài dữ liệu vì thế VPN tạo nên một mạng riêng ảo,
mà chỉ những thành viên trong mạng VPN đó mới có thể trao đổi thôngtin và hiểu được tín hiệu của nhau
- VPN tạo ra khả năng cho Client và Server có thể tiếp cận với nhau
VPN Client xác thực người dùng, mã hoá dữ liệu và quản lý phiên làm việc
với VPN Server bằng công nghệ Tunneling ( hay còn gọi là công nghệ
+ Vùng thứ hai kém tin cậy hơn gọi là vùng ngoài (outside )
+ Thông thường giữa Client và Server sẽ có Firewall ( tường lửa )
- Khi mà Client thiết lập kết nối với Firewall thì Client phải chứng thựcđược quyền truy cập của nó để có thể sử dụng những dịch vụ bên trong
VPN Client được cấu hình để đảm bảo rằng tất cả thông tin truyền tải phải
đi qua Tunnel khi mà VPN được kích hoạt Điều đó có nghĩa là khi VPNClient đang hoạt động thì tất cả truy cập từ bên ngoài vùng được bảo vệđều phải đi qua FireWall Điều này nhằm làm giảm thiểu khả năng Hacker
có thể đoạt quyền quản trị của các máy chủ, hoặc các máy tính khác trongnội bộ các nhóm Server
A
CD
Trang 5Dưới đây là hình minh hoạ VPN A và B.
Dưới đây là các giao thức sử dụng trong VPN hiện nay:
IPSec ( IP Security ) một phần không thể thiếu của Ipv6
SSL được sử dụng trong tạo một mạng độc lập như OpenVPN và cảtrong việc bảo mật của Web Proxy
PPTP ( point to point tunneling protocol ) được phát triển bởi rấtnhiều công ty trong đó có Microsoft, Cisco
L2TP (Layer 2 Tunneling Protocol ) được phát triển bởi Microsoft vàCisco
L2TP3 ( Layer 2 Tunneling Protocol Version 3 )
Vì vậy mục tiêu của đồ án này em xin trình bày về giao thức IPSec, các phương thức vận hành của IPSec và việc áp dụng IPSec với VPN trên môi trường Linux.
Trang 6CHƯƠNG II TỔNG QUAN VỀ IPSEC
1 Tổng quan các chức năng và dịch vụ IP Security
IP Security (IPSec) không phải là một giao thức đơn lẻ, mà là một tập các giao thức và dịch vụ cung cấp một giải pháp bảo mật cho một mạng IP Những giao thức và dịch vụ này kết hợp với nhau để tạo ra nhiều cơ chế bảo vệ khác nhau Bởi vì IPSec hoạt động ở tầng mạng (network), nên nó có thể cung cấp các cơ chế bảo vệ cho bất kỳ các ứng dụng hay giao thức TCP/IP ở tầng cao hơn mà không cần thêm phương pháp bảo mật nào, và đó là một đặc tính rất mạnh của IPSec Sau đây là một vài dịch vụ và cơ chế bảo vệ của IPSec:
Mã hóa dữ liệu người dùng để bảo đảm tính riêng tư
Xác thực tính toàn vẹn thông tin của gói tin để đảm bảo nó không bị thay đổi trên đường truyền
Bảo vệ trước những tấn công an ninh (như replay attack)
Khả năng cho các thiết bị có thể kết hợp với những khóa và thuật toán bảo mật cần thiết để có thể đáp ứng thích hợp với các đòi hỏi về bảo mật
Cung cấp hai phương thức bảo mật, vận chuyển (transport) và đường hầm (tunnel) cho các mạng khác nhau
2 Các tiêu chuẩn IP Security
Bởi IPSec thực sự là một tập các giao thức và kỹ thuật cho nên nó không được định nghĩa bởi các tiêu chuẩn Internet đơn lẻ Thay vào đó, một tập hợp các công bố chính thức RFC (Request For Comment) đã được dùng để định nghĩa cho cấu trúc, các dịch vụ và các giao thức cụ thể sử dụng trong IPSec Một trong những tiêu chuẩn quan trọng nhất được đưa ra sau đây:
2403 The Use of HMAC-
MD5-96 within ESP
and AH
Mô tả thuật toán mã hóa chi tiết được sử dụng bởi giao thức AH và ESP được gọi là biến đổi HMAC, Message Digest 5 (MD5)
2404 The Use of HMAC-
SHA-1-96 within
ESP and AH
Mô tả thuật toán mã hóa chi tiết được sử dụng bởi giao thức AH và ESP được gọi là biến đổi HMAC, Secure Hash Algorithm 1
Trang 7và OAKLEY.
2412 The OAKLEY Key
Determination
Protocol
Mô tả một giao thức chung cho chuyển khóa
Những tiêu chuẩn quan trọng của IPSec.
Việc triển khai IPSec chỉ thực sự bắt đầu trong vài năm gần đây Một trong những mục đích sử dụng lớn là triển khai IPSec trong các mạng riêng ảo
(Vitual Private Network –VPN)
Trang 8CHƯƠNG III GIAO THỨC, THÀNH PHẦN VÀ
HOẠT ĐỘNG CỦA IPSEC
IPSec cung cấp các dich vụ bảo mật cho các ứng dụng và giao thức TCP/IP khác ở tầng mạng Điều đó có nghĩa là IPSec cung cấp các công cụ để các thiết
bị trên mạng TCP/IP có thể giao tiếp một cách an toàn Khi hai thiết bị muốn tiến hành những kết nối an toàn, chúng cài đặt một đường dẫn bảo mật giữa cácthiết bị để có thể vượt qua nhiều hệ thống trung gian không an toàn Để đạt được điều này, các thiết bị phải thực hiện các công việc sau:
- Thống nhất về tập các giao thức bảo mật được sử dụng sao cho khi một thiết
bị gửi dữ liệu ở một khuôn dạng mà thiết bị khác có thể hiểu được
- Quyết định thuật toán mã hóa để mã hóa dữ liệu
- Trao đổi khóa để mở khóa dữ liệu đã được mã hóa
-Khi mà công việc nền hoàn thành, mỗi thiết bị phải sử dụng các giao thức, phương thức và các khóa đã thống nhất ở trên để mã hóa dữ liệu và gửi nó lên mạng
Tổng quan các thành phần và giao thức IPSec
1 Các giao thức nòng cốt của IP Security
1.1 IPSec Authentication Header (AH)
Đây là giao thức cung cấp các dịch vụ xác nhận của IPSec Nó cho phép người
Trang 9người gửi ban đầu không Nó cũng cho phép người nhận kiểm tra xem các thiết
bị trung gian trên đường truyền có thay đổi bất kỳ dữ liệu gì trong gói tin hay không Ngoài ra giao thức này cung cấp cơ chế bảo vệ chống lại những tấn công bảo mật như replay attack
AH cung cấp xác nhận cho tất cả hay một phần nội dung của một gói tin bằng cách gắn thêm một header được tính toán dựa trên các giá trị trong gói tin Các phần của gói tin được sử dung cho việc tính toán, và vị trí của header phụ thuộcvào phương thức (vận chuyển hay đường hầm) và phiên bản IP sử dụng (IPv4 hay IPv6) Hoạt động của AH khá đơn giản, đặc biệt là đối với bất kỳ giao thứcnào làm việc với bảo mật mạng Sự đơn giản này cũng giống như các thuật toánđược dùng để tính toán checksum hay thực hiện những kiểm tra dư thừa xoay vòng (CRC) để phát hiện lỗi Trong những trường hợp đó, người gửi sử dụng một thuật toán chuẩn để tính checksum hoặc mã CRC dựa trên nội dung của tin Kết quả tính toán sẽ được truyền đi cùng với dữ liệu gốc tới điểm đích, ở
đó lặp lại việc tính toán và loại bỏ tin nếu tìm thấy bất kỳ sự không thống nhất nào giữa tính toán của nó và tính toán được thực hiện bởi đầu nguồn
Đây cũng chính là ý tưởng đằng sau AH, ngoại trừ việc thay vì sử dụng một thuật toán đơn giản mà ai cũng biết, AH sử dụng thuật toán băm đặc biệt và một khóa cụ thể mà chỉ có điểm bắt đầu (nguồn) và điểm đích biêt Một liên kếtbảo mật SA (Security Association) giữa hai thiết bị chỉ rõ các chi tiết này, vì vậy nguồn và đích sẽ biết cách thực hiện việc tính toán mà thôi Ở thiết bị nguồn, AH thực hiện việc tính toán và đẩy kết quả (integrity check value – ICV) vào trong một header đặc biệt với các trường khác để truyền đi Thiết bị đích thực hiện cùng một công việc tính toán sử dụng khóa được chia sẻ bởi hai thiết bị Điều này khiến cho thiết bị có khả năng nhìn thấy bất kỳ sự thay đổi nào đối với các trường trong gói tin gốc Cũng như checksum, việc tính toán ICV không làm thay đổi dữ liệu gốc Sự có mặt của AH header cho phép kiểm tra tính toàn vẹn của gói tin, nhưng không mã hóa nó
a Liên kết và sắp đặt gói tin AH
Việc tính toán của AH là tương tự với IPv4 và IPv6 Một điểm khác là trong cơcấu chính xác sử dụng để đặt header vào trong gói tin và để liên kết các header với nhau
Trong IPv6, AH được đặt vào trong gói tin IP như là một header mở rộng, theo sau là các quy tắc IPv6 tiêu chuẩn cho việc liên kết các
header mở rộng Nó được liên kết bằng header phía trước (mở rộng hoặcheader chính) đã đặt giá trị được gán cho header AH (51) vào trong trường của header tiếp theo (Next Header) Header AH sau đó sẽ liên kếtvới header mở rộng kế tiếp hoặc header của tầng vận chuyển sử dụng trường Next Header
Trong phương thức vận chuyển, AH được đặt trong header IP chính và xuất hiện trước bất kỳ header chọn đích nào (Destination Options) mà bao gồm các ý định chọn lựa điểm đích cuối cùng, và trước header ESP (nếu có), nhưng sau các header mở rộng Trong phương thức đường hầm, AH xuất hiện như một header mở rộng của gói tin IP mới được đóng gói cùng với gói tin gốc được chuyển qua đường hầm
Trang 10Khuôn dạng gói tin IPv6 với giao thức AH
Trong IPv4 một phương thức tương tự với kỹ thuật liên kết header của IPv6 được sử dụng Trong một gói tin IPv4, trường giao thức (Protocol) cho biết đặc tính của giao thức tầng cao hơn (TCP hay UDP) trong gói tin Như vậy, trường này trỏ tới header kế tiếp nằm trước tải IP AH nhận giá trị này và đẩy nó vào trường Next Header, sau đó đặt giá trị giao thức cho bản thân AH (51) vào trường giao thức IP (IP Protocol) Điều này khiến cho header IP trỏ tới AH mà sau đó AH lại trỏ tới bất cứ cái gì mà gói tin IP đã trỏ tới trước đó Một lần nữa, trong phương thức vận chuyển, header AH được gắn vào sau header IP chính của gói tin gốc Trong phương thức đường hầm, AH được gắn vào sau header Ip mới được đóng gói với gói tin gốc chuyển qua đường hầm
Trang 11Khuôn dạng gói tin IPv4 với giao thức AH
b Khuôn dạng AH
Khuôn dạng của AH được mô tả và minh họa như trong hình và bảng sau:
Tên trường Kích thước Mô tả
Next Header 1 Gồm số giao thức của header tiếp theo sau AH Dùng
để liên kết các header với nhau
Payload Len 1 Đo độ dài của header xác nhận
Reserved 2 Không sử dụng (mặc định bằng 0)
SPI 4 Giá trị 32 bit, kết hợp với địa chỉ đích và kiểu giao
thức bảo mật, nhận diện SA sử dụng cho gói tin.Sequence
Number
4 Một trường đếm được khởi tạo bằng 0 khi một SA
được tạo ra giữa hai thiết bị, và tăng dần khi mỗi gói tin được gửi đi sử dụng SA đó Điều này nhận diện duy nhất mỗi gói tin trên một SA và được dùng để
Trang 12chống lại replay attack bằng cách ngăn ngừa việc gửi lại các gói tin bị đánh cắp.
bit Cũng như vậy, toàn bộ header phải là bội của 32 bits (với IPv4) hoặc bội
của 64 bits (với IPv6), vì vậy bộ đệm có thể được gán thêm vào trường
Authentication Data nếu cần thiết
1.2 Encapsulating Security Payload (ESP)
Giao thức AH chỉ đảm bảo tính toàn vẹn của dữ liệu trong gói tin chứ không đảm bảo tính riêng tư của dữ liệu Giao thức AH của IPSec cung cấp các dịch
vụ xác nhận tính toàn vẹn cho các thiết bị hỗ trợ IPSec do đó chúng có thể
kiểm tra các gói tin nhận được có bị thay đổi bởi các thiết bị khác không Tuy nhiên đối với nhiều ứng dụng, đây chỉ là một bộ phận nhỏ so với rắc rối tổng
quan Ta không chỉ muốn bảo vệ gói tin bị thay đổi bởi các thiết bị trung gian,
mà còn bảo vệ chống lại sự khám xét nội dung gói tin Với mức giao tiếp riêng
tư này thì AH là không đủ.Khi mà thông tin trong gói tin là “for your eyes
only” chỉ có bạn mới nhìn thấy được, nó có thể được bảo vệ thêm nữa sử dụng ESP, bằng cách mã hóa tải các gói tin IP
Công việc chính của ESP là cung cấp tính riêng tư cho gói tin IP bằng cách mã hóa chúng Một thuật toán mã hóa kết hợp dữ liệu trong gói tin với một khóa đểbiến đổi nó thành dạng mã hóa Sau đó được đóng gọi lại sử dụng một khuôn dạng đặc biệt, và truyền đến điểm đích, ở đó nó được giải mã sử dụng cùng một
Trang 13thuật toán trên ESP cũng sử dụng sơ đồ xác nhận của bản thân nó như là ở AH,hoặc nó có thể sử dụng kết hợp với AH.
a Các trường ESP
ESP có một vài trường giống như các trường sử dụng trong AH, nhưng nó đóng gói các trường theo một cách khác Thay vì chỉ có một header, ESP chia các trường thành ba thành phần:
ESP Header bao gồm hai trường là SPI và Sequence Number, xuất hiện trước dữ liệu mã hóa Vị trí của nó phụ thuộc vào ESP được sử dụng trong phương thức nào (vận chuyển hay đường hầm)
ESP Trailer Bộ phận này được đặt sau dữ liệu mã hóa Nó bao gồm đệm dùng
để canh dữ liệu mã hóa qua trường Padding và Pad Length Nó cũng bao gồm trương Next Header
ESP Authentication Data Bao gồm một giá trị ICV được tính toán theo cách tương tự như ở AH Trường này được sử dụng khi tính năng xác nhận lựa chọn của ESP được thực hiện
Có hai nguyên nhân dẫn đến các trường lại được chia nhỏ thành các phần Nguyên nhân thứ nhất là do một vài thuật toán mã hóa yêu cầu dữ liệu phải được mã hóa để có kích thước nhất định, vì vậy phần đệm xuất hiện trước chứ không phải sau dữ liệu Đó là lý do mà phần đệm xuất hiện trong trường ESP Trailer Nguyên nhân thứ hai là trường ESP Authentication Data xuất hiện riêng biệt bởi vì nó được sử dụng để xác nhận phần còn lại của gói tin mã hóa sau khi mã hóa Điều này có nghĩa nó không thể xuất hiện trong trường ESP Header hay ESP Trailer
b Hoạt động và phạm vi sử dụng ESP
Trường header
Với IPv6 Trường ESP Header được đặt vào trong gói tin IP như là một header
mở rộng, tiếp theo là các quy tắc IPv6 tiêu chuẩn cho liên kết header mở rộng Trong phương thức vận chuyển, nó xuất hiện trước một header (Destination Options) gồm các chọn lựa cho đích cuối cùng, nhưng sau các header mở rộng khác (nếu có) Trong phương thức đường hầm, nó xuất hiện như một header
mở rộng của một gói tin mới được đóng gói với gói tin gốc được chuyển qua đường hầm
Với IPv4 Cũng như với AH, trường ESP Header được đặt sau header IPv4 chuẩn Trong phương thức vận chuyển, nó xuất hiện sau IP header của gói tin gốc Trong phương thức đường hầm, nó xuất hiện sau IP header của gói tin mớiđược đóng gói với gói tin gốc
Trường Trailer :
Trang 14Trường ESP Trailer được gắn vào dữ liệu sẽ được mã hóa Sau đó ESP sẽ thực hiện công việc mã hóa Tải (thông điệp TCP/UDP hay gói tin IP được đóng gói) và ESP Trailer đều được mã hóa, nhưng ESP Header thì không Bất kỳ IP header nào xuất hiện giữa ESP Header và tải cũng đều được mã hóa
Sắp xếp và tính toán trường ESP Authentication :
Nếu tính năng xác nhận ESP lựa chọn được sử dụng, nó sẽ được tính toán trên toàn bộ các gói tin ESP Bao gồm cả ESP Header, Trailer và Payload
Khuôn dạng gói tin IPv6 với giao thức ESP
Trang 15Khuôn dạng gói tin IPv4 với giao thức ESP
c Khuôn dạng ESP
Khuôn dạng ESP với các trường và bộ phận được mô tả qua bảng và hình sau:
Bộ phận Tên trường Kích thước
(Bytes)
mã hóa
Vùng xác nhậnESP
Header
SPI 4 Giá trị 32 bit, kết hợp với
địa chỉ đích và kiểu giao thức bảo mật, nhận diện SA
sử dụng cho gói tin
Trang 16Sequence
Number 4 Một trường đếm được khởi tạo bằng 0 khi một SA được
tạo ra giữa hai thiết bị, và tăng dần khi mỗi gói tin được gửi đi sử dụng SA đó
Được dùng để chống lại replay attack
Payload Payload
Data
Variable Dữ liệu tải được mã hóa bao
gồm một gói tin ở tầng cao hơn hoặc gói tin IP đóng gói Nó có thể gồm các thông tin hỗ trợ như vector khởi tạo dùng cho các phương thức mã hóa nhất định
Header 1 Gồm số giao thức của header tiếp theo sau AH
Dùng để nối các header với nhau
ESP Authentication
Data
Variable Bao gồm kết quả ICV từ
ứng dụng của thuật toán xác nhận ESP lựa chọn
Khuôn dạng ESP
Khuôn dạng ESP
Trang 17Trường Padding được sử dụng khi thuật toán mã hóa yêu cầu nó
Padding cũng được sử dụng để đảm bảo trường ESP Trailer kết thức ở phạm vi
32 bits Vì thế, kích thước của trường ESP Header cộng với Payload, ESP Trailer phải là bội của 32 bits Trường ESP Authentication Data cũng vậy
2 Các thành phần hỗ trợ IP Security
2.1 Thuật toán băm và mã hóa
Các giao thức AH và ESP thuộc cùng một lớp và không chỉ rõ cơ chế chính xác được sử dụng cho việc mã hóa Điều này khiến chúng có khả năng làm việc một cách linh hoạt với các thuật toán đa dạng và liên kết với thuật toán cần thiết Hai thuật toán phổ biến được dùng với IPSec là Message Digest
5 (MD5) và Secure Hash Algorithm 1 (SHA-1) Chúng còn được gọi là những thuật toán băm (hashing) bởi chúng hoạt động bằng cách tính toán một công thức (called a hash) dựa trên dữ liệu đầu vào và một khóa
2.2 Các phương thức quản lý, các chế độ và liên kết bảo mật
Bởi sự linh hoạt của IPSec trong việc cho phép các thiết bị khác nhau quyết định cách mà chúng muốn thực thi bảo mật, nó đòi hỏi một vài biện pháp
để có thể theo dõi được các mối liên hệ bảo mật giữa các thiết bị Điều này được thực hiện trong IPSec sử dụng các cấu trúc hay các chế độ bảo mật và liênkết bảo mật, và bởi các phương hướng sẵn có đề trao đổi thông tin liên kết bảo mật
2.3 Cơ chế chuyển khóa
Để trao đổi thông tin đã được mã hóa giữa hai thiết bị, chúng cần có khảnăng chia sẻ các khóa cần cho việc giải mã thông tin Chúng cũng cần một cách
để trao đổi thông tin liên kết bảo mật Trong IPSec, một giao thức cung cấp những khả năng này gọi là Internet Key Exchange (IKE)
IPSec cũng giống như nhiều tập giao thức mạng bảo mật, dựa trên khái niệm chia sẻ bí mật Hai thiết bị muốn gửi thông tin một cách an toàn sử dụng
mã hóa và giải mã nó dùng một mẩu tin mà chỉ các thiết bị mới biết Bất kỳ ai không được chia sẻ bí mật, có khả năng ngăn chặn thông tin nhưng không thể đọc (nếu ESP được dùng để mã hóa tải) hay can thiệp (nếu sử dụng AH) được thông tin mà không bị phát hiện Trước khi cả AH hay ESP được sử dụng, việc trao đổi bí mật giữa hai thiết bị là rất cần thiết để bản thân các giao thức bảo mật sẽ sử dụng Giao thức hỗ trợ chủ yếu được sử dụng cho mục đích này trongIPSec chính là IKE
IKE được định nghĩa trong chuẩn RFC 2409
Trang 182.4 IKE ( Internet Key Exchange )
a Tổng quan về IKE
Mục đích của IKE là cho phép các thiết bị trao đổi thông tin đòi hỏi cho kết nốibảo mật Nó bao gồm các khóa mật mã được sử dụng để mã hóa thông tin xác nhận và thực hiện mã hóa tải IKE thực hiện bởi các thiết bị hỗ trợ IPSec để trao đổi các liên kết bảo mật (Security Association) nằm trong cơ sở dữ liệu liên kết bảo mật (SAD) SAD được sử dụng cho việc trao đổi các gói tin an toàn với giao thức AH và ESP
IKE được coi như một giao thức lai bởi nó kết hợp các chức năng và ba giao thức khác Đầu tiên là Giao thức quản lý khóa và liên kết bảo mật Internet (Internet Security Association and Key Management Protocol – ISAKMP) Giao thức này cung cấp một cơ cấu trao đổi các khóa mã hóa và thông tin liên kết bảo mật
ISAKMP là một giao thức thuộc lớp hỗ trợ nhiều phương thức trao đổi khóa khác nhau Trong IKE, cơ cấu ISAKMP được sử dụng như nền tảng của
phương thức trao đổi khóa cụ thể để kết hợp các tính năng từ hai phương thức trao đổi khóa:
OAKLEY Mô tả một cơ cấu chi tiết cho việc trao đổi khóa thông qua vô số cácphương thức trao đổi khóa Hầu hết các quá trình trao đổi khóa IKE đều dựa trên OAKLEY
SKEME Mô tả một cơ cấu trao đổi khóa khác với OAKLEY IKE sử dụng một vài tính năng từ SKEME, bao gồm phương thức mã hóa khóa public và tính năng tạo khóa nhanh
b Hoạt động của IKE
IKE không thực hiện hoàn toàn các phương thức OAKLEY hay SKEME
mà chỉ lấy ra một vài tính năng để tạo nên phương thức riêng của mình sử dụngISAKMP Bởi các chức năng IKE nằm trong cơ cấu của ISAKMP, nên các hoạt động của nó dựa trên quá trình dàn xếp qua các giai đoạn của ISAKMP Bao gồm hai giai đoạn:
ISAKMP Phase 1 Giai đoạn đầu tiên là cài đặt khung cảnh ở đó hai thiết
bị thống nhất với nhau cách để trao đổi thông tin một cách an toàn Sự dàn xếp giữa hai đơn vị tạo nên một liên kết bảo mật cho ISAKMP (ISAKMP SA) Liên kết bảo mật này sau đó được sử dụng để trao đổi một cách an toàn trong giai đoạn 2
ISAKMP Phase 2 Trong giai đoạn này, ISAKMP SA thiết lập trong giai đoạn 1 được sử dụng để tạo ra các liên kết bảo mật cho các giao thức bảo mật khác Thông thường đây là nơi các tham số cho liên kết SA thực cho các giao thức AH và ESP dàn xếp với nhau