Chương 1 - Bß phÅn mÁm OpenSwan: Trình bày tổng quan và VPN, giao thức IPSec VPN và gißi thiáu bá phÁn mÃm OpenSwan: lßch sử, các thành phÁn của bá phÁn mÃm OpenSwan. Chương 2 - TriÃn khai há thßng VPN dąa trên OpenSwan: Trình bày thāc nghiám triÅn khai mô hình VPN Remote access dāa trên gói cài đặt bá phÁn mÃm OpenSwan. Chương 3 - Phân tích và tùy bi¿n mã nguán OpenSwan: Trình bày và c¿u trúc th° mục mã nguãn và phân tích các module của bá phÁn mÃm OpenSwan. Thāc hián tùy biÁn mã nguãn bá phÁn mÃm OpenSwan.
Chương 4 - Thąc nghiám: Trình bày thāc nghiám triÅn khai mô hình VPN site to site đ°ợc biên dßch từ mã nguãn gác và mã nguãn đã tùy biÁn của bá phÁn mÃm OpenSwan. BÞ PHÄN MÀM OPENSWAN 1. Tổng quan vÁ VPN 1. Khái niám VPN M¿ng riêng Áo là m¿ng sử dụng m¿ng công cáng (nh° Internet, ATM/Frame Relay của các nhà cung c¿p dßch vụ) làm c¢ sã h¿ tÁng đÅ truyÃn thông tin nh°ng v¿n đÁm bÁo là mát m¿ng riêng và kiÅm soát đ°ợc truy nhÁp.
Nói cách khác, VPN đ°ợc đßnh nghĩa là liên kÁt của tổ chức đ°ợc triÅn khai trên mát h¿ tÁng công cáng vßi các chính sách nh° là trong mát m¿ng riêng. Giao thức IPSec trong VPN IPSec (Internet Protocol Security) là sā kÁt hợp của các chuẩn đ°ợc đßnh nghĩa trong RFC 2406, giao thức IPSec cho phép chứng thāc, kiÅm tra tính toàn vẹn dÿ liáu, điÃu khiÅn truy cÁp và đÁm bÁo bí mÁt dÿ liáu. Ho¿t đáng t¿i tÁng 3 của mô hình OSI. IPSec bÁo đÁm tính tin cÁy, tính toàn vẹn và tính xác thāc của dÿ liáu khi qua m¿ng IP (Internet Protocol) công cáng.
Nó sử dụng hai giao thức đÅ điÃu khiÅn quá trình xác thāc và mã hóa tiêu đà gói IP: - Xác thāc tiêu đà AH (Authentication Header): AH đÁm bÁo tính toàn vẹn cho tiêu đà gói tin và dÿ liáu - Đóng gói tÁi tin an toàn ESP (Encapsulation Security Payload): thāc hián mã hóa và đÁm bÁo tính toàn vẹn cho gói dÿ liáu nh°ng không bÁo vá tiêu đà cho gói IP nh° AH. IPsec sử dụng giao thức trao đổi khóa IKE (Internet Key Exchange) đÅ thßa thuÁn liên kÁt an toàn SA (Security Association) giÿa hai thāc thÅ và trao đổi các thông tin khóa. IKE cÁn đ°ợc sử dụng phÁn lßn trong các ứng dụng thāc tÁ đÅ đem l¿i sā truyÃn tÁi thông tin an toàn trên dián ráng. Cấu trúc bảo mật của IPSec IPSec là mát kiÁn trúc an toàn dāa trên chuẩn mã, nó có các đặc tr°ng sau: - Cung c¿p tính xác thāc, mã hóa, toàn vẹn dÿ liáu và bÁo vá sā phát l¿i.
- Cung c¿p khÁ năng t¿o và tā đáng làm mßi các khóa mÁt mã mát cách an toàn. - Sử dụng các thuÁt toán mÁt mã m¿nh đÅ cung c¿p tính bÁo mÁt. - Cung c¿p khÁ năng xác thāc dāa trên chứng th° sá. - ĐiÃu chỉnh các thuÁt toán mÁt mã và các giao thức trao đổi khoá.
- Cung c¿p tính năng an toàn cho các giao thức đ°áng hÁm truy cÁp từ xa nh° L2TP, PPTP. IPSec là mát phÁn bắt buác của IPv6, có thÅ đ°ợc lāa chán khi sử dụng IPv4. Trong khi các chuẩn đã đ°ợc thiÁt kÁ cho các phiên bÁn IP giáng nhau, phổ biÁn hián nay là áp dụng và triÅn khai trên nÃn tÁng IPv4. IPSec đ°ợc đßnh nghĩa 1 từ RFC 1825 đÁn 1829 và đ°ợc phổ biÁn vào năm 1995.
Năm 1998, đ°ợc nâng c¿p vßi các phiên bÁn RFC 2401-2412, nó không t°¢ng thích vßi chuẩn 1825- 1829. Trong tháng 12 năm 2005, thÁ há thứ ba của IPSec đ°ợc mô tÁ trong RFC 4301- 4309. Chế độ làm việc của IPSec IPSec có 2 chÁ đá làm viác là giao vÁn (transport) và đ°áng hÁm (tunnel). 2 chÁ đá làm viác này đ°ợc chỉ ra trong Hình 1.1: sau: Untrusted IPsec IP L2 IP TCP/UDP Frame/ Data Header Header Header Packet AH L2 IP AH TCP/UDP Transport Data Header Header Header Header Mode Authenticated AH L2 New IP AH IP TCP/UDP Tunnel Data Header Header Header Header Header Mode Authenticated ESP L2 IP ESP TCP/UDP ESP ESP Transport Data Header Header Header Header Trailer Auth Mode Encrypted Authenticated ESP L2 New IP ESP IP TCP/UDP ESP ESP Tunnel Data Header Header Header Header Header Trailer Auth Mode Encrypted Authenticated Hình 1.1: Xử lý gói tin IP ã chÁ đá giao vÁn và chÁ đá đ°áng hÁm a.
Chế độ giao vận (Transport Mode) ChÁ đá giao vÁn cho phép bÁo vá các giao thức lßp trên và mát sá tr°áng trong IP Header. Trong chÁ đá này, AH Header hoặc ESP Header đ°ợc chèn vào sau IP Header và tr°ßc mát giao thức lßp trên nh° TCP hoặc UDP. ChÁ đá giao vÁn th°áng đ°ợc sử dụng bãi các Host chứ không đ°ợc sử dụng bãi Gateway. ChÁ đá giao vÁn có °u điÅm là chỉ thêm vào gói IP ban đÁu mát sá ít bytes, nh°ợc điÅm của chÁ đá này là nó cho phép các thiÁt bß trong m¿ng nhìn th¿y đßa chỉ nguãn và đích của gói tin và có thÅ thāc hián mát sá xử lý (ví dụ nh° 2 phân tích l°u l°ợng) dāa trên thông tin của tiêu đà IP.
Tuy nhiên, nÁu dÿ liáu đ°ợc mã hóa bãi ESP thì s¿ không biÁt đ°ợc thông tin cụ thÅ bên trong gói IP là gì. Theo IETF thì chÁ đá giao vÁn chỉ có thÅ đ°ợc sử dụng khi hai há tháng đÁu cuái IP-VPN có thāc hián IPSec. Chế độ đường hầm (Tunnel Mode) Trong chÁ đá đ°áng hÁm, mát gói tin IP khác đ°ợc thiÁt lÁp dāa trên gói tin IP cũ. Header của gói IP cũ mang đßa chỉ nguãn và đích cuái cùng, còn Header của gói IP mßi mang đßa chỉ đÅ đßnh tuyÁn trên Internet.
Trong chÁ đá này, gói tin đ°ợc bÁo vá toàn bá bao gãm cÁ IP Header. ¯u điÅm của chÁ đá đ°áng hÁm là bÁo vá toàn bá gói IP và các đßa chỉ cá nhân trong IP Header, nh°ợc điÅm là viác xử lý các gói tin s¿ trã nên khó khăn h¢n. Các thành phần bên trong IPSec a. Giao thức xác thực tiêu đề AH Giao thức xác thāc tiêu đà AH s¿ thêm mát tiêu đà vào gói IP.
Nh° tên gái của nó, tiêu đà này phục vụ cho viác xác thāc gói dÿ liáu IP gác t¿i ng°ái nhÁn cuái cùng, tiêu đà này giúp nhÁn biÁt b¿t kỳ sā thay đổi nào và nái dung của gói dÿ liáu bãi ng°ái dùng không mong muán trong khi truyÃn, tuy nhiên AH không đÁm bÁo tính tin cÁy. ĐÅ t¿o mát AH, mát giá trß mã thông điáp cÁn xác thāc qua hàm băm (HMAC) đ°ợc t¿o t¿i ng°ái gửi. Giá trß băm này đ°ợc t¿o trên c¢ sã của SA, SA xác đßnh trình tā giao dßch s¿ đ°ợc áp dụng cho gói dÿ liáu. Mã kÁt quÁ đ°ợc gắn kèm vào gói dÿ liáu sau tiêu đà IP gác.
T¿i ng°ái nhÁn cuái, HMAC đ°ợc giÁi mã và đ°ợc dùng đÅ thiÁt lÁp viác xác thāc ng°ái gửi cũng nh° tính toàn vẹn của thông điáp. AH không mang l¿i sā tin cÁy trong mát giao dßch. Nó chỉ thêm mát tiêu đà vào gói IP, phÁn còn l¿i của nái dung gói dÿ liáu không đ°ợc can thiáp đÁn. H¢n nÿa, AH không bÁo vá b¿t kỳ tr°áng nào trong tiêu đà IP vì mát trong sá đó có thÅ thay đổi trong quá trình truyÃn, chỉ có đßa chỉ IP nguãn và đßa chỉ IP đích là nhÿng tr°áng mà không thay đổi trong quá trình truyÃn đ°ợc bÁo vá bãi AH.
Giao thức AH có các đặc tr°ng c¢ bÁn nh° sau: - Cung c¿p tính toàn vẹn dÿ liáu và bÁo vá cháng phát l¿i - Sử dụng mã xác thāc thông điáp đ°ợc băm (HMAC), dāa trên chia sẻ bí mÁt - Nái dung các gói tin không đ°ợc mã hoá - Không sử dụng các tr°áng changeable IP header đÅ tính toán giá trß kiÅm tra tính toàn vẹn (IVC) 3 AH Header bao gãm các tr°áng nh° trong Hình 1.2: Các tr°áng trong AH Header - Next Header: Tr°áng này dài 8 bits, chứa chỉ sá giao thức IP + Trong chÁ đá đ°áng hÁm, Payload là gói tin IP, giá trß Next Header đ°ợc cài đặt là 4. + Trong chÁ đá giao vÁn, Payload luôn là giao thức ã Transport Layer. NÁu giao thức lßp Transport là TCP thì tr°áng giao thức trong IP là 6. NÁu giao thức lßp transport là UDP thì tr°áng giao thức trong IP là 17.
- Payload Length: Tr°áng này chứa chiÃu dài của AH Header. - Reserved: Giá trß này đ°ợc dành đÅ sử dụng trong t°¢ng lai( cho đÁn thái điÅm này nó đ°ợc biÅu thß bằng các chỉ sá 0). - Security Parameters Index (SPI): Mßi đÁu cuái của mát kÁt nái IPSec tuỳ ý chán giá trß SPI. Ho¿t đáng này chỉ đ°ợc dùng đÅ nhÁn d¿ng cho kÁt nái.
Bên nhÁn sử dụng giá trß SPI cùng vßi đßa chỉ IP đích và lo¿i giao thức IPSec (trong tr°áng hợp này là AH) đÅ xác đßnh chính sách liên kÁt an toàn SA đ°ợc dùng cho gói tin. - Sequence Number: Chỉ sá này tăng lên 1 cho mßi AH Datagram khi mát host gửi có liên quan đÁn chính sách SA. Giá trß bắt đÁu của bá đÁm là 1, chußi sá này không bao giá đ°ợc phép ghi đè lên là 0. - Authentication Data: Tr°áng này chứa giá trß ICV (Integrity Check Value).
Tr°áng này luôn là bái của 32-bit và phÁi đ°ợc đám vào nÁu chiÃu dài của ICV trong các bytes ch°a đÁy. Giao thức trao đổi khóa IKE (Internet Key Exchange) Trong IPSec sử dụng giao thức trao đổi khóa IKE (Internet Key Exchange). Giao thức IKE đ°ợc thiÁt kÁ ra đÅ cung c¿p 5 khÁ năng: - Cung c¿p nhÿng ph°¢ng tián cho hai bên và sā tháng nh¿t nhÿng giao thức, 4 thuÁt toán và nhÿng khoá đÅ sử dụng. - ĐÁm bÁo trao đổi khoá đÁn đúng ng°ái dùng.
- QuÁn lý khoá sau khi đ°ợc ch¿p nhÁn. - ĐÁm bÁo rằng sā điÃu khiÅn và trao đổi khoá là an toàn. - Cho phép sā chứng thāc đáng giÿa các đái t°ợng ngang hàng. Giao thức IKE có các đặc tính sau: - Các khoá tā phát sinh và nhÿng thủ tục nhÁn biÁt.
- Tā đáng làm mßi l¿i khoá. - GiÁi quyÁt v¿n đà mát khoá. - Mßi mát giao thức an toàn (AH, ESP) có mát không gian chỉ sá an toàn của chính mình. Tr°ßc khi IPSec gửi xác nhÁn hoặc mã hoá dÿ liáu IP, giÿa bên gửi và bên nhÁn phÁi tháng nh¿t và giÁi thuÁt mã hoá và khoá mã hoá hoặc nhÿng khoá đÅ sử dụng.
IPSec sử dụng giao thức IKE đÅ tā thiÁt lÁp nhÿng giao thức đàm phán và nhÿng khoá sử dụng cho viác mã hoá, thuÁt toán sử dụng. - Liên kÁt an toàn SA (Security Association) Dßch vụ bÁo mÁt liên kÁt giÿa hai hay nhiÃu thāc thÅ đÅ thßa thuÁn truyÃn thông an toàn đ°ợc gái là liên kÁt an toàn SA (Security Association).