Sau khi kết nối PPP giữa máy khách và máy chủ PPTP được thiết lập, quá trình kiểm soát kết nối PPTP bắt đầu. Việc kiểm soát kết nối PPTP được thiết lập dựa trên địa chỉ IP của máy chủ và máy khách, sử dụng cơ chế phân chia cổng TCP động và chiếm giữ cổng TCP 1723. Sau khi quá trình kiểm soát kết nối được thiết lập, các bản tin điều khiển và quản lý sẽ được trao đổi giữa các bộ phận truyền thông, đảm nhiệm vai trò bảo trì, quản lý và kết thúc đường hầm PPTP. Trong đó, các bản tin PPTP-Echo-Request, PPTP-Echo-Reply được gửi định kỳ để phát hiện lỗi kết nối giữa máy chủ và máy khách.
Hình 2.10. Trao đổi các bản tin kiểm soát PPTP trên kết nối PPP
Một số bản tin phổ biến được dùng trong việc kiểm soát kết nối PPTP :
Bảng 2.1. Một số bản tin phổ biến trong việc kiểm soát kết nối PPTP
Tên Mô tả
Start-Control-
Connection-Request
Yêu cầu thiết lập kết nối từ máy khách.
Start-Control- Connection-Reply
Bản tin trả lời yêu cầu thiết lập kết nối từ máy khách của máy chủ
Outgoing-Call-Request Yêu cầu thiết lập đường hầm PPTP từ máy khách
Outgoing-Call-Reply Bản tin trả lời yêu cầu thiết lập đường hầm PPTP từ máy khách của máy chủ.
Echo-Request Cơ chế duy trì của máy chủ hoặc máy khách. Nếu bên đối diện không gửi bản tin trả lời, đường hầm sẽđược ngắt.
Echo-Reply Hồi đáp lại bản tin Echo-Request từ bên yêu cầu. Set-Link-Info Thông điệp tùy chọn từ một bên có liên quan PPP.
Call-Clear-Request Thông điệp từ máy khách PPTP thông báo muốn kết thúc đường hầm.
Call-Disconnect-Notify Bản tin trả lời từ máy chủ, khởi tạo quá trình kết thúc đường hầm. WAN-Error-Notify Thông điệp từ máy chủ PPTP đến tất cả các máy khách PPTP
42
Tên Mô tả
nhằm thông báo lỗi trong kết nối PPP của máy chủ. Stop-Control-
Connection-Request
Thông điệp từ máy khách hoặc máy chủ thông báo kết thúc quá trình kiểm soát kết nối.
Stop-Control- Connection-Reply
Hồi đáp từ phía đối diện đến thông điệp Stop-Control- Connection-Request.
Như hình 2.11, bản tin điều khiển PPTP được đóng gói trong gói dữ liệu TCP. Sau khi thiết lập một kết nối PPP với máy chủ hoặc khách từ xa, kết nối TCP sẽ được thiết lập. Kết nối này được dùng để trao đổi bản tin điều khiển PPTP.
Hình 2.11. Bản tin điều khiển PPTP
2.2.3.2. Quá trình đóng gói dữ liệu đường hầm và truyền dữ liệu
Một gói dữ liệu PPTP phải trải qua nhiều giai đoạn đóng gói, bao gồm những giai đoạn sau:
Hình 2.12. Quy trình đóng gói dữ liệu tại bên phát
1. Quá trình đóng gói dữ liệu: Thông tin nguyên bản được mã hóa và được đóng gói bên trong một PPP frame. Một PPP header được thêm vào frame.
2. Quá trình đóng gói các PPP frame: PPP frame sau khi đã thêm header sẽ được đặt trong gói định tuyến GRE. GRE header chứa một trường báo nhận Acknowledgement 4 byte và 1 bit báo nhận tương ứng để xác nhận sự hiện diện của trường này. Ngoài ra, trường khóa của frame GRE được thay thế bởi 2 bytes cho biết chiều dài của payload và 2 bytes biểu diễn Call ID. Máy khách PPTP thiết lập trường này khi thiết lập đường hầm PPTP.
3. Quá trình đóng gói GRE: Một IP header sẽ được thêm vào gói GRE. Phần IP header này chứa địa chỉ IP nguồn của cả máy khách và máy chủ.
4. Quá trình đóng gói tầng Data Link: PPTP là giao thức đường hầm lớp 2 nên phần header và trailer của lớp Data Link giữ vai trò quan trọng trong việc tạo đường hầm dữ liệu. Trước khi được đặt vào môi trường truyền thông, lớp Data Link thêm phần header và trailer vào gói dữ liệu. Nếu gói dữ liệu được truyền
qua đường hầm PPTP cục bộ, nó sẽ được đóng gói thêm header và trailer theo
công nghệ LAN (như Ethernet). Trường hợp đường hầm được thiết lập dựa trên một kết nối WAN thì header và trailer được thêm vào gói dữ liệu là PPP.
Khi dữ liệu PPTP được chuyển đến bên nhận, bên nhận cũng phải thực hiện quy trình ngược lại để tách dữ liệu gốc :
1. Bên nhận xử lý và gỡ bỏ header và trailer của tầng Data Link đã được thêm vào bởi bên gửi.
2. Kế tiếp, gỡ bỏ GRE header.
3. IP header được xử lý và được gỡ bỏ. 4. PPP header được xử lý và được gỡ bỏ.
5. Cuối cùng, dữ liệu gốc được giải mã (nếu yêu cầu).
Hình 2.13. Quy trình tách dữ liệu tại bên nhận 2.2.4. Bảo mật trong PPTP
PPTP đưa ra nhiều cơ chế bảo mật cho máy chủ và máy khách PPTP. Những dịch vụ này bao gồm:
• Mã hóa và nén dữ liệu.
• Chứng thực
• Điều khiển truy cập
• Lọc gói
Ngoài các cơ chế bảo mật cơ bản nói trên, PPTP có thể được sử dụng kết hợp với tường lửa và bộ định tuyến.
2.2.4.1. Mã hóa và nén dữ liệu PPTP
PPTP không cung cấp cơ chế mã hóa bảo mật dữ liệu riêng mà dùng dịch vụ mã
hóa được đưa ra bởi PPP. PPP sử dụng phương pháp mã hóa điểm-nối-điểm của
Microsoft (MPPE), dựa trên phương pháp mã hóa dùng chung.
Mã dùng chung sử dụng trong PPP là ID của người dùng và một mật khẩu tương ứng. Nó sẽ sử dụng một khóa 40 bit để mã hóa ID và mật khẩu theo giải thuật băm
được lưu trữ trên cả máy chủ và máy khách. Giải thuật băm được sử dụng để tạo
khóa là mã RSA RC4. Khóa này sẽ được sử dụng để mã hóa tất cả dữ liệu truyền trong đường hầm PPTP. Tuy nhiên khóa 40 bit ngắn và không đủ để chống đỡ kỹ thuật hacking hiện nay, nên người ta có thể sử dụng khóa 128 bit. Để giảm các nguy cơ liên quan bảo mật, Microsoft đề nghị tạo lại mã mới sau khi gói thứ 256 được truyền đi.
2.2.4.2. Chứng thực dữ liệu PPTP
PPTP hỗ trợ một số cơ chế chứng thực cơ bản của Microsoft sau :
• MS-CHAP: MS-CHAP là một phiên bản được điều chỉnh từ CHAP của Microsoft, là phương pháp xác nhận cơ bản cho PPP. MS-CHAP có nhiều điểm tương đồng với CHAP nên chức năng của MS-CHAP cũng tương tự chức năng của CHAP. Điểm khác biệt cơ bản của hai phương pháp này là CHAP dựa trên thuất toán hàm băm RSA MD5, còn MS-CHAP thì dựa trên RSA RC4 và DES. Trên thực tế MS-CHAP chỉ được phát triển cho các sản phẩm của Microsoft (Windows 9x và một số phiên bản Windows NT), nó không được hỗ trợ bởi các nền khác.
• PAP: PAP là phương pháp đơn giản và thường được triển khai nhiều trong giao thức chứng thực quay số. Nó cũng được dùng để chứng thực các kết nối PPP. Tuy nhiên, phương pháp này không an toàn do nó gửi ID người dùng và mật khẩu chưa mã hóa trên đường truyền. Một khuyết điểm khác của PAP là chỉ chứng thực thông tin một lần khi thiết lập kết nối. Như vậy nếu hacker xâm nhập thành công sẽ không phải lo lắng về việc chứng thực lại. Do đó PAP được xem là một giao thức chứng thực kém nhất và ít được sử dụng trong cơ chế chứng thực mạng riêng ảo.
2.2.4.3. Điều khiển truy cập PPTP
Sau khi máy khách PPTP từ xa được chứng thực thành công thì có thể truy cập vào tài nguyên mạng, tuy nhiên vẫn phải sử dụng các cơ chế điều khiển truy cập để đảm bảo tính bảo mật cho thông tin:
• Quyền truy cập
• Cho phép truy cập
• Truy cập theo nhóm
2.2.4.4. Lọc gói dữ liệu PPTP
Việc lọc gói dữ liệu PPTP cho phép một máy chủ PPTP trên một mạng riêng chỉ chấp nhận và định tuyến các gói dữ liệu từ những máy khách PPP đã được chứng thực thành công. Khi đó, chỉ những máy khách PPP đã được chứng thưc mới được cấp quyền truy cập vào mạng từ xa. Như vậy PPTP không chỉ cung cấp các cơ chế chứng thực, điều khiển truy cập và mã hóa mà còn tăng độ bảo mật trong mạng.
2.2.5. Ưu điểm và nhược điểm của PPTP
Ưu điểm chính của PPTP :
- PPTP là một giải pháp được xây dựng trên nền các sản phẩm của Microsoft, được dùng phổ biến rộng rãi.
- PPTP có thể hỗ trợ các giao thức non-IP.
- PPTP được hỗ trợ bởi nhiều nền tảng khác nhau như Unix, Linux, và Apple's Macintosh. Một số nền tảng khác không hỗ trợ PPTP có thể sử dụng các dịch vụ của PPTP bằng cách sử dụng các bộ định tuyến được cài đặt sẵn khả năng của máy khách PPTP.
Nhược điểm của PPTP :
- PPTP bảo mật yếu hơn so với kỹ thuật L2TP và IPSec. - PPTP phụ thuộc nền.
- PPTP yêu cầu máy khách và máy chủ phải có cấu hình mạnh.
Điểm yếu lớn nhất của PPTP là cơ chế bảo mật của nó sử dụng mã hóa với khóa mã phát sinh từ mật khẩu của người dùng. Điều này càng nguy hiểm hơn khi mật khẩu được gửi trong môi trường không an toàn để chứng thực. Giao thức đưòng hầm Layer 2 Forwarding (L2F) được phát triển để tăng cường khả năng bảo mật.
2.3. Giao thức L2F (Layer 2 Forwarding Protocol)
Dịch vụ mạng quay số truyền thống được thực hiện thông qua Internet và dựa trên kỹ thuật IP. Do đó một số giải pháp tạo đường hầm, như PPP và PPTP, trên cơ sở hạ tầng IP thành công hơn so với các công nghệ mạng đương thời hiện nay, như ATM, Frame Relay… Khi đó bảo mật lại là một vấn đề quan trọng trong quá trình truyền thông. Như đã trình bày MS-CHAP của PPTP không thực sự là phương pháp bảo mật tốt, do đó các tổ chức buộc phải tìm một giải pháp tốt hơn để có thể áp dụng với nhiều dịch vụ quay số ảo.
Cisco Systems, cùng với Nortel, một trong những nhà cung cấp hàng đầu đã đưa ra những định hướng cho các giải pháp bảo mật :
• Cho phép bảo mật trong quá trình truyền thông.
• Cung cấp khả năng truy cập trên cơ sở hạ tầng của Internet và các mạng trung gian khác.
• Hỗ trợ nhiều công nghệ mạng khác nhau như ATM, FDDI, IPX, Net-BEUI, và Frame Relay.
Kết quả của quá trình nghiên cứu mà Cisco đưa ra là L2F. Ngoài khả năng cung cấp đầy đủ các chức năng trên, L2F có một tiến bộ cơ bản trong kỹ thuật truy cập từ xa: đường hầm L2F có thể hỗ trợ đồng thời nhiều phiên trên cùng một đưòng hầm. Do vậy có thể có nhiều người dùng từ xa truy cập mạng nội bộ trên cùng một kết nối quay số. Đa kết nối trong một đường hầm ở L2F được thực hiện bằng cách biểu diễn mỗi kết nối dưới dạng một kết nối PPP. Các kết nối này có thể được tạo ra từ một hoặc nhiều người dùng từ xa.
Hình 2.14. Đường hầm L2F 2.3.1. Quá trình hoạt động L2F
Khi một người dùng từ xa quay số khởi tạo một kết nối đến một host đặt trong một mạng Intranet riêng. Quá trình xử lý được thực hiện theo tuần tự sau :
1. Người dùng từ xa khởi tạo một kết nối PPP đến nhà cung cấp dịch vụ mạng ISP. Nếu người dùng từ xa là một phần của mạng cục bộ LAN, người dùng có thể sử dụng ISDN hoặc những cách kết nối khác để kết nối đến ISP. Nếu người dùng không phải là một phần của mạng Intranet thì phải dùng các dịch vụ trên cơ sở PSTN.
2. Nếu máy chủ truy cập mạng NAS chấp nhận các yêu cầu kết nối, một kết nối PPP sẽ được thiết lập giữa người dùng và NAS.
3. Người dùng được chứng thực ở ISP bằng cơ chế CHAP hoặc PAP.
4. Một đường hầm được khởi tạo tới cổng của mạng đích nếu trước đó chưa sẵn có đường hầm nào.
5. Sau khi đường hầm được thiết lập, một ID (MID) được xác định tại kết nối. Một thông báo cũng sẽ được gửi đến cổng mạng thông báo cho cổng biết có yêu cầu kết nối từ một người dùng từ xa.
6. Cổng có thể chấp nhận hoặc từ chối yêu cầu kết nối. Nếu yêu cầu bị từ chối, người dùng sẽ được cho biết nguyên nhân yêu cầu không thực hiện và kết nối quay số được kết thúc. Ngược lại, nếu yêu cầu được chấp nhận, cổng mạng sẽ
gửi thông báo cài đặt đến người dùng từ xa. Thông tin hồi đáp này có thể bao gồm thông tin xác nhận, được sử dụng để xác nhận người từ xa.
7. Sau khi người dùng được cổng mạng xác nhận, một giao diện ảo được thiết lập giữa hai đầu cuối.
Hình 2.15. Quá trình thiết lập đường hầm L2F giữa máy chủ và máy khách từ xa. 2.3.2. Đường hầm L2F
Khi yêu cầu kết nối từ người dùng từ xa được chấp thuận, một đường hầm được thiết lập giữa máy chủ truy cập mạng của nhà cung cấp và cổng mạng từ xa.
49
Sau khi đường hầm giữa hai đầu cuối đã xác lập, các bản tin lớp 2 có thể trao đổi thông qua đường hầm theo các bước sau :
1. Người dùng từ xa gửi các bản tin đến NAS đặt tại ISP.
2. POP loại bỏ thông tin về lớp Data Link và gắn header và trailer của L2F vào bản tin. Bản tin mới vừa đóng gói sẽ được chuyển đến mạng đích thông qua đường hầm.
3. Cổng mạng từ xa nhận các gói dữ liệu từ đường hầm, bỏ header và trailer của L2F và chuyển bản tin đến nút đích bên trong mạng intranet.
4. Nút đích xử lý những bản tin nhận được như những bản tin bình thường khi
chưa qua đường hầm.
Hình 2.17. Định dạng bản tin L2F
Bản tin phản hồi từ máy chủ tới máy khách cũng được đóng gói và gỡ gói, ngược lại với quy trình từ máy khách tới máy chủ.
2.3.3. Bảo mật trong L2F
L2F cung cấp hai dịch vụ bảo mật
2.3.3.1. Mã hóa dữ liệu
L2F sử dụng phương pháp mã hóa điểm-nối-điểm của Microsoft (MPPE). Tuy nhiên, MPPE không phải là giải pháp an toàn trước các kỹ thuật tấn công ngày nay. Vì vậy, L2F sử dụng thêm phương pháp mã hóa dựa trên IPSec để đảm bảo dữ liệu được bảo mật trên suốt đường truyền. IPSec sử dụng 2 giao thức để mã hóa – đóng gói dữ liệu nguồn ESP và chứng thực tiêu đề AH. Hơn nữa để tăng tính bảo mật khóa trong quá trình trao đổi khóa, IPSec còn sử dụng một giao thức thứ ba – giao thức trao đổi khóa IKE.
Ưu điểm lớn nhất của công nghệ mã hóa IPSec là thực hiện chứng thực trên từng gói dữ liệu riêng biệt thay vì chứng thực trên từng người dùng. Tuy nhiên, chứng
thực trên từng gói sẽ chậm hơn rất nhiều so với chứng thực trên từng người dùng. IPSec được sử dụng làm giao thức bảo mật trong các các giao thức đường hầm của mạng riêng ảo như PPTP, L2F, hoặc L2TP…
2.3.3.2. Cơ chế chứng thực dữ liệu
Phương pháp chứng thực của L2F được thực hiện ở 2 mức. Mức đầu tiên xảy ra khi người dùng từ xa quay số đến nhà cung cấp dịch vụ mạng. Mức thứ hai được thực hiện bởi cổng mạng, và đường hầm giữa hai điểm đầu cuối chỉ được thiết lập khi người dùng từ xa được chứng thực.
Giống như PPTP, L2F cũng dùng dịch vụ bảo mật được hỗ trợ bởi PPP cho mục đích chứng thực. L2F sử dụng PAP để xác nhận người dùng từ xa khi cổng L2F nhận được một yêu cầu kết nối. Để tăng tính bảo mật dữ liệu L2F sử dụng quy trình chứng thực:
• CHAP: CHAP được phát triển để khắc phục nhược điểm gửi mật khẩu ở dạng văn bản của PAP. Đối với CHAP, khi người dùng từ xa yêu cầu được xác nhận, nó đáp lại bằng một giá trị băm bí mật được tạo ra từ thuật toán băm MD5. Nếu giá trị
này ở máy chủ được tính toán theo đúng quy trình ở máy khách thì máy khách sẽ
được chứng thực thành công. Do đó, sẽ không có những mật khẩu dưới dạng văn