Các giao thức đường hầm VPN

Tài liệu Các giao thức đường hầm VPN: CHƯƠNG 2 CÁC GIAO THỨC ĐƯỜNG HẦM VPN Hiện nay có nhiều giải pháp để giải quyết hai vấn đề về đóng gói dữ liệu và an toàn dữ liệu trong VPN, dựa trên nền tảng là các giao thức đường hầm. Một giao thức đường hầm sẽ thực hiện đóng gói dữ liệu với phần Header (và có thể cả Trailer) tương ứng để truyền qua Internet. Giao thức đường hầm là cốt lõi của giải pháp VPN. Có 4 giao thức đường hầm được sử dụng trong VPN đó là: Giao thức định hướng lớp 2 - L2F (Layer 2 Forwarding) Giao thức đường hầm điểm-điểm-PPTP (Point to Point Tunneling protocol) Giao thức đường hầm lớp 2 - L2TP (Layer 2 tunneling protocol) Giao thức bảo mật IP - IPSec (Internet Protocol Security) Giao thức định hướng lớp 2 - L2F Giao thức định hướng lớp 2 L2F do Cisco phát triển độc lập và được phát triển dựa trên giao thức PPP (Point-to-Point Protocol). L2F cung cấp giải pháp cho dịch vụ quay số ảo bằng cách thiết lập một đường hầm bảo mật thông qua cơ sở hạ tầng công cộng như Internet. L2F là giao thức được phá...

doc46 trang | Chia sẻ: hunglv | Lượt xem: 2485 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Các giao thức đường hầm VPN, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 2 CÁC GIAO THỨC ĐƯỜNG HẦM VPN Hiện nay có nhiều giải pháp để giải quyết hai vấn đề về đóng gói dữ liệu và an toàn dữ liệu trong VPN, dựa trên nền tảng là các giao thức đường hầm. Một giao thức đường hầm sẽ thực hiện đóng gói dữ liệu với phần Header (và có thể cả Trailer) tương ứng để truyền qua Internet. Giao thức đường hầm là cốt lõi của giải pháp VPN. Có 4 giao thức đường hầm được sử dụng trong VPN đó là: Giao thức định hướng lớp 2 - L2F (Layer 2 Forwarding) Giao thức đường hầm điểm-điểm-PPTP (Point to Point Tunneling protocol) Giao thức đường hầm lớp 2 - L2TP (Layer 2 tunneling protocol) Giao thức bảo mật IP - IPSec (Internet Protocol Security) Giao thức định hướng lớp 2 - L2F Giao thức định hướng lớp 2 L2F do Cisco phát triển độc lập và được phát triển dựa trên giao thức PPP (Point-to-Point Protocol). L2F cung cấp giải pháp cho dịch vụ quay số ảo bằng cách thiết lập một đường hầm bảo mật thông qua cơ sở hạ tầng công cộng như Internet. L2F là giao thức được phát triển sớm nhất, là phương pháp truyền thống để cho những người sử dụng ở xa truy cập vào một mạng công ty thông qua thiết bị truy cập từ xa. L2F cho phép đóng gói các gói PPP trong L2F, định đường hầm ở lớp liên kết dữ liệu. Cấu trúc gói của L2F 1bit 1bit 1bit 1bit 8bit 1bit 3bit 8bit 8bit F K P S Reserved C Version Protocol Sequence Multiplex ID Client ID Length Offset Key Data Ckecksums Hình 2.1: Khuôn dạng gói của L2F Trong đó: F: Trường “Offset” có mặt nếu bit này được thiết lập. K: Trường “Key” có mặt nếu bít này được thiết lập. P_ priority: Gói này là một gói ưu tiên nếu bít này được thiết lập. S: Trường “Sequence” có mặt nếu bít này được thiết lập. Reserved: luôn được đặt là: 00000000. Version : Phiên bản chính của L2F dùng để tạo gói. 3 bit này luôn là 111. Protocol : Xác định giao thức đóng gói L2F. Sequence: Số chuỗi được đưa ra nếu trong L2F Header bít S=1. Multiplex ID: Nhận dạng một kết nối riêng trong một đường hầm (tunnel). Client ID: Giúp tách đường hầm tại những điểm cuối. Length: chiều dài của gói (tính bằng Byte) không bao gồm phần checksum. Offset: Xác định số Byte trước L2F Header, tại đó dữ liệu tải tin được bắt đầu. Trường này có khi bít F=1. Key: Trường này được trình bày nếu bit K được thiết lập. Đây là một phần của quá trình nhận thực. Checksum: Kiểm tra tổng của gói. Trường checksum có nếu bít C=1. 2.1.2 Ưu nhược điểm của L2F Ưu điểm: - Cho phép thiết lập đường hầm đa giao thức. - Được cung cấp bởi nhiều nhà cung cấp. Nhược điểm: - Không có mã hoá. - Yếu trong việc xác thực người dùng. - Không có điều khiển luồng cho đường hầm. 2.1.3 Thực hiện L2F L2F đóng gói những gói ở lớp 2 và trong trường hợp này là đóng gói PPP, truyền xuyên qua một mạng. L2F sử dụng các thiết bị: NAS: Hướng lưu lượng đến và đi từ máy khách ở xa (remote client) và gateway home. Hệ thống ERX hoạt động như NAS. Tunne:l Định hướng đường đi giữa NAS và home gateway. Một đường hầm gồm một số kết nối. Home gateway: Ngang hàng với NAS. Kết nối (connection): Là một kết nối PPP trong đường hầm. Trong CLI, một kết nối L2F được xem như là một phiên. Điểm đích (Destination): Là điểm kết thúc ở đầu xa của đường hầm. Trong trường hợp này thì Home gateway là điểm đích. Hình 2.2: Mô hình đặc trưng L2F 2.1.4 Hoạt động của L2F Hoạt động L2F bao gồm các hoạt động: thiết lập kết nối, đường hầm và phiên làm việc. Ta xem xét ví dụ minh hoạ hoạt động của L2F: Một người sử dụng ở xa quay số tới hệ thống NAS và khởi đầu một kết nối PPP tới ISP. Hệ thống NAS và máy khách trao đổi các gói giao thức điều khiển liên kết LCP (Link Control Protocol). NAS sử dụng cơ sở dữ liệu cục bộ liên quan tới tên vùng (domain name) hay nhận thực RADIUS để quyết định có hay không người sử dụng yêu cầu dịch vụ L2F. Nếu người sử dụng yêu cầu L2F thì quá trình tiếp tục: NAS thu nhận địa chỉ của gateway đích (home gateway). Một đường hầm được thiết lập từ NAS tới gateway đích nếu giữa chúng chưa có đường hầm nào. Sự thành lập đường hầm bao gồm giai đoạn nhận thực từ ISP tới gateway đích để chống lại tấn công bởi những kẻ thứ ba. Một kết nối PPP mới được tạo ra trong đường hầm, điều này tác động kéo dài phiên PPP từ người sử dụng ở xa tới home gateway. Kết nối này được thiết lập như sau: Home gateway tiếp nhận các lựa chọn và tất cả thông tin nhận thực PAP/CHAP, như đã thoả thuận bởi đầu cuối người sử dụng và NAS. Home gateway chấp nhận kết nối hay nó thoả thuận lại LCP và nhận thực lại người sử dụng. Khi NAS tiếp nhận lưu lượng dữ liệu từ người sử dụng, nó lấy gói và đóng gói lưu lượng vào trong một khung L2F và hướng nó vào trong đường hầm. Tại home gateway, khung L2F được tách bỏ, và dữ liệu đóng gói được hướng tới mạng công ty. Quản lý L2F Khi hệ thống đã thiết lập những điểm đích, những đường hầm tunnel, và những phiên kết nối ta phải điều khiển và quản lý lưu lượng L2F như sau: Ngăn cản tạo những điểm đích, những đường hầm tunnel, những phiên mới. Đóng và mở lại tất cả hay chọn lựa những điểm đích, những đường hầm tunnel, những phiên. Có khả năng kiểm tra tổng UDP. Thiết lập thời gian rỗi cho hệ thống và lưu giữ cơ sở dữ liệu vào của những đường hầm và những kết nối. Sự thay đổi một điểm đích làm ảnh hưởng tới tất cả những đường hầm và phiên tới điểm đích đó; Sự thay đổi một đường hầm làm ảnh hưởng tới tất cả các phiên trong đường hầm đó. Ví dụ, Sự kết thúc ở điểm đích đóng tất cả các đường hầm và phiên tới điểm đích đó. L2F cung cấp các lệnh để thực hiện các chức năng. Ví dụ L2F checksum: mục đích để kiểm tra toàn vẹn dữ liệu của các khung L2F sử dụng kiểm tra tổng UDP, ví dụ host 1(config)#l2f checksum L2F destruct-timeout: sử dụng để thiết lập thời gian rỗi, giá trị thiết lập trong dải 10 -:- 3600 giây, ví dụ host1 (config)#l2f destruct-timeout 1200 Giao thức đường hầm điểm-điểm PPTP Giao thức đường hầm điểm–điểm PPTP được đưa ra đầu tiên bởi một nhóm các công ty được gọi là PPTP Forum. Nhóm này bao gồm 3 công ty: Ascend comm., Microsoft, ECI Telematicsunication và US Robotic. Ý tưởng cơ sở của giao thức này là tách các chức năng chung và riêng của truy cập từ xa, lợi dụng cơ sở hạ tầng Internet sẵn có để tạo kết nối bảo mật giữa người dùng ở xa (client) và mạng riêng. Người dùng ở xa chỉ việc quay số tới nhà cung cấp dịch vụ Internet địa phương là có thể tạo đường hầm bảo mật tới mạng riêng của họ. Giao thức PPTP được xây dựng dựa trên chức năng của PPP, cung cấp khả năng quay số truy cập tạo ra một đường hầm bảo mật thông qua Internet đến site đích. PPTP sử dụng giao thức bọc gói định tuyến chung GRE (Generic Routing Encapsulation) được mô tả lại để đóng gói và tách gói PPP, giao thức này cho phép PPTP mềm dẻo xử lý các giao thức khác không phải IP như: IPX, NETBEUI. Do PPTP dựa trên PPP nên nó cũng sử dụng PAP, CHAP để xác thực. PPTP có thể sử dụng PPP để mã hoá dữ liệu nhưng Microsoft đã đưa ra phương thức mã hoá khác mạnh hơn đó là mã hoá điểm - điểm MPPE (Microsoft Point- to- Point Encryption) để sử dụng cho PPTP. Một ưu điểm của PPTP là được thiết kế để hoạt động ở lớp 2 (lớp liên kết dữ liệu) trong khi IPSec chạy ở lớp 3 của mô hình OSI. Bằng cách hỗ trợ việc truyền dữ liệu ở lớp thứ 2, PPTP có thể truyền trong đường hầm bằng các giao thức khác IP trong khi IPSec chỉ có thể truyền các gói IP trong đường hầm. Kiến trúc của PPTP Hình 2.3: Kiến trúc của PPTP PPP và PPTP PPP đã trở thành giao thức quay số truy cập vào Internet và các mạng TCP/IP rất phổ biến hiện nay. Làm việc ở lớp liên kết dữ liệu trong mô hình OSI, PPP bao gồm các phương thức đóng, tách gói cho các loại gói dữ liệu khác nhau để truyền nối tiếp. Đặc biệt, PPP định nghĩa hai bộ giao thức: giao thức điều khiển liên kết LCP (Link Control Protocol) cho việc thiết lập, cấu hình và kiểm tra kết nối; Giao thức điều khiển mạng NCP (Network Control Protocol) cho việc thiết lập và cấu hình các giao thức lớp mạng khác nhau. PPP có thể đóng các gói IP, IPX, NETBEUI và truyền đi trên kết nối điểm-điểm từ máy gửi đến máy nhận. Để viêc truyền thông có thể diễn ra thì mỗi PPP phải gửi gói LCP để kiểm tra cấu hình và kiểm tra liên kết dữ liệu. Khi một kết nối PPP được thiết lập thì người dùng thường đã được xác thực. Đây là giai đoạn tuỳ chọn trong PPP, tuy nhiên nó luôn luôn được cung cấp bởi các ISP. Việc xác thực được thực hiện bởi PAP hay CHAP. Với PAP mật khẩu được gửi qua kết nối dưới dạng văn bản đơn giản và không có bảo mật để tránh khỏi bị tấn công thử và lỗi. CHAP là một phương thức xác thực mạnh hơn, CHAP sử dụng phương thức bắt tay 3 chiều. CHAP chống lại các vụ tấn công quay lại bằng cách sử dụng các giá trị thách đố (challenge value) duy nhất và không thể đoán trước được. CHAP phát ra giá trị thách đố trong suốt và sau khi thiết lập xong kết nối, lập lại các thách đố có thể giới hạn số lần bị đặt vào tình thế bị tấn công. PPTP được thiết kế dựa trên PPP để tạo ra kết nối quay số giữa khách hàng và máy chủ truy cập mạng. PPTP sử dụng PPP để thực hiện các chức năng: Thiết lập và kết thúc kết nối vật lý. Xác thực người dùng. Tạo các gói dữ liệu PPP. Sau khi PPP thiết lập kết nối, PPTP sử dụng các quy luật đóng gói của PPP để đóng các gói truyền trong đường hầm. Để tận dụng ưu điểm của kết nối tạo ra bởi PPP, PPTP định nghĩa hai loại gói: Gói điều khiển; Gói dữ liệu và gán chúng và 2 kênh riêng là kênh điều khiển và kênh dữ liệu. Sau đó PPTP phân tách các kênh điều khiển và kênh và kênh dữ liệu thành luồng điều khiển với giao thức TCP và luồng dữ liệu với giao thức IP. Kết nối TCP được tạo giữa client PPTP và máy chủ PPTP được sủ dụng để trưyền thông báo điều khiển. Các gói dữ liệu là dữ liêu thông thường của người dùng. Các gói điều khiển được gửi theo chu kỳ để lấy thông tin về trạng thài kết nối và quản lý báo hiệu giữa client PPTP và máy chủ PPTP. Các gói điều khiển cũng được dùng để gửi các thông tin quản lý thiết bị, thông tin cấu hình giữa hai đầu đường hầm. Kênh điều khiển được yêu cầu cho việc thiết lập một đường hầm giữa client PPTP và máy chủ PPTP. Phần mềm client có thể nằm ở máy người dùng từ xa hay nằm ở tại máy chủ của ISP. Hình 2.4:Các giao thức dùng trong một kết nối PPTP Sau khi đường hầm được thiết lập thì dữ liệu người dùng được truyền giữa client và máy chủ PPTP. Các gói PPTP chứa các gói dữ liệu IP. Các gói dữ liệu được đóng gói bởi tiêu đề GRE, sử dụng số ID của Host cho điều khiển truy cập, ACK cho giám sát tốc độ dữ liệu truyền trong đường hầm. PPTP hoạt động ở lớp liên kết dữ liệu, nên cần phải có tiêu đề môi trường truyền trong gói để biết gói dữ liệu truyền trong đường hầm theo phương thức nào? Ethernet, Frame Relay hay kết nối PPP? Hình 2.5 : bọc gói PPTP/ GRE PPTP cũng có cơ chế điều khiển tốc độ nhằm giới hạn số lượng dữ liệu truyền đi. Cơ chế này làm giảm tối thiểu dữ liệu phải truyền lại do mất gói. Cấu trúc gói của PPTP *Đóng gói dữ liệu đường hầm PPTP Dữ liệu đường hầm PPTP được đóng gói thông qua nhiều mức: đóng gói khung PPP, đóng gói các gói GRE, đóng gói lớp liên kết dữ liệu. Cấu trúc gói dữ liệu đã được đóng gói Hình 2.6: Cấu trúc gói dữ liệu trong đường hầm PPTP + Đóng gói khung PPP Phần tải PPP ban đầu được mật mã và đóng gói với phần tiêu đề PPP để tạo ra khung PPP. Sau đó, khung PPP được đóng gói với phần tiêu đề của phiên bản sửa đổi giao thức GRE. Đối với PPTP, phần tiêu đề của GRE được sử đổi một số điểm sau: Một bit xác nhận được sử dụng để khẳng định sự có mặt của trường xác nhận 32 bit. Trường Key được thay thế bằng trường độ dài Payload 16bit và trường nhận dạng cuộc gọi 16 bit. Trường nhận dạng cuộc goi Call ID được thiết lập bởi PPTP client trong quá trình khởi tạo đường hầm PPTP. Một trường xác nhận dài 32 bit được thêm vào. GRE là giao thức cung cấp cơ chế chung cho phép đóng gói dữ liệu để gửi qua mạng IP. + Đóng gói các gói GRE Tiếp đó, phần tải PPP đã được mã hoá và phần tiêu đề GRE được đóng gói với một tiêu đề IP chứa thông tin địa chỉ nguồn và đích cho PPTP client và PPTP server. + Đóng gói lớp liên kết dữ liệu Do đường hầm của PPTP hoạt động ở lớp 2 - Lớp liên kết dữ liệu trong mô hình OSI nên lược đồ dữ liệu IP sẽ được đóng gói với phần tiêu đề (Header) và phần kết thúc (Trailer) của lớp liên kết dữ liệu. Ví dụ, Nếu IP datagram được gửi qua giao diện Ethernet thì sẽ được đóng gói với phần Header và Trailer Ethernet. Nếu IP datagram được gửi thông qua đường truyền WAN điểm tới điểm thì sẽ được đóng gói với phần Header và Trailer của giao thức PPP. * Xử lý dữ liệu đường hầm PPTP Khi nhận được dữ liệu đường hầm PPTP, PPTP client hay PPTP server sẽ thực hiện các bước xử lý: xử ký và loại bỏ phần Header và Trailer của lớp liên kết dữ liệu. Xử lý và loại bỏ IP Header. Xử lý và loại bỏ GRE Header và PPP Header. Giải mã hoặc/và giải nén phần PPP payload nếu cần thiết. Xử lý phần payload để nhận hoặc chuyển tiếp. * Sơ đồ đóng gói PPTP Hình 2.7: Sơ đồ đóng gói PPTP Quá trình: Các IP datagram, IPX datagram, hoặc NetBEUI frame được đưa tới giao diện ảo bằng giao thức tương ứng (giao diện ảo đại diện cho kết nối VPN) sử dụng NDIS (Network Driver Interface specification). NDIS đưa gói dữ liệu tới NDISWAN, nơi thực hiện mật mã, nén dữ liệu và cung cấp PPP header. Phần mào đầu PPP này chỉ bao gồm trường mã số giao thức PPP (PPP protocol ID field), không có các trường flag và FCS (frame check sequence). Giả định trưòng địa chỉ và điều khiển đã được thoả thuận ở giao thức điều khiển đường truyền LCP (Link Control Protocol) trong quá trình kết nối PPP. NDISWAN gửi dữ liệu tới giao thức PPTP, nơi đóng gói khung PPP với phần mào đầu GRE. Trong GRE header, trường Call ID đựoc đặt giá trị thích hợp để xác định đường hầm. Giao thức PPTP sau đó sẽ gửi gói vừa hình thành tới giao thức TCP/IP. TCP/IP đóng gói dữ liệu đường hầm PPTP với phần mào đầu IP, sau đó gửi gói kết quả tới giao diện đại diện cho kết nối quay số tới ISP địa phương sử dụng NDIS. NDIS gửi gói NDISWAN, nó cung cấp các phần PPP header và trailer. NDISWAN gửi khung PPP kết quả tới cổng WAN tương ứng đại diện cho phần cứng quay số. Đường hầm PPTP cho phép người dùng và ISP có thể tạo ra nhiều loại đuờng hầm khác nhau. Người dùng có thể chỉ định điểm kết thúc của đường hầm ở ngay tại máy tính của mình nếu có cài PPTP, hay tại máy chủ của ISP (máy tính của ISP phải hỗ trợ PPTP). Có hai lớp đường hầm: Đường hầm tự nguyên và đường hầm 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. Khi sử dụng đường hầm tự nguyện, người dùng có thể đồng thời mở một đường hầm bảo mật thông qua Internet và có thể truy cập đến một Host trên Internet bởi giao thức TCP/IP bình thườ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 lưu lượng Intranet được gửi thông qua Internet. Đườ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. Điểm kết thúc của đương hầm bắt buộc nằm ở máy chủ truy cập từ xa. Tất cả dữ liệu truyền đi từ người dùng qua đường hầm PPTP đều phải thông qua RAS. Do đường hầm bắt buộc định trước điểm kết thúc và người dùng không thể truy cập phần còn lại của Internet nên nó điều khiển truy nhập tốt hơn so với đường hầm tự nguyện. Nếu vì tính bảo mật mà không cho người dùng truy cập Internet công cộng thì đường hầm bắt buộc ngăn không cho họ truy cập Internet công cộng nhưng vẫn cho phép họ dùng Internet để truy cập VPN (nghĩa là chỉ cho truy cập và được các site trong VPN mà thôi). Một ưu điểm nữa của đường hầm bắt buộc là một đuờng hầm có nhiều điểm kết nối. Đặc tính này làm giảm yêu cầu băng thô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ừ RAS đến người dùng nằm ngoài đường hầm nên dễ bị tấn công. Hình 2.8 : đường hầm bắt buộc và đường hầm tự nguyện Sử dụng RADIUS để cung cấp đường hầm bắt buộc có một vài ưu điểm đó là: Các đường hầm có thể được định nghĩa và kiểm tra dựa trên xác thực người dùng và tính cước dựa vào số điện thoại, các phương thức xác thực khác như thẻ bài (token) hay thẻ thông minh (smart card). Xác thực người dùng quay số từ xa (RADIUS) RADIUS (Remote Authentication Dial-In User Service) sử dụng kiểu client/ server để chứng nhận một cách bảo mật và quản trị các kết nối mạng từ xa của các người dùng trong các phiên làm việc. RADIUS client/server sử dụng máy chủ truy cập mạng NAS để quản lý kết nối người dùng. Ngoài chức năng của máy chủ truy cập mạng nó còn có một số chức năng cho RADIUS client. NAS sẽ nhận dạng người dùng, thông in về mật khẩu rồi chuyển đến máy chủ RADIUS. Máy chủ RADIUS sẽ trả lại trạng thái xác thực là chấp nhận hay từ chối dữ liệu cấu hình cho NAS để cung cấp dịch vụ cho người dùng. RADIUS tạo một cơ sở dữ liệu tập trung về người dùng, các loại dịch vụ sẵn có, một dải modem đa chủng loại. Trong RADIUS thông tin người dùng được lưu trong máy chủ RADIUS. RADIUS hỗ trợ cho máy chủ Proxy, là nơi lưu giữ thông tin người dùng cho mục đích xác thực, cấp quyền và tính cước, nhưng nó không cho phép thay đổi dữ liệu người dùng. Máy chủ Proxy sẽ định kỳ cập nhật cơ sở dữ liệu người dùng từ máy chủ RADIUS. Để RADIUS có thể điều khiển việc thiết lập một đường hầm, nó cần phải lưu các thuộc tính của đường hầm. Các thuộc tính này bao gồm: giao thức đường hầm được sử dụng (PPTP hay L2TP), địa chỉ của máy chủ và môi trường truyền dẫn trong đường hầm được sử dụng. Khi kết hợp đường hầm với RADIUS, có ít nhất 3 tuỳ chọn cho xác thực và cấp quyền: Xác thực và nhận cấp quyền một lần tại RAS đặt tại cuối đường hầm. Xác thực và nhận cấp quyền một lần tại RAS đặt tại cuối đường hầm và cố gắng chuyển đáp ứng của RADIUS đến đàu xa của đường hầm. Xác thực tại hai đầu của đường hầm. Tuỳ chọn thứ nhất có độ tin cậy rất kém do chỉ yêu cầu một mình ISP điều khiển tiến trình truy cập mạng. Tuỳ chọn thứ hai có độ tin cậy trung bình, nó phụ thuộc cách RADIUS trả lời xác thực. Tuỳ chọn thứ ba có độ tin cậy cao và làm việc tốt nếu như sử dụng máy chủ Proxy RADIUS. Xác thực và mã hoá Các client PPTP được xác thực cũng tương tự như các client RAS được xác thực từ máy chủ PPP. Microsoft hỗ trợ xác thực CHAP, PAP, MS-CHAP. MS-CHAP sử dụng hàm băm MD4 để tạo thẻ bài thách đố từ mật khẩu của người dùng. PAP và CHAP có nhược điểm là cả hai dựa trên mật khẩu lưu tại máy đầu xa và tại máy cục bộ. Nếu như máy tính bị điều khiển bởi kẻ tấn công từ mạng thì mật khẩu sẽ thay đổi. Với PAP và CHAP không thể gán các đặc quyền truy cập mạng khác nhau cho những người dùng khác nhau tại cùng một máy tính ở xa. Bởi vì khi cấp quyền đã được gán cho một máy tính thì mọi người dùng tại máy tính đó đều có đặc quyền truy cập mạng như nhau. Với PPTP thì dữ liệu được mã hoá theo mã hóa điểm-điểm của Microsoft – MPPE (Microsoft point-to-Point Encryption). Phương thức này dựa trên chuẩn RSA RC4, giao thức điều khiển nén CCP (Compression Control Protocol) được sử dụng bởi PPP để thoả hiệp việc mã hoá. MS-CHAP được dùng để kiểm tra tính hợp lý người dùng đầu cuối tại tên miền Windows NT. Hình 2.9: Mã hoá gói trong PPTP Một khoá phiên 40 bit được sử dụng cho mã hoá nhưng người dùng tại Mỹ có thể cài đặt một phần mềm nâng cấp lên 128 bit. MPPE mã hoá các gói PPP tại client trước khi chuyển chúng vào đường hầm PPTP nên các gói được bảo mật từ trạm làm việc đến máy chủ PPTP. Việc thay đổi khoá phiên có thể được thoả thuận lại sau mỗi gói hay sau một số gói. Đường hầm kết nối LAN-LAN Giao thức PPTP nguyên thuỷ chỉ tập trung hỗ trợ cho việc quay số kết nối vào một mạng riêng thông qua mạng Internet, những đường hầm kết nối LAN-LAN không được hỗ trợ. Mãi đến khi Microsoft giới thiệu máy chủ định hướng và truy cập từ xa (Routing and Remote Access Server) cho NT server 4.0 thì mới hỗ trợ đường hầm kết nối LAN-LAN. Kể từ đó các nhà cung cấp khác cũng đã cung cấp các máy chủ tương thích với PPTP có hỗ trợ đường hầm kết nối LAN-LAN. Đường hầm kết nối LAN-LAN diễn ra giữa hai máy chủ PPTP, giống như IPSec dùng 2 cổng nối bảo mật để kết nối 2 mạng LAN. Tuy nhiên, do kiến trúc PPTP không có hệ thống quản lý khoá nên việc cấp quyền và xác thực được điều khiển bởi CHAP hoặc thông qua MS-CHAP. Để tạo đường hầm giữa hai site, máy chủ PPTP tại mỗi site sẽ được xác thực bởi PPTP ở site kia. Khi đó máy chủ PPTP trở thành client PPTP của máy chủ PPTP ở đầu bên kia và ngược lại, do đó một đường hầm tự nguyện được tạo ra giữa hai site. Hình 2.10 : Đường hầm kết nối LAN-LAN Do đường hầm PPTP có thể được đón gói bởi bất kỳ giao thức mạng nào được hỗ trợ (IP, IPX, NETBEUI), người dùng tại một site có thể truy cập vào tài nguyên tại site kia dựa trên quyền truy cập của họ. Điều này có nghĩa là cần phải có site quản lý để đảm bảo người dùng tại một site có quyền truy cập vào site kia. Trong Windows NT mỗi site sẽ có miền bảo mật riêng và các site phải thiết lập một mối quan hệ tin cậy giữa các miền để cho phép người dùng truy cập vào tài nguyên của các site. Sử dụng PPTP Tổng quát một PPTP VPN yêu cầu phải có: một máy chủ truy cập mạng dùng cho phương thức quay số truy cập bảo mật vào VPN, một máy chủ PPTP, và PPTP client. Hình 2.11: Các thành phần cơ bản của một VPN sử dụng PPTP Các máy chủ PPTP có thể đặt tại mạng của công ty và do một nhóm người của công ty quản lý nhưng NAS phải do ISP hỗ trợ. Máy chủ PPTP Máy chủ PPTP thực hiện hai chức năng chính là: đóng vai trò là điểm kết nối của đường hầm PPTP và chuyển các gói đến từ đường hầm tới mạng LAN riêng. Máy chủ PPTP chuyển các gói đến máy đích bằng cách xử lý gói PPTP để được địa chỉ mạng của máy tính đích. Máy chủ PPTP cũng có khả năng lọc gói bằng cách sử dụng lọc gói PPTP. Lọc gói PPTP có thể cho phép máy chủ ngăn cấm, chỉ cho phép truy cập vào Internet , mạng riêng hay cả hai. Thiết lập một máy chủ PPTP tại site mạng gây nên một giới hạn nếu như máy chủ PPTP nằm sau tường lửa. PPTP được thiết kế sau cho chỉ có một cổng TCP/IP (1723) được sử dụng để chuyển dữ liệu đi. Sự khiếm khuyết của cấu hình cổng này có thể làm cho tường lửa dễ bị tấn công hơn. Nếu như tường lửa được cấu hình để lọc gói thì phải thiét lập nó cho phép GRE đi qua. Một thiết bị khác được khởi xướng năm 1998 bởi hãng 3Com có chức năng tương tự máy chủ PPTP được gọi là chuyển mạch đường hầm. Mục đích của chuyển mạch đường hầm là mở rộng đường hầm từ một mạng đến một mạng khác, trải rông đường hầm từ mạng của ISP đến mạng riêng. Chuển mạch đường hầm có thể được sử dụng tại tường lửa làm tăng khả năng quản lý truy cập từ xa vào tài nguyên của mạng nội bộ, nó có thể kiểm tra các gói đến và về, giao thức của các khung PPP hoặc tên của người dùng từ xa. Phần mềm client PPTP Nếu như các thiết bị của ISP đã hỗ trợ PPTP thì không cần phần cứng hay phần mềm nào cho các client, chỉ cần một kết nối PPP chuẩn. Nếu như các thiết bị của ISP không hỗ trợ PPTP thì một client Win NT (hoặc phần mềm tương tự) vẫn có thể tạo kết nối bảo mật bằng cách: Đầu tiên quay số kết nối tới ISP bằng PPP, sau đó quay số một lần nữa thông qua cổng PPTP ảo được thiết lập ở client. Client PPTP đã có sẵn ở Win NT, Win 9x và các hệ điều hành sau này. Khi chọn client PPTP cần phẩi so sánh các chức năng của nó với máy chủ PPTP đã có. Không phải tất cả các phần mềm client PPTP đều hỗ trợ MS-CHAP, nếu thiếu công cụ này thì không thể tận dụng được ưu điểm mã hoá trong RRAS. Máy chủ truy cập mạng RAS Máy chủ truy cập mạng NAS còn có tên gọi khác là Máy chủ truy cập từ xa (Remote Access Server) hay bộ tập trung truy cập (Access Concentrator). NAS cung cấp khả năng truy cập đường dây dựa trên phần mềm và có khả năng tính cước và có khả năng chịu đựng lỗi tại ISP POP. NAS của ISP được thiết kế cho phép một số lượng lớn người dùng có thể quay số truy cập vào cùng một lúc. Nếu một ISP cung cấp dịch vụ PPTP thì cần phải cài một NAS cho phép PPTP, để hỗ trợ các client chạy trên các nền khác nhau như Unix, Windows, Macintosh. Trong truờng hợp này, máy chủ ISP đóng vai trò như một client PPTP kết nối với máy chủ PPTP tại mạng riêng và máy chủ ISP trở thành một điểm cuối của đường hầm, điểm kết thúc còn lại là máy chủ tại đầu mạng riêng. Khả năng áp dụng trong thực tế của PPTP PPTP là một giải pháp tạm thời vì hầu hết các nhà cung cấp đều có kế hoạch thay thế PPTP bằng L2TP khi mà giao thức này đã được chuẩn hoá. PPTP thích hợp cho quay số truy cập với số lượng người dung giới hạn hơn là cho VPN kết nối LAN–LAN. Một vấn đề của PPTP là xử lý xác thực quyền người dùng thông qua Windows NT hay thông qua RADIUS. Máy chủ PPTP cũng qua tải với một số lượng người dùng quay số truy cập hay một lưu lượng lớn dữ liệu trưyền qua, mà điều này là một yêu cầu của kết nối LAN – LAN. Khi sử dụng VPN PPTP mà có hỗ trợ thiết bị của ISP thì một số quyền quản lý phải chia sẻ cho ISP. Tính bảo mật của PPTP không mạnh bằng IPSec. Tuy nhiên, quản ý bảo mật trong PPTP lại đơn giản hơn. Giao thức đường hầm lớp 2 - L2TP Giao thức đường hầm lớp 2 L2TP là sự kết hợp giữa hai giao thức PPTP và L2F- chuyển tiếp lớp 2. PPTP do Microsoft đưa ra còn L2F do Cisco khởi xướng. Hai công ty này đã hợp tác cùng kết hợp 2 giao thức lại và đăng ký chuẩn hoá tại IETF. Giống như PPTP, L2TP là giao thức đường hầm, nó sử dụng tiêu đề đóng gói riêng cho việc truyền các gói ở lớp 2. Một điểm khác biệt chính giữa L2F và PPTP là L2F không phụ thuộc vào IP và GRE, cho phép nó có thể làm việc ở môi trường vật lý khác. Bởi vì GRE không sử dụng như giao thức đóng gói, nên L2F định nghĩa riêng cách thức các gói được điều khiển trong môi trường khác. Nhưng nó cũng hỗ trợ TACACS+ và RADIUS cho việc xác thực. Có hai mức xác thực người dùng: Đầu tiên ở ISP trước khi thiết lập đường hầm, Sau đó là ở cổng nối của mạng riêng sau khi kết nối được thiết lập. L2TP mang dặc tính của PPTP và L2F. Tuy nhiên, L2TP định nghĩa riêng một giao thức đường hầm dựa trên hoạt động của L2F. Nó cho phép L2TP truyền thông qua nhiều môi trường gói khác nhau như X.25, Frame Relay, ATM. Mặc dù nhiều công cụ chủ yếu của L2TP tập trung cho UDP của mạng IP, nhưng có thể thiết lập một hệ thống L2TP mà không cần phải sử dụng IP làm giao thức đường hầm. Một mạng ATM hay frame Relay có thể áp dụng cho đường hầm L2TP. Do L2TP là giao thức ở lớp 2 nên nó cho phép người dùng sử dụng các giao thức điều khiển một cách mềm dẻo không chỉ là IP mà có thể là IPX hoặc NETBEUI. Cũng giống như PPTP, L2TP cũng có cơ chế xác thực PAP, CHAP hay RADIUS. Mặc dù Microsoft đã làm cho PPTP trở nên cách chọn lựa phổ biến khi xây dựng VPN bằng cách hỗ trợ giao thức này sẵn có trong hệ điều hành Windows nhưng công ty cũng có kế hoạch hỗ trợ thêm L2TP trong Windows NT 4.0 và Windows 98. Dạng thứ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 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) ). 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ã. Xử lý UDP header và gửi gói L2TP tới lớp L2TP. 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ý. * Sơ đồ đóng gói L2TP trên nền IPSec Sơ đồ đóng gói L2TP qua kiến trúc mạng từ một VPN client thông qua một kết nối VPN truy cập từ xa sử dụng một modem tương tự như hình vẽ: Hình 2.16: Sơ đồ đóng gói L2TP Các bước của quá trình: Một IP datagram, IPX datagram, hoặc NetBEUI Frame được đưa tới giao diện ảo đại diện cho kết nối VPN sử dụng NDIS bằng giao thức thích hợp. NDIS đưa Packet tới NDISWAN, tại đây có thể nén và cung cấp PPP header chỉ bao gồm trường PPP protocol ID. Các trường Flag hay FCS không được thêm vào. NDISWAN gửi khung PPP tới giao thức L2TP, nơi đóng gói PPP frame với một L2TP header. Trong L2TP header, Tunnel ID và Call ID được thiết lập các giá trị thích hợp để xác định đường hầm. Giao thức L2TP gửi gói thu được tới giao thức TCP/IP với thông tin để gửi gói L2TP như một bản tin UDP từ cổng UDP 1701 tới cổng 1701 với các địa chỉ IP của VPN client và VPN server. Giao thức TCP/IP xây dựng một gói IP với các IP header và UDP header thích hợp. Sau đó IPSec sẽ phân tích gói IP và so sánh với ác chính sách IPSec hiện thời. Dựa trên những thiết lập trong chính sách, IPSec đóng gói và mật mã phần bản tin UDP của gói tin IP sử dụng các ESP header và ESP trailer phù hợp. IP header ban đầu với Protocol field được dặt là 50 được thêm vào phía trước của gói ESP. Giao thức TCP/IP sau đó gửi gói tin thu được tới giao diện đại diện cho kết nối quay số tới ISP địa phương sử dụng NDIS. NDIS gửi gói tới NDISWAN. NDISWAN cung cấp PPP header, PPP trailer và gửi khung PPP thu đựoc tới cổng WAN thích hợp đại diện cho phần cứng dial-up. Đườ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 lưu lượng Intranet gửi thông qua Internet. Hình 2.17: Các đường hầm tự nguyện và bắt buộc Đườ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. Nếu như vì tính bảo mật mà không cho người dùng truy cập vào Internet công cộng nhưng vẫn cho phép dùng Internet để truy nhập VPN. 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. Mặc dù ISP có thể chọn cách thiết lập tĩnh để định nghĩa đường hầm cho người dùng, nhưng điều này gây lãng phí tài nguyên mạng. Có cách khác cho phép sử dụng tài nguyên hiệu quả hơn bằng cách thiết lập đường hầm động. Những đường hầm động này được thiết lập trong L2TP bằng cách kết nối với máy chủ RADIUS. Để RADIUS có thể điều khiển việc thiết lập một đường hầm thì nó cần phải lưu các thuộc tính của đường hầm. Các thuộc tính này bao gồm: giao thức đường hầm được sử dụng (PPTP hay L2TP), địa chỉ của máy chủ và môi trường truyền dẫn trong đường hầm được sử dụng. Sử dụng máy chủ RADIUS để thiết lập đường hầm bắt buộc có một số ưu điểm như: Các đường hầm có thể được định nghĩa và kiểm tra dựa trên xác thực người dùng. Tính cước thể dựa trên số điện thoại hoặc các phương thức xác thực khác. Xác thực và mã hóa trong L2TP Quá trình xác thực người dùng trong L2TP điễn ra trong 3 giai đoạn: giai đoạn 1 diễn ra tại ISP, giai đoạn 2 và giai đoạn 3 (tuỳ chọn) điễn ra ở máy chủ của mạng riêng. Trong giai đoạn đầu, ISP sử dụng số điện thoại của người dùng hoặc tên người dùng để xác định dịch vụ L2TP được yêu cầu và khởi tạo kết nối đường hầm đến máy chủ mạng riêng. Khi đường hầm được thiết lập, LAC của ISP chỉ định một số nhận dạng cuộc gọi (Call ID) mới để định danh cho kết nối trong đường hầm và khởi tạo phiên bằng cách chuyển thông tin xác thực đến máy chủ của mạng riêng. Máy chủ của mạng riêng sẽ tiến hành tiếp bước thứ 2. Giai đoạn 2, máy chủ của mạng riêng quyết định chấp nhận hay từ chối cuộc gói. Cuộc goi từ ISP chuyển đến có thể mạng thông tin CHAP, PAP hay bất kỳ thông tin xác thực nào, máy chủ sẽ dựa vào các thông tin này để quyết định chấp nhận hay từ chối. Sau khi cuộc gọi được chấp nhận thì máy chủ có thể khởi động giai đoạn thứ 3 của quá trình xác thực (tại lớp PPP), đây là giai đoạn tuỳ chọn. bước này xem như máy chủ xác thực một người dùng quay số truy cập vào thẳng máy chủ. Kết quả của 3 giai đoạn này cho phép người dùng, ISP và máy chủ của mạng riêng xác định được tính chính xác của cuộc gọi nhưng vẫn chưa bảo mật cho dữ liệu. Để việc xác thực trong L2TP hiệu quả thì cần phải phân phối khoá. Mặc dù phân phối bằng tay có thể khả thi trong một số trường hợp nhưng về cơ bản thì cần phải có một giao thức quản lý khoá. Đườ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, nhưng 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 nhưng í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 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. Sử dụng L2TP 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 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. Phần mềm client L2TP Nếu như các thiết bị của ISP đã hỗ trợ L2TP thì không cần phần cứng hay phần mềm nào cho các client, chỉ cần kết nối chuẩn PPP là đủ. Tuy nhiên, với các thiết lập trên thì không sử dụng được mã hoá của IPSec. Do vậy ta nên sử dụng các client tương thích L2TP cho L2TP VPN. Một số đặc điểm của phần mềm client L2TP Tương thích với các thành phần khác của IPSec như: máy chủ mã hoá, giao thức chuyển khoá, giải thuật mã hoá,… Đưa ra một chỉ báo rõ ràng khi IPSec đang hoat động. Hỗ trợ tải SA về. Hàm băm (hashing) xử lý được các địa chỉ IP động. Có cơ chế bảo mật khoá (mã hoá khoá với mật khẩu). Có cơ chế chuyển đổi mã hoá một cách tự động và định kỳ. Chặn hoàn toàn các lưu lượng không IPSec. Các bộ tập trung truy cập mạng Một ISP cung cấp dịch vụ L2TP cần phải cài một NAS cho phép L2TP để hỗ trợ cho các client L2TP chạy trên các nền khác nhau như Unix, Windows, Macintosh. Các ISP có thể cung cấp các dịch vụ L2TP mà không cần phải thêm các thiết bị hỗ trợ L2TP vào máy chủ truy cập của họ, điều này đói hỏi tất cả người dùng phải có client L2TP tại máy của họ. Điều này cho phép người dùng có thể sử dụng dịch vụ của nhiều ISP khi mà mô hình mạng của họ rộng lớn về mặt địa lý. Khả năng áp dụng trong thực tế của L2TP Việc lựa chọn một nhà cung cấp dịch vụ L2TP có thể thay đổi tuỳ theo yêu cầu thiết kế mạng. Nếu thiết kế một VPN đòi hỏi mã hoá đầu cuối-đầu cuối thì cần cài các client tương thích L2TP tại các host từ xa và thoả thuận với ISP là sẽ xử lý mã hoá từ máy đầu xa đến tận máy chủ của mạng VPN. Nếu xây dựng một mạng với múc độ bảo mật thấp hơn, khả năng chịu đựng lỗi cao hơn và chỉ muốn bảo mật dữ liệu khi nó đi trong đường hầm trên Inernet thì thoả thuận với ISP để họ hỗ trợ LAC và mã hoá dữ liệu chỉ từ đoạn LAC đến LNS của mạng riêng. L2TP là một thế hệ giao thức quay số truy cập mới của VPN. Nó phối hợp những đặc tính tốt nhất của PPTP và L2F. Hầu hết các nhà cung cấp sản phẩm PPTP đều đưa ra các sản phẩm tương thích L2TP hoặc sẽ giới thiệu sau này. Mặc dù L2TP chủ yếu chạy trên mạng IP, nhưng khả năng chạy trên các mạng khác như Frame Relay, ATM đã làm cho nó thêm phổ biến. L2TP cho phép một lượng lớn client từ xa được kết nối vào VPN hay cho các kết nối LAN-LAN có dung lượng lớn. L2TP có cơ chế điều khiển luồng để làm giảm tắc nghẽn trên đường hầm L2TP. L2TP cho phép thiết lập nhiều đường hầm với cùng LAC và LNS. Mỗi đường hầm có thể gán cho một ngưòi dùng xác định, hoặc một nhóm các người dùng và gán cho các môi trường khác nhau tuỳ theo thuộc tính chất lượng phục vụ QoS của người dùng. Giao thức bảo mật IP - IPSEC Các 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 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ả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, nhưng 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. Khung giao thức IPSec IPSec là khung của các chuẩn mở, được phát triển bởi IETF. 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 lưu lượng ESP đều được mật mã giữa hai hệ thống. 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 chưa 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). Trường này có thể chứa một phần dữ liệu đệm kiểu tường minh (Explicit padding) để đảm bảo độ dài của AH header là số nguyên lần 32 bit (đối với IPv4) hoặc 64 bit (đối với IPv6). Giao thức ESP Khuôn dạng ESP Hình 2.22: Khuôn dạng gói ESP Trong đó: + 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 chưa 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-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. + Payload Data Trường này có độ dài biến đổi chứa dữ liệu mô tả trong Next header. Payload Data là trường bắt buộc và có độ dài bằng số nguyên lần Byte. + Padding Nếu thuật toán mật mã được sử dụng yêu cầu bản rõ (cleartext hay plaintext) phải là số nguyên lần khối các Byte (trong mật mã khối) thì Padding field được sử dụng để thêm vào Plaintext để có kích thước yêu cầu. Padding cần thiết để đảm bảo phần dữ liệu mật mã sẽ kết thúc ở biên giới 4 Byte để phân biệt rõ ràng với trường Authentication Data. Ngoài ra padding còn có thể được sử dụng để che dấu độ dài thực của Payload, tuy nhiên mục dích này phải được cân nhắc vì nó ảnh hưởng tói băng tần truyền dẫn. Bên gửi có thể thêm 0÷255 Padding Byte. + Pad length Trường này xácđịnh số padding Byte đã thêm vào. Các giá trị hợp lệ là 0÷255. Pad length là trường bắt buộc. + Next header (8bit) Là một trường bắt buộc. Next header xác định kiểu dữ liệu chứa trong Payload Data. Giá trị của trường này được lựa chọn từ tập cácgiá trị IP Protocol Numbers định nghĩa bởi IANA.. + Authentication Data Trường có độ dài biến đổi chứa một giá trị kiểm tra tính toàn ven ICV (integrity Check Value) tính trên dữ liệu của toàn bộ gói ESP trừ trường Authentication Data. Độ dài của trường phụ thuộc vào hàm xác thực được lựa chọn. trường này là tuỳ chọn, và chỉ được thêm vào nếu dịch vụ authentication được lựa chọn cho SA đang xét. Thuật toán xác thực phải chỉ ra độ dài của ICV và các bước xử lý cũng như các luật so sánh cần thực hiện để kiểm tra tính toàn vẹn của gói tin. C) Hoạt động của AH và ESP trong các chế độ (mode) AH và ESP đều có thể được sử dụng cho các gói tin IP theo hai cách khác nhau tương ứng với hai mode: Transport mode và Tunnel mode. + Transport mode: Được sử dụng phổ biến cho những kết nối giữa các host hay giữa các thiết bị có chức năng như những host. Ví dụ, một cổng nối IPSec (đó có thể là bộ định tuyến phần mềm IOS, FIX Firewall, hay bộ tập trung VPN 3000 của Cisco) có thể xem như là một host khi được truy nhập bởi một nhà quản lý cấu hình hay những hoạt động điều khiển khác. Transport mode cho phép bảo vệ phần tải tin của gói dữ liệu, cung cấp cơ chế bảo mật cho các giao thức ở lớp trên, nhưng không bảo vệ IP header vì phần IP header luôn ở dạng “clear”. Trong Transport mode, AH được chèn vào sau tiêu đề IP và trước các giao thức lớp trên (TCP, UDP) hoặc bất kỳ tiêu đề IPSec đã được chèn vào trước đó. + Tunnel mode: Được sử dụng giữa các cổng nối như các bộ định tuyến, những FIX Firewwall, những bộ tập trung. Tunnel mode cũng được sử dụng phổ biến khi một host kết nối tới một trong những cổng nối đó để gia tăng truy nhập tới các mạng được điều khiển bởi cổng nối đó, như trong trường hợp những người dùng từ xa quay số truy cập tới một bộ định tuyến hay bộ tập trung. Hình 2.23: Khuôn dạng gói tin IPv4 trước và sau khi xử lý AH Hình 2.24: Khuôn dạng gói tin IPv6 trước và sau khi xử lý AH Hình 2.25: Khuôn dạng gói tin IPv4 trước và sau khi xử lý ESP Hình 2.26: Khuôn dạng gói tin IPv6 trước và sau khi xử lý ESP Để có thể áp dụng AH và ESP trong chế độ Transport mode và Tunnel mode, IPSec yêu cầu phải hỗ trợ được cho tổ hợp của transport mode và Tunnel mode. Điều này được thực hiện bằng các sử dụng Tunnel mode để mã hoá và xác thực các gói và tiêu đề của nó rồi gắn AH hoặc ESP, hoặc dùng cả hai trong chế độ transport mode để bảo mật cho tiêu đề mới được tạo ra. AH và ESP không thể sử dụng chung trong Tunnel mode bởi vì ESP đã có cơ chế tuỳ chọn xác thực, tuỳ chọn này nên sử dụng trong Tunnel modekhi các gói cần phải mã hoá và xác thực. Hoat động của IPSec Ta biết rằng, mục đích chính của IPSec là bảo vệ luồng dữ liệu mong muốn với các dịch vụ bảo mật cần thiếtvà hoạt động của IPSec có thể chia thành 5 bước chính như sau: A gửi lưu lượng cần bảo vệ tới B Router A và B thoả thuận một phiên trao đổi IKE Phase 1 IKE SA ← IKE Phase → IKE SA Router A và B thoả thuận một phiên trao đổi IKE Phase 2 IPSec SA ← IKE Phase → IPSec SA Thông tin được truyền dẫn qua đường hầm IPSec Kết thúc đường hầm IPSec Hình 2.27: 5 bước hoạt động của IPSec. bước 1: Lưu lương cần được bảo vệ khởi tạo quá trình IPSec. Ở đây, các thiết bị IPSec sẽ nhận ra đâu là lưu lượng cần được bảo vệ chẳng hạn thông qua trường địa chỉ. bước 2: IKE Phase 1 – IKE xác thực các đối tác IPSec và một tập các dịch vụ bảo mật được thoả thuận và công nhận (thoả thuận các kết hợp an ninh IKE SAs (Security associations)). Trong phase này, thiết lập một kênh truyền thông an toàn để tiến hành thoả thuận IPSec SA trong Phase 2. bước 3: IKE Phase 2 – IKE thoả thuận các tham số IPSec SA và thiết lập các IPSec SA tương đương ở hai phía. Những thông số an ninh này được sử dụng để bảo vệ dữ liệu và các bản tin trao đổi giữa các điểm đầu cuối. kết quả cuối cùng của hai bước IKE là một kênh thông tin bảo mật được tạo ra giữa hai phía. bước 4: Truyền dữ liệu – Dữ liệu được truyền giữa các đối tác IPSec dựa trên cơ sở các thông số bảo mật và các khoá được lưu trữ trong cơ sở dữ liệu SA. bước 5: Kết thúc đường hầm IPSec – kết thúc các SA IPSec do bị xoá hoặc do hết hạn (time out). Sau đây sẽ trình bày cụ thể hơn về 5 bước hoạt động của IPSec: Bước 1- Kích hoạt lưu lượng cần bảo vệ. Việc xác định lưu lượng nào cần được bảo vệ là một phần việc trong chính sách an ninh (Security Policy) của một mạng VPN. Chính sách được sử dụng để quyết định lưu lượng nào cần được bảo vệ và không cần bảo vệ (lưu lượng ở dạng bản rõ (clear text) không cần bảo vệ). Chính sách sau đó sẽ được thực hiện ở giao diện của mỗi đối tác IPSec. Đối với mỗi gói dữ liệu đầu vào và đầu ra sẽ có ba lựa chọn: Dùng IPSec, cho qua IPSec, hoặc huỷ gói dữ liệu. Đối với mọi gói dữ liệu được bảo vệ bởi IPSec, người quản trị hệ thống cần chỉ rõ các dịch vụ bảo mật được sử dụng cho gói dữ liệu. Các cơ sở dữ liệu, chính sách bảo mật chỉ rõ các giao thức IPSec, các node, và các thuật toán được sử dụng cho luồng lưu lượng. Ví dụ, các danh sách điều khiển truy nhập (ACLs – Access Control Lists) của các router được sử dụng để biết lưu lượng nào cần mật mã. ALCs định nghĩa bởi các dòng lệnh. Chẳng hạn: - Lệnh Permit: Xác định lưu lượng phải được mật mã. - Lệnh deny : Xác định lưu lưọng phải được gửi đi dưới dạng không mật mã. Khi phát hiện ra lưu lượng cần bảo vệ thì một đối tác IPSec sẽ kích hoạt bước tiếp theo: Thoả thuận một trao đổi IKE Phase 1. Bước 2 – IKE Phase 1 Mục đích cơ bản của IKE Phase 1 là để thoả thuận các tập chính sách IKE (IKE policy), xác thực các đối tác ngang hàng, và thiết lập kênh an toàn giữa các đối tác. IKE Phase 1 có hai chế độ: Chế độ chính (main mode) và chế độ nhanh (Aggressive mode). Hình 2.28 : IKE Phase 1 Chế độ chính có 3 trao đổi hai chiều giữa bên khởi tạo và bên nhận: - Trao đổi thứ nhất – Các thuật toán mật mã và xác thực (sử dụng để bảo vệ các trao đổi thông tin IKE) sẽ được thoả thuận giữa các đối tác. - Trao đổi thứ hai – Sử dụng trao đổi DH để tạo các khoá bí mật chung (shared secret keys), trao đổi các số ngẫu nhiên (nonces) để khẳng định nhận dạng của mỗi đối tác. Khoá bí mật chung được sử dụng để tạo ra tất cả các khoá mật mã và xác thực khác. - Trao đổi thứ ba – xác minh nhận dạng của nhau (xác thực đối tác). Kết quả chính của chế độ chính là một đường truyền thông an toàn cho các trao đổi tiếp theo của hai đối tác. Chế độ nhanh thực hiện ít trao đổi hơn (tất nhiên là ít gói dữ liệu hơn). Hầu hết mọi thứ đều được thực hiện trong trao đổi thứ nhất: Thoả thuận tập chính sách IKE; tạo khoá công cộng DH; và một gói nhận dạng (identify packet), có thể sử dụng để xác định nhận dạng thông qua một bên thứ ba (third party). Bên nhận gửi trở lại mọi thứ cần thiết để hoàn thành (complete)việc trao đổi. cuối cùng bên khởi tạo khẳng định (confirm) việc trao đổi. Các tập chính sách IKE Khi thiết lập một kết nối an toàn giữa Host A và Host B thông qua Internet, một đường hầm an toàn được thiết lập giữa Router A và Router B. Thông qua đường hầm, các giao thức mật mã, xác thực và các giao thức khác được thoả thuận. Thay vì phải thoả từng giao thức một, các giao thức được nhóm thành các tập, chính là tập chính sách IKE (IKE policy set). Các tập chính sách IKE được trao đổi trong IKE Phase 1 ở chế độ chính và trong trao đổi thứ nhất. Nếu một chính sách thống nhất (matching policy) được tìm thấy ở hai phía thì chế độ chính tiếp tục. Nếu không tìm thấy chính sách thống nhất nào thì đường hầm sẽ bị loại bỏ. Hình 2.29: Tập chính sách IKE Ví dụ, Router A gửi các tập chính sách IKE Policy 10 và IKE Policy 20 tới Router B. Router B so sánh với tập chính sách của nó, IKE Policy 15, với các tập chính sách nhận được từ Router A. Trong trường hợp này, một chính sách thống nhất được tìm thấy: IKE Policy 10 của Router A và IKE Policy 15 của Router B là tương đương. Trong nhiều ứng dụng điểm- tới điểm, mỗi bên chỉ cần định nghĩa một tập các chính sách IKE. Tuy nhiên ở mạng trung tâm có thể phải định nghĩa nhiều chính sách IKE để đáp ứng nhu cầucủa tất cả các đối tác từ xa. Trao đổi khoá Diffie-Hellman Trao đổi khoá Diffie-Hellman là một phương pháp mật mã khoá công khai cho phép hai bên thiết lập một khoá bí mật chung qua một môi trường truyền thông an toàn. Khoá mật mã này sẽ được sử dụng để tạo ra tất cả các khoá xác thực và mã hoá khác. Khi đã hoàn thành viêc htoả thuận các nhóm, khoá bí mật chung SKEYID sẽ được tính. SKEYID được sử dụng để tạo ra 3 khoá khác SKEYID_a, SKEYID_e, SKEYID_d. Mỗi khoá có một mục đích riêng: SKEYID_a đựoc sử dụng trong quá trình xác thực. SKEYID_e được sử dụng trong quá trình mật mã. SKEYID_d được sử dụng để tạo ra các khoá cho các kết hợp an ninh không theo giao thức ISAKMP (non-ISAKMP SAs). Cả bốn khoá trên đều được tính trong IKE Phase 1. Khi bước này hoàn thành, các đối tác ngang hàng có cùng một mật mã chia sẻ nhưng các đối tương này không được xác thực. Qua trình này diễn ra ở quá trình thứ 3, quá trình xác thực đối tác. Xác thực đối tác Xác thực đối tác là bước trao đổi cuối cùng được sử dụng để xác thực các đối tác nghĩa là thực hiện kiểm tra xem ai đang ở bên kia của đường hầm. Các thiết bị ở hai đầu đường hầm VPN phải được xác thực trước khi đường truyền thông được coi là an toàn. Trao đổi cuối cùng của IKE Phase 1 cómục đích là để xác thực đối tác. H ình 2.30: Xác thực các đối tác Ba phương pháp xác thực nguồn gốc dữ liệu: - Pre-shared keys (Các khoá chia sẻ trước) – một giá trị khoá bí mật được nhập vào bằng tay để xác định đối tác. - RSA signatures (Các chữ ký RSA) – sử dụng việc trao đổi các chứng nhận số (digital certificates) để xác thực đối tác. - RSA encryption nonces – Các số ngẫu nhiên (nonces_một số ngẫu nhiên được tạo ra bổi mỗi đối tác) được mã hoá và sau đó được trao đổi giữa các đối tác ngang hàng, 2 nonce được sử dụng trong suốt quá trình xác thực đối tác ngang hàng. Bước 3 – IKE Phase 2 Mục đích của IKE Phase 2 là để thoả thuận các thông số bảo mật IPSec được sử dụng để bảo mật đường hầm IPSec. Hình 2.31: Thoả thuận các thông số bảo mật IPSec IKE Phase 2 thức hiện các chức năng sau: Thoả thuận các thông số bảo mật IPSec (IPSec security parameters), các tập chuyển đổi IPSec (IPSec transform sets). Thiết lập các kết hợp an ninh IPSec (IPSec Security Associations). Định kỳ thoả thuận lại IPSec SAs để đảm bảo tính an toàn của đường hầm. Thực hiện một trao đổi DH bổ xung (khi đó các SA và các khoá mới được tạo ra, làm tăng tính an toàn của đường hầm). IKE Phase 2 chỉ có một chế độ được gọi là: Quick Mode Chế độ này diễn ra khi IKE đã thiết lập được đường hầm an toàn ở IKE Phase 1. IKE Phase 2 thoả thuận một tập chuyển đổi IPSec chung , tạo các khoá bí mật chung sủ dụng cho các thuật toán an ninh IPSec và thiết lập các SA IPSec. Quick mode trao đổi các nonce mà được sử dụng để tạo ra khoá mật mã chung mới và ngăn cản các tấn công “Replay” từ việc tạo ra các SA khong có thật. Quick mode cũng được sử dụng để thoả thuận lại một SA IPSec mới khi SA IPSec cũ đã hết hạn. Các tập chuyển đổi IPSec Mục đích cuối cùng của IKE Phase 2 là thiết lập một phiên IPSec an toàn giữa các điểm đầu cuối. Trước khi thực hiện được điều này thì mỗi cặp điểm cuối cần thoả thuận múc độ an toàn cần thiết (ví dụ, các thuật toán xác thực và mật mã dung trong phiên đó). Thay vì phải thoả thuận từng giao thức riêng lẻ, các giao thức được nhóm thành các tập, chính là các tập chuyển đổi IPSec. Các tập chuyển đổi này được trao đổi giữa hai phía trong Quick Mode. Nếu tìm thấy một tập chuyển đổi tương đương ở hai phía thì quá trình thiết lập phiên tiếp tục, ngược lại phiên đó sẽ bị loại bỏ. Hình 2.32: tập chuyển đổi IPSec Ví dụ: Router A gửi IPSec transform set 30 và 40 tới Router B , Router B so sánh với IPSec transform set 55 của nó và thấy tương đương với IPSec transform set 30 của Router A, các thuật toán xác thực và mật mã trong các tập chuyển đổi này hình thành một kết hợp an ninh SA. Kết hợp an ninh (SA) Khi một tập chuyển đổi đã được thống nhất giữa hai bên, mỗi thiết bị VPN sẽ đưa thông tin này vào một cơ sở dữ liệu. Thông tin này bao gồm các thuật toán xác thức, mật mã; địa chỉ của đối tác, Chế độ truyền dẫn, thồi gian sống của khoá .v.v. Những thông tin này được biết đến như là một kết hợp an ninh SA. Một SA là một kết nối logic một chiều cung cấp sự bảo mật cho tất cả lưu lượng đi qua kết nối. Bởi vì hầu hết lưu lượng là hai chiều nên phải cần hai SA, một cho đầu vào và một cho đầu ra. Thiết bị VPN sau đó sẽ đánh số SA bằng một số SPI (Security Parameter Index – chỉ số thông số bảo mật). Thay vì gửi từng thông số của SA qua đường hầm, mỗi phía chỉ đơn giản chèn số SPI vào ESP Header. Khi bên thu nhận được gói sẽ tìm kiếm địa chỉ đích và SPI trong cơ sở dữ liệu của nó SAD (Security Association database), sau đó xử lý gói theo các thuật toán được chỉ định bởi SPI / ra trong SPD Hình 2.33 : Các kết hợp an ninh IPSec SA là một sự tổ hợp của SAD và SPD. SAD được sử dụng để định nghĩa địa chỉ IP đối tác đích, giao thức IPSec, số SPI. SPD định nghĩa các dịch vụ bảo mật được sử dụng cho đối tác SA, các thuật toán mã hoá và xác thực, mode, và thời gian sống của khoá. Ví dụ, đối với một kết nối mạng Công ty – Ngân hàng , một đường hầm rất an toàn được thiết lập giữa hai phía, đường hầm này sử dụng 3DES, SHA, tunnel mode, và thời hạn của khoá là 28800, giá trị SAD là 192.168.2.1, ESD và SPI là 12. Với người sử dụng từ xa truy nhập vào e-mail thì đường hầm có mức bảo mật thấp hơn được thoả thuận, sử dụng DES, MD5, tunnel mode, thời hạn của khoá là 28800, tương ứng với SPI là 39. Thời hạn (lifetime) của một kết hợp an ninh Vấn đề tương đương với thời hạn của một mật khẩu sử dụng mật khẩu trong máy tính, thời hạn càng dài thì nguy cơ mất an toàn càng lớn. Các khoá và các SA cũng vậy, để đảm bảo tính an toàn cao thì các khoá và các SA phải được thay đổi một cách thường xuyên. Có hai thông số cần được xác định để thay đổi khoá và SA: Lifetime type- Xác định kiểu tính là theo số Byte hay theo thời gian đã truyền đi. Duration – Xác định đơn vị tính là Kbs dữ liệu hay giây. Ví dụ: lifetime là 10000Kbs dữ liệu đã truyền đi hoặc 28800s. Các khoá và SAs còn hiệu lực cho đến khi lifetime hết hạn hoặc có một nguyên nhân bên ngoài, chẳng hạn một bên ngắt đường hầm, khi đó khoá và SA bị xoá bỏ. Bước 4 – Đường hầm mật mã IPSec Sau khi đã hoàn thành IKE Phase 2 và quick mode đã thiết lập các kết hợp an ninh IPSec SA, lưu lượng trao đổi giữa Host A và Host B thông qua một đường hầm an toàn. Lưu lượng được mật mã và giải mã theo các thuật toán xác định trong IPSec SA. Hình 2.34: Đường hầm IPSec được thiết lập Bước 5 – Kết thúc đường hầm Hình 2.35: Kết thúc đường hầm Các kết hợp an ninh IPSec SA kết thúc khi bị xoá hoặc hết hạn. Một SA hết hạn khi lượng thời gian chỉ ra dã hết hoặc một số lượng Byte nhất định đã truyền qua đường hầm. Khi các SA kết thúc, các khoá cũng bị huỷ. Lúc đó các IPSec SA mới cần được thiết lập, một IKE Phase 2 mới sẽ được thực hiện, và nếu cần thiết thì sẽ thoả thuận một IKE Phase 1 mới. Một hoả thuận thành công sẽ tạo ra cacSA và khoá mới. Các SA mới được thiết lập trước các SA cũ hết hạn để đảm bảo tính liên tục của luồng thông tin. 3.4.4 Ví dụ về hoạt động của IPSec Để tóm tắt toàn bộ quá trình hoạt động của IPSec, ta xét một ví dụ như trong hình vẽ. Hinh 2.36: Quá trình trao đổi thông tin Trong ví dụ này, B muốn truyền thông an toàn với A. Khi gói dữ liệu tới Router B, Router này sẽ kiểm tra chính sách an ninh và nhận ra gói này cần được bảo vệ. chính sách an ninh được cấu hình trước cũng cho biết Router A sẽ là điểm cuối phía bên kia của đường hầm IPSec. Router B kiểm tra xem đã có IPSec SA nào được thiết lập với Router A chưa? nếu chưa thì yêu cầu một quá trình IKE để thiết lập IPSec SA. Nếu hai Router đã thoả thuận được một IPSec SA thì IPSec SA có thể được tạo ra tức thời. Trong trưòng hợp, hai Router chưa thoả thuận một IKE SA thì đầu tiên chúng phải thoả thuận một IKE SA trước khi thoả thuận các IPSec SA. Trong quá trình này, hai Router trao đổi các chứng thực số, các chứng thực này phải được ký trước bởi một CA mà hai phía cùng tin tưởng. Khi phiên IKE đã được thiết lập, hai Router có thể thoả thuận IPSec SA. Khi IPSec SA đã được thiết lập, hai Router sẽ thống nhất được thuật toán mật mã (chẳng hạn DES), thuật toán xác thực (chẳng hạn MD5), và một khoá phiên sử dụng chung. Tới đây, Router B có thể mật mã gói tin của B, đặt nó vào trong một gói IPSec mới, sau đó gửi tới Router A. Khi Router A nhận gói IPSec, nó tìm kiếm IPSec SA, xử lý gói theo yêu cầu, đưa về dạng gói tin ban đầu và chuyển tới A. Quá trình phức tạp này được thực hiện hoàn toàn trong suốt đối với A và B. 3.4.5 Các vấn đề còn tồn đọng trong IPSec Mặc dù IPSec đã sẵn sàng đưa ra các đặc tính cần thiết cho việc bảo mật một VPN thông qua mạng Internet nhưng nó vẫn còn trong giai đoạn phát triển để hướng tới hoàn thiện. Tất cả các gói được sử lý theo IPSec sẽ làm tăng kích thước gói tin do phải thêm vào các tiêu đề IPSec làm cho thông lượng của mạng giảm xuống. Điều này có thể được giải quyết bằng cách nén dữ liệu trước khi mã hóa, nhưng điều này chưa được chuẩn hóa. IKE vẫn là công nghệ chưa được chứng minh. Phương thức chuyển khoá bằng tay lại không thích hợp cho mạng có số lượng lớn các đối tượng di động. IPSec được thiết kế chỉ để điều khiển lưu lượng IP mà thôi. Việc tính toán cho nhiều giải huật trong IPSec vẫn cồn là một vấn đề đối với các trạm làm việc và máy PC cũ. Việc phân phối các phần cứng và phần mềm mật mã vẫn còn bị hạn chế đối với chính phủ một số nước. Sử dụng IPSec ở chế độ dường hầm cho phép các nút có thể có những địa chỉ IP không hợp lệ nhưng vẫn có thể liên lạc được với các nút khác. Nhưng khi chuyển xuống bảo mật mức Host thì các địa chỉ đó phải được quản lý cẩn thận sao cho nhận dạng được nhau.

Các file đính kèm theo tài liệu này:

  • docChuong 2.doc