Vers: 3 0 Len: 0 Type: 20 Len: 0 0 36 SHA hash (20 bytes) MD5 hash (16 bytes) MAC (16 bytes) Handshake message Encrypted 56
Trường Msg type chứa giá trị 20, trường độ dài có giá trị là 36. Nội dung thông điệp chứa hai giá trị băm của tất cả các thông điệp đã được trao đổi trong phiên bắt tay, một được tạo ra từ hàm băm MD5 và một được tạo ra từ hàm băm SHA. Thông điệp Finished đươc bổ sung mã xác thực MAC và được mã hoá bằng dịch vụ bảo mật đã thương lượng.
Trên đây là các khái niệm được sử dụng trong giao thức SSL cũng như cấu trúc và nguyên tắc hoạt động của giao thức này. Phần tiếp theo tác giả trình bày việc thiết lập đường hầm trong mạng SSL VPN dựa trên và so sánh mạng SSL VPN với mạng IPSec VPN.
2.4. Thiết lập đường hầm trong SSL VPN
Đường hầm trong mạng SSL VPN là một kênh giao tiếp an toàn giữa hai máy tính trong một môi trường truyền thông không in cậy. Khi đường hầm được thiết lập, hai máy tính trao đổi dữ liệu với nhau thông qua đường hầm, máy tính thứ 3 không thể truy cập được vào kênh giao tiếp đó. Các đường hầm thực hiện việc mã hoá tất cả lưu lượng truyền thông giữa hai máy, kẻ tấn công xâm nhập kênh truyền dù có lấy được dữ liệu cũng không thể giải mã được nội dung thực sự của dữ liệu.
Với SSL VPN, đường hầm không phải là khái niệm mới. Đường hầm có thể được tạo bởi các giao thức PPTP, L2TP và IPSec, các giao thức này hoạt động ở lớp mạng trở xuống trong mô hình tham chiếu 7 lớp OSI. SSL VPN tạo các đường hầm bảo mật qua việc thực hiện 2 chức năng sau:
Yêu cầu xác thực các bên tham gia giao tiếp. Bằng cách này, chỉ có các bên giao tiếp được xác thực mới có thể tiết lập được các đường hầm. Giao thức đường hầm SSL sử dụng cơ chế xác thực dựa trên chứng chỉ khoá công khai được cung cấp bởi một CA. Xác thực máy chủ SSL VPN là yêu cầu bắt buộc, còn xác thực máy khách SSL VPN là tuỳ chọn.
Mã hoá tất cả dữ liệu được truyền giữa hai bên tham gia giao tiếp. Cũng giống như giao thức IPSec và các giao thức khác, giao thức đường hầm SSL mã hoá tất cả dữ liệu trao đổi khi một kết nối được thiết lập, các thuật toán mã hoá được sử dụng trong SSL Version 3.0 là khá an toàn cho phiên giao tiếp ([27]). Các đường hầm hoạt động ở tầng mạng hoặc thấp hơn được thiết lập với cơ chế phức tạp, cần một phần mềm hoạt động tại các điểm cuối đường hầm. Do đó, việc quản lý cũng trở nên khó khăn hơn. Với SSL VPN, như đã giới thiệu mục đích ban đầu của giao thức SSL là nhằm vào việc truyền thông dựa trên web, các chức năng của SSL được tích hợp sẵn trên trình duyệt web, chính vì vậy mà việc tạo ra một đường hầm SSL dựa trên web là không quá phức tạp. Các hệ điều hành hiện nay đều hỗ trợ sẵn các trình duyệt web, khi máy khách ở xa dùng trình duyệt web để truy cập vào máy chủ, các chức năng của giao thức SSL tích hợp sẵn trên trình duyệt thực hiện việc tạo đường hầm bảo mật giữa trình duyệt và máy chủ. Mạng SSL VPN kiểu này còn được gọi là các VPN dựa trên nền web.
SSL còn có khả năng tạo ra các đường hầm cho các ứng dụng không dựa trên nền web, nó sử dụng một phần mềm chuyển tiếp cổng (port forwarding applet) vào quá trình trao đổi dữ liệu. VPN kiểu này thực hiện hai cơ chế, một là chuyển tiếp các lưu lượng gửi tới các cổng cụ thể, hai là truyền dữ liệu qua các cổng của các giao thức khác như FTP, Telnet….
Để thiết lập kết nối, SSL VPN gửi một đoạn mã (thường là một điều khiển ActiveX hoặc Java applet) tới máy người dùng và bằng cách đó tạo một “virtual network adapter” trên máy người dùng. Tiếp theo SSL VPN gán cho người dùng một địa chỉ IP trên mạng nội bộ, và sử dụng đường hầm SSL để thiết lập một kết nối giữa mạng nội bộ và máy truy cập từ xa. Trong nhiều trường hợp phương thức giao tiếp này giống với công nghệ mạng IPSec VPN, virtual network adapter có thể chuyển tiếp tất cả các lưu lượng TCP, UDP, IP, ICMP,… Toàn bộ gói tin được mã hoá bởi SSL và bọc thành một gói mới sau đó truyền qua mạng tới điểm cuối.
2.5 So sánh SSL VPN và IPSec VPN
Có nhiều nhân tố khác nhau góp phần đánh giá cho một giải pháp VPN, khi ước tính chi phí cho bất kỳ một giải pháp công nghệ thông tin nào ta cũng phải dựa trên
nhiều nhân tố chứ không chỉ tập chung vào đánh giá chi phí cho phần cứng và phần mềm. Dưới đây là các khía cạch được xem xét khi so sánh SSL VPN và IPSec VPN.
(1). Kiểu kết nối, kiểu truy cập: Các mạng IPSec VPN thường thích hợp cho các kết nối theo kiểu site-to-site, liên kết các mạng LAN ở xa với nhau hoặc giữa mạng LAN ở xa với mạng trung tâm. Giải pháp mạng IPSec VPN được đề xuất cho các kết nối yêu cầu băng thông rộng, hiệu suất cao, dữ liệu lớn, kết nối liên tục, và thường cố định. Tuy nhiên, đối với các yêu cầu truy cập mạng từ xa, truy cập từ các người dùng di động tới một tài nguyên tập chung thì giải pháp IPSec VPN t ra có nhiều bất cập và đó chính là ưu điểm của SSL VPN.
(2). Phần mềm khách (Client software): IPSec VPN yêu cầu cần phải có phần mềm client cài đặt tại các máy tính để bàn hoặc máy tính của người dùng di động. Do đó không thể kết nối được VPN nếu không có phần mềm VPN cài trên máy khách truy cập mạng, điều này làm hạn chế tính linh động của người dùng trong mạng IPSec VPN. Với SSL VPN, chỉ cần hệ điều hành có tích hợp một trình duyệt (browser) bất kỳ hỗ trợ SSL là thực hiện được một kết nối an toàn. Các thiết bị cầm tay cũng như máy tính hiện nay đa phần đều hỗ trợ các trình duyệt kiểu này, do đó tính phong phú của người dùng được mở rộng hơn, việc triển khai SSL VPN cũng trở nên dễ dàng hơn.
Đối với các SSL VPN hoạt động không dựa trên nền web cũng yêu cầu phần mềm máy khách, tuy nhiên các phần mềm này thường đơn gian, dễ viết, dễ tích hợp và triển khai.
Khi số lượng người dùng tăng, chi phí cài đặt phần mềm, quản trị, cấu hình trên các thiết bị truy cập từ xa cũng tăng theo. Do đó sẽ làm tăng chi phí trong triển khai giải pháp IPSec VPN. SSL VPN thật sự là giải pháp hiệu quả trong trường hợp này.
(3). Độ tin cậy của thiết bị truy nhập hay mạng từ xa: Với IPSec VPN, người dùng từ xa hay mạng LAN từ xa kết nối với trung tâm có thể dễ dàng truy cập đến toàn bộ tài nguyên mạng bình đẳng giống như tại trung tâm. Vì vậy, các thiết bị hay mạng từ xa phải tin cậy, mặt khác vì các thiết bị truy cập cần phải được quản lý và cài đặt cấu hình nên giải pháp IPSec VPN là thích hợp trong trường hợp này. Tuy nhiên, đối với những người dùng di động và những thiết bị cầm tay thì giải pháp IPSec VPN sẽ kém hiệu quả, và SSL VPN là một lựa chọn thích hợp.
(4). Kiểm soát truy cập (Access Control): IPSec VPN được thiết kế để mở rộng phạm vi của mạng LAN. Yêu cầu bình đẳng truy cập tài nguyên tại các mạng LAN ở xa đòi h i phải có một chính sách an ninh mạng thống nhất trong toàn bộ các điểm kết nối và truy cập mạng. Do đó các giải pháp IPSec được áp dụng rất
hiệu quả cho mô hình site-to-site. Tuy nhiên, đối với các người dùng di động giả pháp SSL VPN thường hiệu quả hơn.
(5). Độ bảo mật (security): Khi so sánh độ bảo mật của SSL VPN và Ipsec VPN, không thể đánh giá được mức độ tốt, xấu trong hai giải pháp đó. Mặc dù SSL và IPSec là hai công nghệ hoàn toàn khác nhau, nhưng chúng đều sử dụng chung một cơ chế để đảm bảo tính bảo mật đó là xác thực, mã hoá và trao đổi khoá. Các thuật toán mã hoá được sử dụng trong hai giao thức tương đối mạnh, đó là: Triple DES, 128-bit RC4, AES, DES… các thuật toán xác thực thông điệp là MD5, SHA1. Vấn đề xác thực dựa vào các công cụ như RADIUS, Active Directory, LDAP, X.509.
2.6 Kết luận chương
Chương 2 tác giả đã trình bày các vấn đề cơ bản về giao thức SSL, bao gồm cấu trúc cũng như hoạt động của giao thức. Phần cuối chương trình bày ứng dụng của giao thức này trong xây dựng mạng riêng ảo SSL VPN và so sánh các mạng SSL VPN và IPSec VPN dựa trên các tiêu chí khác nhau. Chương tiếp theo mô tả quá trình xây dựng một hệ thống truyền tệp hoạt động dựa theo giao thức SSL, hệ thống này có thể triển khai trong hoạt động trao đổi thông tin dựa trên mạng Internet công cộng nói chung và trong hoạt động trao đổi tin của ngành Công an nói riêng.
Chương 3.
XÂY DỰNG CHƯƠNG TRÌNH TRUYỀN TỆP DỰA TRÊN HOẠT ĐỘNG CỦA GIAO THỨC SSL
3.1 Phát biểu bài toán
Trao đổi thông tin an toàn là một trong những yêu cầu thiết thực của các cơ quan, tổ chức, đặc biệt là trong ngành Công an vấn đề đó lại càng được trú trọng hơn. Qua nghiên cứu thực tế các hoạt động trao đổi thông tin tại các đơn vị trong ngành Công an cho thấy việc áp dụng công nghệ thông tin vào hoạt động trao đổi tin còn nhiều hạn chế, chủ yếu vẫn bằng phương pháp thủ công với sự tham gia của con người, chẳng hạn như: số liệu tai nạn giao thông, số liệu về can phạm nhân, phương tiện giao thông cơ giới được đăng ký… chuyển về cơ quan bộ thường bằng đĩa mềm thông qua còn đường bưu chính viễn thông. Chính vì vậy mà việc ứng dụng công nghệ thông tin vào lĩnh vực này là hết sức cần thiết, phù hợp với chủ trương của Đảng và Nhà nước về phát triển công nghệ thông tin trong thời kỳ đổi mới, công nghiệp hoá, hiện đại hoá đất nước.
Với một hệ thống trao đổi tin dựa trên hạ tầng mạng truyền thông công cộng thì yêu cầu an ninh an toàn được đặt nên hàng đầu. Các yêu cầu đó được cụ thể hoá như sau:
Hệ thống phải đảm bảo được không có lỗi xảy ra trong quá trình tiếp, vận hành hoặc nếu có lỗi thì phải có giải pháp khắc phục.
Đảm bảo được tốc độ trao đổi thông tin.
Đảm bảo các bên tham gia phải được xác thực.
Dữ liệu trao đổi phải được mã hoá, xác thực và đảm bảo tính toàn vẹn trong khi truyền.
Từ việc nghiên cứu mô hình lý thuyết về công nghệ mạng SSL VPN và các hoạt động nghiệp vụ thực tế trong Ngành công an cho thấy vấn đề xây dựng một hệ thống truyền tệp mô ph ng theo nguyên tắc hoạt động của giao thức SSL là hoàn toàn phù hợp với các yêu cầu đặt ra ở trên. Vừa đảm bảo được tốc độ, vừa đảm bảo được an ninh an toàn cho dữ liệu, đồng thời phù hợp với yêu cầu phát triển công nghệ thông tin trong giai đoạn hiện nay.
Phần tiếp theo tác giả xin đề xuất, thiết kế và xây dựng một hệ thống truyền tệp hoạt động dựa trên giao thức SSLFTP (SSL File Transfer Protocol). Đây là một giao thức được tác giả cải tiến từ giao thức SSL. Chi tiết về giao thức SSLFTP cũng như hoạt động của hệ thống được giới thiệu trong các phần tiếp theo.
3.2 Kiến trúc hệ thống
Ngày nay, với sự phát triển của Internet các ứng dụng dựa trên nền Internet không ngừng ra tăng. Hệ thống truyền tệp được xây cũng là một trong những ứng dụng đó. ISP trong trường hợp này là cầu nối trung gian cho phép các thành phần trong hệ thống giao tiếp với nhau. Sơ đồ tổng thể về hệ thống được mô tả trong hình vẽ 3.1. ` Máy chủ xác thực Máy chủ tệp Internet Máy khách Hình 3.1 Mô hình hệ thống truyền tệp ISP ISP ISP
Kiến trúc tổng quan của hệ thống bao gồm các thành phần sau:
Máy chủ xác thực
Hệ thống gồm nhiều máy chủ tệp, nhiều trạm làm việc và một máy chủ xác thực. Máy chủ xác thực làm nhiệm vụ quản lý các thông tin phục vụ cho quá trình xác thực trong hệ thống. Mỗi máy chủ tệp gồm một tên máy và một khoá công khai được lưu trữ trên máy chủ xác thực. Trong pha khởi tạo và thiết lập kết nối máy khách gửi yêu cầu xác thực tới máy chủ xác thực, máy chủ xác thực tính toán giá trị băm của từng cặp tên máy và khoá công khai tương ứng rồi gửi danh sách các giá trị băm này cho máy khách. Hàm băm được sử dụng cho quá trình này là MD5. Giá trị băm tạo ra là một chuỗi 16 byte.
Máy chủ tệp
Máy chủ tệp là một thành phần quan trọng trong hệ thống cùng với máy khách tham giao vào quá trình trao đổi dữ liệu ứng dụng. Mỗi máy chủ tệp bao gồm một tên và một cặp khoá công khai, khóa riêng sử dụng với thuật toán mã hoá khoá công khai RSA. Phần mềm cài đặt trên máy chủ làm nhiệm vụ lắng nghe yêu cầu kết nối từ máy khách, thiết lập phiên giao tiếp, và trao đổi dữ liệu với máy khách.
Máy khách
Máy khách là một trong những thành phần không thể thiếu được trong hệ thống. Đây là nơi bắt đầu của mọi phiên giao tiếp, máy khách làm nhiệm vụ khởi tạo kết nối, xác thực máy chủ tệp và thực hiện quá trình trao đổi dữ liệu với máy chủ tệp. Máy khách thực hiện việc trao đổi dữ liệu với cả máy chủ tệp và máy chủ xác thực. Với máy chủ xác thực xảy ra trong quá trình khởi tạo phiên giao tiếp nhằm mục đích xác thực, còn với máy chủ tệp xảy ra từ đầu cho tới khi kết thúc phiên giao tiếp.
3.3 Giao thức trao đổi dữ liệu SSLFTP
Giao thức SSLFTP được thiết kế gồm 4 giao thức thành phần được phân tầng. Tầng trên gồm các giao thức SSLFTP Handshake, SSLFTP ChangeCipherSpec, SSLFTP Alert. Tầng dưới gồm giao thức SSLFTP Record. Giao thức Handshake làm nhiệm vụ khởi tạo phiên giao tiếp, giao thức ChangeCipherSpec thông báo sự thay đổi trạng thái, giao thức Alert làm nhiệm vụ truyền các lỗi hệ thống và giao thức Record làm nhiệm vụ mã hoá, tính toán MAC và đóng gói dữ liệu trao đổi giữa hai bên. Mối quan hệ giữa các giao thức thành phần và giao thức tầng ứng dụng được mô tả trong hình vẽ 3.2.
SSLFTP Record SSLFTP Handshake SSLFTPAlert Appli- cation SSLFTP ChangeCipher HTTP TCP
Hình 3.2 Sơ đồ quan hệ giữa các giao thức thành phần SSLFTP
3.4. Nguyên tắc hoạt động của hệ thống
Để bắt đầu phiên trao đổi dữ liệu máy khách gửi yêu cầu thiết lập phiên liên kết tới máy chủ tệp và pha thiết lập liên kết bắt đầu. Trong pha liên kết hai bên thực hiện việc xác thực, trao đổi thông tin và tạo các khoá phiên. Sau kết nối được thiết lập, dữ liệu được tính toán MAC, mã hoá trước khi truyền đi. Quá trình trao đổi thông tin được thực hiện bằng cách trao đổi các thông điệp.
Các bước và thông điệp trao đổi trong phiên khởi tạo được mô tả trong bảng 3-1.
Bảng 3-1: Các trong pha thiết lập liên kết và xác thực máy chủ tệp Bước Mô tả
1 Máy khách gửi thông điệp ClientHelloFTP để yêu cầu thiết lập liên kết. 2 Máy chủ tệp cung cấp thông tin xác thực bằng thông điệp ServerHelloFTP. 3 Máy chủ gửi tiếp thông điệp ServerHelloDoneFTP thông báo kết thúc việc
gửi thông điệp trong pha thương lượng.
4 Máy khách gửi thông điệp AuthenRequestFTP tới máy chủ xác thực để yêu cầu cung cấp thông tin xác thực máy chủ tệp.
5 Máy xác thực trả lời máy khách bằng thông điệp AuthenRespondFTP.
6 Máy khách gửi thông điệp ClientKeyExChangeFTP cung cấp thông tin tạo khoá. 7 Máy khách gửi thông điệp ChangeCipherSpecFTP kích hoạt dịch vụ bảo mật.