Phát biểu bài toán

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Công nghệ mạng riêng ảo SSL VPN và ứng dụng trong xây dựng hệ thống truyền tệp Luận văn ThS Công nghệ thông tin 1 01 10 (Trang 68 - 89)

Chương 3 Xây dựng hệ thống truyền tệp dựa trên hoạt động của giao thức SSL…67

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

SSLFTP Alert

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.

3.4.1 Khởi tạo phiên giao tiế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

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ị cuối ?

Hình 3.4 Sơ đồ quá trình xác thực máy chủ tệp Khác

nhau

Kết thúc So sánh

Đọc một giá trị băm từ danh sách

Giống nhau

Sai

Máy chủ tệp không được xác thực

Đúng

3.4.4 Tạo các tham số phiên

Việc tính toán tham số phiên được thực hiên ngay sau khi xác thực máy chủ tệp. Các tham số phiên sử dụng trong hệ thống gồm khoá bí mật dùng để mã hoá dữ liệu và khoá bí mật dùng để tính toán mã xác thực thông điệp. Quá trình tính toán tham số phiên được thực hiện theo hai bước:

Bước 1: tạo Master Secret.

Các giá trị ngẫu nhiên sinh bởi máy khách và máy chủ tệp, giá trị bí mật sinh bởi máy khách và các ký tự A, BB được dùng vào quá trình tạo Master Secret.

Master Secret là một chuỗi 32 byte được sinh ra bởi thuật toán băm MD5 theo sơ đồ trong hình 3.5. Quá trình đó được mình hoạ bằng đoạn giả mã dưới đây:

Master Secret = MD5(Giá trị bí mật + MD5(A`+ Giá trị bí mật + Số ngẫu nhiên máy khách + Số ngẫu nhiên máy chủ)) +

+ MD5(Giá trị bí mật + MD5(BB`+ Giá trị bí mật + Số ngẫu nhiên máy khách + Số ngẫu nhiên máy chủ))

`A`

Hash Hash Master Secret

Hình 3.5 Sơ đồ quá trình tạo Master Secret trong SSLFTP

MD5

MD5

MD5

MD5

Số ngẫu nhiên máy chủ tệp Số ngẫu nhiên

máy khách Giá trị bí

mật

`BB` Số ngẫu nhiên

máy chủ tệp Số ngẫu nhiên

máy khách Giá trị bí

mật

Giá trị bí mật

Giá trị bí mật

Bước 2: tạo khoá phiên

Master Secret tạo ra cùng với số ngẫu nhiên máy khách, số ngẫu nhiên máy chủ tệp và hàm băm MD5 được dùng để tạo khoá mã hoá dữ liệu và khoá tính toán mã xác thực thông điệp. Quá trình được mô tả trong hình 3.6

`A`

Hash Hash Khoá tính toán

mã xác thực

Hình 3.6 Sơ đồ quá trình tạo khoá phiên

MD5

MD5

MD5

MD5

Số ngẫu nhiên máy chủ tệp Số ngẫu nhiên

máy khách Giá trị bí mật

`BB` Số ngẫu nhiên

máy chủ tệp Số ngẫu nhiên

máy khách Giá trị bí mật

Master Secret

Master Secret

Khoá mã hoá dữ liệu

Khoá mã hoá và khoá tính toán mã xác thực là một chuỗi 16 byte và được băm 4 lần bằng hàm băm MD5 mô tả qua đoạn giả mã dưới đây

Master Secret = MD5(Master secret + MD5(A`+ Master secret + Số ngẫu nhiên máy khách + Số ngẫu nhiên máy chủ)) +

+ MD5(Master secret + MD5(BB`+ Master secret + Số ngẫu nhiên máy khách + Số ngẫu nhiên máy chủ))

3.4.5 Đóng gói và gửi các thông điệp

Quá trình đóng gói và gửi các thông điệp tại tầng bản ghi hoàn toán giống với quá trình này trong giao thức SSL. Sau khi phiên giao tiếp được thiết lập, giao thức SSLFTPRecord đóng gói dữ liệu, tính toán giá trị MAC, mã hoá dữ liệu rồi gửi nên đường truyền.

3.4.6 Các thuật toán sử dụng trong hệ thống.

Do SSLFTP là một giao thức được cải tiến từ giao thức SSL nên các thuật toán được sử dụng trong SSLFTP không hoàn toàn giống với các thuật toán sử dụng trong SSL. Trong khuôn khổ của luận văn tác giả không thể cài đặt hết được các thuật toán sử dụng trong giao thức SSLFTP, tuy nhiên đây là một giao thức được thiết kế mở, ta có thể dễ dàng bổ sung thêm các thuật toán mà không làm thay đổi đến hoạt động của giao thức.

SSLFTP được thiết kế với thuật toán mã hoá khoá công khai RSA dùng cho việc trao đổi khoá, thuật toán băm MD5 dùng cho quá trình tính toán MAC và tạo khoá phiên, thuật toán mã hoá khoá đối xứng AES ([18], [19]) dùng cho quá trình mã hoá và giải mã dữ liệu trao đổi trong hệ thống. Với việc sử dụng AES hiệu suất của hệ thống được nâng cao đáng kể, đồng thời đảm bảo được tính an toàn dữ liệu trên đường truyền. Thực nghiệm cho thấy tốc độ và độ mật của AES có thể cao hơn so với thuật toán mã hoá 3DES.

3.5 Thiết kế các thông điệp trao đổi dữ liệu

3.5.1 Khuôn dạng thông điệp của giao thức bản ghi SSLFTP

Khuôn dạng thông điệp trao đổi giữa hai bên gồm hai phấn chính, phần tiêu đề là phần nội dung được mô tả trong hình 3.7

Kiểu nội

dung Độ dài

Thông điệp của giao thức tầng trên Mã xác thực thông điệp

(tuỳ chọn)

Hình 3.7 Khuôn dạng thông điệp bản ghi SSLFTP

Mã hoá (tuỳ chọn)

Phần tiêu đề gồm hai trường, trường kiểu nội dung gồm 1 byte, giá trị của nó cho biết thông điệp của giao thức tầng trên được đóng gói bởi giao thức bản ghi SSLFTPRecord. SSLFTP hỗ trợ 4 kiểu thông điệp của giao thức tầng trên, các kiểu này được liệt kê trong bảng 3-2 dưới đây.

Bảng 3-2: Các kiểu nội dung tầng bản ghi Giá trị trường

kiểu nội dung Thông điệp của giao thức tầng trên

20 Thông điệp của giao thức ChangeCipherSpecFTP 21 Thông điệp của giao thức AlertFTP

22 Thông điệp của giao thức HandshakeFTP 23 Dữ liệu ứng dụng

Trường độ dài gồm 2 byte cho biết độ dài thông điệp của giao thức tầng trên, giá trị của trường này không quá 214.

Phần nội dung là thông điệp của giao thức tầng trên chuyển xuống, phần này có độ dài không cố định, nó có thể được mã hoá hoặc không. Độ lớn của phần nội dung không vượt quá 16KB.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Công nghệ mạng riêng ảo SSL VPN và ứng dụng trong xây dựng hệ thống truyền tệp Luận văn ThS Công nghệ thông tin 1 01 10 (Trang 68 - 89)

Tải bản đầy đủ (PDF)

(89 trang)