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. 8 Máy khách gửi thông điệp FinishedFTP kết thúc phiên bắt tay.
9 Máy chủ tệp gửi thông điệp ChangeCipherSpecFTP kích hoạt dịch vụ bảo mật. 10 Máy chủ tệp gửi thông điệp FinishedFTP kết thúc phiên bắt tay.
Hình vẽ 3.3 là sơ đồ quá trình khởi tạo phiên giao tiếp
`
Máy chủ xác thực
Máy chủ tệp Máy khách
Hình 3.3 Sơ đồ khởi tạo phiên giao tiếp và xác thực máy chủ tệp ClientHelloFTP ServerHelloFTP ClientKeyExchangeFTP ChangeCipherSpecFTP FinishedFTP ServerHelloDoneFTP ChangeCipherSpecFTP FinishedFTP 1 2 3 4 9 10 7 8 5 AuthenRequestFTP AuthenRespondFTP 6
3.4.2 Các thông điệp trao đổi trong pha thiết lập liên kết (1). Thông điệp ClientHelloFTP (1). Thông điệp ClientHelloFTP
Thông điệp ClientHelloFTP được máy khách gửi cho máy chủ tệp để bắt đầu một phiên giao tiếp. Nội dung của thông điệp gồm một số ngẫu nhiên 32 byte được sinh bởi bộ sinh số ngẫu nhiên của máy khách và dùng cho việc tạo khoá phiên, 4 byte đầu là giá trị ngày giờ hiện tại nhằm mục đích bảo vệ sự tấn công trở lại.
(2). Thông điệp ServerHelloFTP
Thông điệp ServerHelloFTP được máy chủ tệp gửi cho máy khách nhằm cung cấp dữ liệu cho quá trình tạo khoá trên máy khách. Nội dung thông điệp giống với thông điệp ClientHelloFTP, chỉ khác là số số ngẫu nhiên được sinh bởi bộ sinh số ngẫu trên trên máy chủ tệp.
(3). Thông điệp AuthenRequestFTP
Thông điệp AuthenRequestFTP được máy khách gửi cho máy chủ xác thực để yêu cầu cung cấp thông tin xác thực. Nội dung thông điệp này rỗng.
(4). Thông điệp AuthenRespondFTP
Thông điệp AuthenRespondFTP được máy chủ xác thực gửi cho máy khách nhằm cung cấp thông tin cho máy khách xác thực máy chủ tệp. Nội dung thông điệp này gồm một danh sách các giá trị băm MD5 với đầu vào là tên máy và khoá công khai của máy chủ tệp mà máy chủ xác thực quản lý.
(5). Thông điệp ServerHelloDoneFTP
Thông điệp ServerHelloDoneFTP được máy chủ tệp gửi cho máy khách để thông báo cho máy khách biết rằng máy chủ đã gửi thông điệp cuối cùng trong pha thương lượng. Thông điệp này không chứa thông tin, nhưng nó rất quan trọng với máy khách, bởi vì khi máy khách nhận thông điệp này nó có thể chuyển sang pha thiết lập kết nối.
(6). Thông điệp ClientKeyExchangeFTP
Thông điệp này được máy khách gửi cho máy chủ tệp nhằm mục đích cung cấp thêm thông tin cho quá trình tạo khoá và đảm bảo rằng máy khách đang trao đổi thông tin với máy khủ tệp. Nội dung của thông điệp này là một giá trị ngẫu nhiên bí mật được sinh bởi máy khách và được mã hoá bằng khoá công khai của máy chủ tệp. Chỉ có khoá riêng của máy chủ tệp mới có thể giải mã được nội dung thông điệp này.
(7). Thông điệp ChangeCipherSpecFTP
Thông điệp này được cả máy khách và máy chủ tệp gửi để thông báo cho nhau biết các thông điệp tiếp theo gửi sẽ được bổ sung mã xác thực và mã hoá. Sau khi nhận được thông điệp này mỗi bên sẽ kích hoạt các dịch vụ bảo mật đã thương lượng và quá trình trao đổi dữ liệu sẽ áp dụng các dịch vụ bảo mật này.
(8). Thông điệp FinishedFTP
Sau khi gửi thông điệp ChangeCipherSpec, cả máy chủ tệp và máy khách gửi tiếp thông điệp FinishedFTP. Mục đích của thông điệp này là để hai bên kiểm tra xem các thông điệp đã gửi trong pha thương lượng có bị can thiệp trên đường truyền hay không. Nội dung của thông điệp chứa giá trị băm của tất cả các thông điệp mà hai bên đã gửi cho nhau và được mã hoá, xác thực.
3.4.3 Xác thực máy chủ tệp
Xác thực trong giao thức SSLFTP là một cải tiến so với giao thức SSL. Tài liệu dùng để xác thực gồm có khoá công khai và tên máy chủ tệp. Tuy có khác so với chứng chỉ số được sử dụng trong giao thức SSL nhưng vẫn đảm bảo được độ an toàn trong hệ thống. Quá trình xác thực được mô tả như sau: khi nhận thông điệp AuthenRespondFTP quá trình xác thực máy chủ tệp được thực hiện. Máy khách dùng hàm băm MD5 để băm tên máy và khoá công khai có trong thông điệp ServerHelloFTP do máy chủ tệp gửi. Giá trị băm này được so sánh với các giá trị băm trong danh sách giá trị băm do máy chủ xác thực gửi trong thông điệp AuthenRespondFTP. Nếu giá trị băm này nằm trong danh sách thì máy chủ tệp được xác thực, ngược lại máy chủ tệp không được xác thực. Sơ đồ thuật toán xác thực được mô tả trong hình vẽ 3.4.
Máy chủ tệp được xác thực
Giá trị