II. Tổng quan về IPSEC
2.3.1 Kiến trúc của L2TP
Các thành phần chức năng của L2TP bao gồm: giao thức điểm-điểm, đờng hầm, hệ thống xác thực và mã hoá. L2TP có thể sử dụng quản lý khoá để tăng thêm độ bảo mật. Kiến trúc của L2TP nh hình vẽ:
Hình 2.12: kiến trúc của L2TP
f) PPP và L2TP
L2TP dựa trên PPP để tạo kết nối quay số giữa client và máy chủ truy cập mạng NAS. L2TP sử dụng PPP để tạo kết nối vật lý, tiến hành giai đoạn xác thực ban đầu, tạo gói dữ liệu PPP và đóng kết nối khi kết thúc phiên làm việc.
Sau khi PPP tạo kết nối xong, L2TP sẽ các định NAS tại site chính có chấp nhận ngời dùng và sẵn sàng đóng vai trò là điểm kết thúc của đờng hầm cho ngời dùng đó. Sau khi đờng hầm đợc thiết lập, L2TP sẽ đóng các gói PPP rồi truyền lên môi trờng mà ISP gán cho đờng hầm đó. L2TP có thể tạo nhiều đờng hầm giữa NAS của ISP và máy chủ mạng, và gán nhiều phiên làm việc cho đờng hầm. L2TP tạo ra các số nhận dạng cuộc gọi (Call ID) cho mỗi phiên làm việc và chèn vào tiêu đề L2TP của mỗi gói để chỉ ra nó thuộc phiên làm việc nào?
Ta có thể thực hiện chọn và gán một phiên làm việc của ngời dùng vào một đờng hầm thay vì ghép nhiều phiên làm việc vào một đờng hầm, với cách này cho phép gán các ngời dùng khác nhau vào các môi truờng đờng hầm tuỳ theo chất l- ợng dịch vụ.
Hình 2.13: các giao thức sử dụng trong một kết nối L2TP
Giống nh PPTP, L2TP cũng định nghĩa hai loại thông báo đó là thông báo điều khiển và thông báo dữ liệu. Thông báo điều khiển có chức năng điều khiển việc thiết lập, quản lý và giải phóng phiên làm việc trên đờng hầm. Thông báo điều khiển cũng cho ta biết tốc độ truyền và tham số của bộ đệm dùng để điều khiển luồng các gói PPP trong một phiên làm việc. Tuy nhiên, L2TP truyền cả hai loại thông báo này trên cùng gói dữ liệu UDP và chung trên một luồng.
Do L2TP làm việc ở lớp thứ hai- lớp liên kết dữ liệu trong mô hình OSI nên trong thông báo dữ liệu L2TP bao gồm tiêu đề môi trờng để chỉ ra đờng hầm làm việc trong môi trờng nào? Tuỳ thuộc vào ISP mà môi trờng có thể là Ethernet, X.25, Frame Relay, ATM, hay liên kết PPP.
Hình 2.14: Bọc gói L2TP
L2TP cung cấp cơ chế điều khiển luồng giữa NAS (hay bộ tập trung truy cập L2TP_ LAC (L2TP Access Concentrator)) và máy chủ của mạng riêng (hay máy chủ mạng L2TP _LNS ( L2TP network Server) ).
g) Cấu trúc gói dữ liệu L2TP
*Đóng gói dữ liệu đờng hầm L2TP
Đờng hầm dữ liệu L2TP đợc thực hiện thông qua nhiều mức đóng gói. Hình vẽ chỉ ra cấu trúc cuối cùng của dữ liệu đờng hầm L2TP trên nền IPSec.
Hình 2.15: Cấu trúc gói dữ liệu trong đờng hầm L2TP + Đóng gói L2TP
phần tải PPP ban đầu đợc đóng gói với một PPP header và một L2TP header. + Đóng gói UDP
Gói L2TP sau đó đợc đóng gói với một UDP header, các địa chỉ nguồn và đích đợc đặt bằng 1701.
+ Đóng gói IPSec
Tuỳ thuộc vào chính sách IPSec, gói UDP đợc mật mã và đóng gói với ESP IPSec header và ESP IPSec Trailer, IPSec Authentication Trailer.
+ Đóng gói IP
Gói IPSec đợc đóng gói với IP header chứa địa chỉ IP ngồn và đích của VPN client và VPN server.
+ Đóng gói lớp liên kết dữ liệu
Do đờng hầm L2TP hoạt động ở lớp 2 của mô hình OSI- lớp liên kết dữ liệu nên các IP datagram cuối cùng sẽ đợc đóng gói với phần header và trailer tơng ứng với kỹ thuật ở lớp đờng truyền dữ liệu của giao diện vật lý đầu ra. Ví dụ, khi các IP datagram đợc gửi vào một giao diện Ethernet thì IPdatagram này sẽ đợc đóng gói với Ethernet header và Ethernet Trailer. Khi các IP datagram đợc gửi trên đờng truyền WAN điểm-tới-điểm (chẳng hạn đờng dây điện thoại hay ISDN, ) thì IPdatagram đợc đóng gói với PPP header và PPP trailer.
* Xử lý dữ liệu đờng hầm L2TP trên nền IPSec
Khi nhận đợc dữ liệu đờng hầm L2TP trên nền IPSec, L2TP client hay L2TP server sẽ thực hiện các bớc sau:
- Xử lý và loại bỏ header và trailer của lớp đờng truyền dữ liệu.
- Xử lý và loại bỏ IP header.
- Dùng IPSec ESP Authentication để xác thực IP payload và IPSec ESP header.
- Dùng IPSec ESP header để giải mã phần gói đã mật mã.
- L2TP dùng Tunnel ID và Call ID trong L2TP header để xác định đờng hầm L2TP cụ thể.
- Dùng PPP header để xác định PPP payload và chuyển tiếp nó tới dúng giao thức để xử lý.
h) Đờng hầm L2TP
L2TP sử dụng những lớp đờng hầm tơng tự nh PPTP, tuỳ theo ngời dùng sử dụng là client PPP hay client L2TP mà sử dụng đờng hầm là tự nguyện hay bắt buộc.
Đờng hầm tự nguyện đợc tạo ra theo yêu cầu của ngời dùng cho mục đích cụ thể. Khi sử dụng đờng hầm tự nguyện thì ngời dùng có thể đồng thời mở đờng hầm bảo mật thông qua Internet, vừa có thể truy cập vào một host bất kỳ trên Internet theo giao thức TCP/IP bình thờng. Điểm kết thúc của đờng hầm tự nguyện nằm ở máy tính ngời dùng. Đờng hầm tự nguyện thờng đợc sử dụng để cung cấp tính riêng t và toàn vẹn dữ liệu cho lu lợng Intranet gửi thông qua Internet.
Đờng hầm bắt buộc đợc tạo tự động không cần bất kỳ hành động nào từ phía nguời dùng và không cho phép ngời dùng chọn lựa. Do đờng hầm bắt buộc đợc tạo ra không thông qua ngời dùng nên nó trong suốt đối với ngời dùng đầu cuối. Đờng hầm bắt buộc định trớc điểm kết thúc, nằm ở LAC của ISP và nên kiểu đờng hầm này điều khiển truy cập tốt hơn so với đờng hầm tự nguyện.
Một u điểm của đờng hầm bắt buộc là một đờng hầm có thể tải nhiều kết nối, điều này làm giảm băng thông mạng cho các ứng dụng đa phiên làm việc. Một khuyết điểm của đờng hầm bắt buộc là kết nối từ LAC đến ngời dùng nằm ngoài đờng hầm nên đẽ bị tấn công.
i) Đờng hầm kết nối LAN-LAN
Mục đích ban đầu của L2TP là để quay số truy cập VPN sử dụng client PPP, nhng L2TP cũng thích hợp cho kết nối LAN-LAN trong VPN.
Đờng hầm kết nối LAN-LAN đợc thiết lập giữa hai máy chủ L2TP nhng ít nhất một trong 2 máy chủ phải có kết nối tới ISP để khởi tạo phiên làm việc PPP. Hai máy chủ đóng vai trò vừa là LAC, vừa là LNS và có thể khởi tạo hay kết thúc đờng hầm khi cần.
Hình 2.18: Đờng hầm kết nối LAN-LAN
j) Quản lý khoá
Khi hai đối tợng muốn chuyển giao dữ liệu một cách bảo mật và khả thi thì cần phải đảm bảo chắc chắn rằng cả hai bên xử lý dữ liệu nh nhau. Cả hai bên phải cùng sử dụng chung giải thuật mã hoá, cùng chiều dài từ khoá, cùng chung một khoá dữ liệu. Điều này đợc xử lý thông qua bảo mật kết hợp SA.
Bởi vì chức năng chính của L2TP là quay số truy cập VPN thông qua Internet nên các thành phần của L2TP bao gồm: bộ tập trung truy cập mạng, máy chủ L2TP, và các L2TP client. Thành phần quan trọng nhất của L2TP là định nghĩa điểm kết thúc một đờng hầm, LAC và LNS. LNS có thể cài đặt ngay tại công ty và điều hành bởi một nhóm làm việc của công ty còn LAC thì thờng đợc hỗ trợ của ISP. Các thành phần cơ bản của L2TP nh hình vẽ:
Hình 2.19: Các thành phần cơ bản của L2TP
a) Máy chủ mạng L2TP
Máy chủ L2TP có hai chức năng chính là: đóng vai trò là điểm kết thúc của đờng hầm PPTP và chuyển các gói đến từ đờng hầm đến mạng LAN riêng và ngợc lại. Máy chủ chuyển các gói đến máy tính đích bằng cách xử lý gói L2TP để có đ- ợc địa chỉ mạng của máy tính đích.
Không giống nh máy chủ PPTP, máy chủ L2TP không có khả năng lọc các gói. Chức năng lọc gói trong L2TP đợc thực hiện bởi tờng lửa.Tuy nhiên trong thực tế, ngời ta tích hợp máy chủ mạng và tờng lửa. Việc tích hợp này mang lại một số u điểm hơn so với PPTP,đó là:
- L2TP không đòi hỏi chỉ có một cổng duy nhất gán cho tờng lửa nh trong PPTP. Chơng trình quản lý có thể tuỳ chọn cổng để gán cho tờng lửa, điều này gây khó khăn cho kẻ tấn công khi cố gắng tấn công vào một cổng đã biết trong khi cổng đó có thể đã thay đổi.
- Luồng dữ liệu và thông tin điều khiển đợc truyền trên cùng một UDP nên việc thiết lập tờng lủa sẽ đơn giản hơn. Do một số tờng lửa không hỗ trợ GRE nên chúng tơng thích với L2TP hơn là với PPTP.
Các mật trong IP ở cấp độ gói, IETF đã đa ra họ giao thức IPSec. Họ giao thức IPSec đầu tiên đựoc dung cho xác thực, mã hoá các gói dữ liệu IP, đợc chuẩn hoá thành các RFC từ 1825 đến 1829 vào năm 1995. Họ giao thức này mô tả kiến trúc cơ bả giao thức nguyên thuỷ TCP/IP không bao gồm các đặc tính bảo mật vốn có. Trong giai đoạn đầu của Internet khi mà ngời dùng thuộc các trờng đại học và các viện nghiên cứu thì vấn đề bảo mật dữ liệu không phải là vấn đề quan trọng nh bây giờ khi mà Internet trở nên phổ biến, các ứng dụng thơng mại có mặt khắp nơi trên Internet và đối tợng sử dụng Internet rộng hơn bao gồm cả các Hacker.
Để thiết lập tính bảo n của IPSec bao gồm hai loại tiêu đề đợc sử dụng trong gói IP, gói IP là đơn vị dữ kiệu cơ sở trong mạng IP. IPSec định nghĩa 2 loại tiêu đề cho các gói IP để điều khiển quá trình xác thực và mã hoá: một là xác thực tiêu đề IP – AH (IP Authentication Header) điều khiển việc xác thực và hai là đóng gói tải tin an toàn ESP (Encapsulation Security Payload) cho mục đích mã hoá.
IPSec không phải là một giao thức. Nó là một khung của các tập giao thức chuẩn mở cho phép những nhà quản trị mạng lựa chọn thuật toán, các khoá và ph- ơng pháp nhận thực để cung cấp sự xác thực dữ liệu, tính toàn vẹn dữ liệu, và sự tin cậy dữ liệu. IPSec là sự lựa chọn cho bảo mật tổng thể các VPN, là phơng án tối u cho mạng của công ty. Nó đảm bảo truyền thông tin cậy trên mạng IP công cộng đối với các ứng dụng.
IPsec tạo những đờng hầm bảo mật xuyên qua mạng Internet để truyền những luồng dữ liệu. Mỗi đờng hầm bảo mật là một cặp những kết hợp an ninh để bảo vệ luồng dữ liệu giữa hai Host.
IPSec đợc phát triển nhắm vào họ giao thức IP kế tiếp là IPv6, nhng do việc triển khai IPv6 còn chậm và sự cần thiết phải bảo mật các gói IP nên IPSec đã đợc thay đổi cho phù hợp với IPv4. Việc hỗ trợ cho IPSec chỉ là tuỳ chọn của IPv4 nh- ng đối với IPv6 thì có sẵn IPSec.
2.4.1 Khung giao thức IPSec
Hình 2.20: Khung giao thức đợc sử dụng trong IPSec
Một số giao thức chính đợc khuyến khích sử dụng khi làm việc với IPSec.
- Giao thức bảo mật IP (IPSec) + AH (Authentication Header)
+ ESP (Encapsulation Security Payload)
- Mã hoá bản tin
+ DES (Data Encryption Standard) + 3 DES (Triple DES)
- Các chức năng toàn vẹn bản tin
+ HMAC (Hash – ased Message Authentication Code) + MD5 (Message Digest 5)
+ SHA-1 (Secure Hash Algorithm -1)
- Nhận thực đối tác (peer Authentication)
+Rivest, Shamir, and Adelman (RSA) Digital Signatures + RSA Encrypted Nonces
- Quản lý khoá
+ DH (Diffie- Hellman) + CA (Certificate Authority)
- Kết hợp an ninh
+ IKE (Internet Key Exchange)
+ ISAKMP (Internet Security Association and Key Management Protocol)
IPSec là tập hợp những tiêu chuẩn mở làm việc cùng nhau để thiết lập tính bảo mật, toàn vẹn dữ liệu và nhận thực giữa các thiết bị ngang hàng. Những điểm ngang hàng có thể là những cặp Host hay những cặp cổng nối bảo mật (những bộ
định tuyến, những tờng lửa, những bộ tập trung VPN ) hay có thể giữa một host… và một cổng nối bảo mật, nh trong VPN truy cập từ xa.
Hai giao thức chính của IPSec là AH (Authentication Header) và ESP (Encapsulation Security Payload ).
- AH: Cho phép xác thực và kiểm tra tính toàn vẹn dữ liệu của các gói IP truyền giữa hai hệ thống. Nó là một phơng tiện để kiểm tra xem dữ liệu có bị thay đổi trong khi truyền không. Do AH không cung cấp khả năng mật mã dữ liệu nên các dữ liệu đều đợc truyền dới dạng bản rõ.
- ESP: Là một giao thức an toàn cho phép mật mã dữ liệu, xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu. ESP đảm bảo tính bí mật của thông tin thông qua việc mật mã ở lớp IP. Tất cả các lu lợng ESP đều đợc mật mã giữa hai hệ thống.
c) Giao thức AH
khuôn dạng AH
Hình 2.21: Khuôn dạng gói AH
+ Next header (8bit): Xác định kiểu dữ liệu của phần Payload tiếp sau AH. Giá trị của trờng này đợc lựa chọn từ tập các giá trị số giao thức IP đợc định nghĩa bởi IANA (TCP_6; UDP_ 17).
+ Payload length (8bit): Xác định độ dài của AH theo đơn vị 32bit (4 Byte).
+ Reserved (16 bit): trờng này dùng để dự trữ sử dụng trong tơng lai. Giá trị của trờng này có thể đặt bằng 0 và có tham gia trong việc tính Authentication Data. + Security Parameter Index (SPI):
- SPI là một số 32 bit bất kỳ, cùng với địa chỉ IP đích và giao thức an ninh ESP cho phép nhận dạng duy nhất SA cho gói dữ liệu này. Các giá trị SPI
từ 1#255 đợc dành riêng để sử dụng trong tơng lai. SPI thờng đợc lựa chọn bởi phía thu khi thiết lập SA. SPI là trờng bắt buộc.
- Giá trị SPI 0 đợc sử dụng cục bộ. Có thẻ sử dụng giá trị này để chỉ ra cha có SA nào tồn tại.
+ Sequence number (SN):
- Trờng 32 bit không dấu chứa một giá trị đếm tăng dần. SN là tròng bắt buộc cho dù phía thu không thực hiện dịch vụ chống trùng lặp cho một SA cụ thể nào. việc xử lý SN tuỳ thuộc phía thu, nghĩa là phía phát luôn phải truyền trờng này, còn phía thu có thể không cần phải xử lý nó.
- Bộ đếm của phía phát và phía thu đều đợc khởi tạo 0 khi một SA đợc thiết lập (gói đầu tiên đợc truyền đi sử dụng SA sẽ có SN=1). Nếu dịch vụ anti- replay đợc lựa chọn thì đợc phát đi sẽ không đợc lặp lại (bằng cách thiết lập một SA mới, và do đó là một khoá mới) trớc khi truyền gói thứ 232 của một SA.
+ Authentication Data:
Trờng này có độ dài biến đổi chứa một một giá trị kiểm tra tính toàn vẹn ICV (integrity Check Value) cho gói tin. Độ dài của trờng này bằng số nguyên lần 32 bit (hay 4 Byte).
b) Giao thức ESP
Khuôn dạng ESP
Hình 2.22: Khuôn dạng gói ESP Trong đó:
- SPI là một số 32 bit bất kỳ, cùng với địa chỉ IP đích và giao thức an ninh ESP cho phép nhận dạng duy nhất SA cho gói dữ liệu này. Các giá trị SPI từ 1#255 đợc dành riêng để sử dụng trong tơng lai. SPI thờng đợc lựa chọn bởi phía thu khi thiết lập SA. SPI là trờng bắt buộc.
- Giá trị SPI 0 đợc sử dụng cục bộ. Có thẻ sử dụng giá trị này để chỉ ra cha có SA nào tồn tại.
+ Sequence number (SN):
- Trờng 32 bit không dấu chứa một giá trị đếm tăng dần (SN). SN là tròng bắt buộc cho dù phía thu không thực hiện dịch vụ chống trùng lặp cho một SA cụ thể nào. việc xử lý SN tuỳ thuộc phía thu, nghĩa là phía phát luôn phải truyền trờng này, còn phía thu có thể không cần phải xử lý nó.
- Bộ đếm của phía phát và phía thu đều đợc khởi tạo 0 khi một SA đợc thiết lập (gói đầu tiên đợc truyền đi sử dụng SA sẽ có SN=1). Nếu dịch vụ anti-