Bảo vệ các thông điệp

Một phần của tài liệu 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 (Trang 80)

Các thông điệp được bảo vệ thông qua mã hoá và tính toán mã xác thực. Một mã xác thực được bổ sung vào thông điệp trước khi truyền. Tại nơi nhận, dữ liệu được giải mã, loại b mã xác thực, tính toán mã xác thực mới và so sánh với mã xác thực dữ liệu được gửi kèm. Nếu hai giá trị này giống nhau, dữ liệu không bị thay đổi trên đường truyền. Ngược lại, dữ liệu bị thay đổi trên đường truyền.

3.6.1 Tính toán m xác thực thông điệp

Hệ thống sử dụng hàm băm MD5 vào việc tính toán mã xác thực thông điệp MAC, giá trị MAC tạo ra có độ dài 16 byte được bổ sung vào đoạn dữ liệu.

Quá trình tính toán MAC được thực hiện qua 2 giai đoạn:

Giai đoạn 1 khoá tính toán mã xác thực, số thứ tự các thông điệp và nội dung thông điệp được cho qua hàm băm MD5 để tạo bản tóm lược của dữ liệu vào.

Giai đoạn 2 khoá tính toán mã xác thực thông điệp cùng với giá trị băm của giai đoạn 1 được cho qua hàm băm MD5 lần nữa. Kết quả băm trong giai đoạn hai chính là giá trị MAC được bổ sung vào thông điệp để kiểm tra tính toàn vẹn dữ liệu. Các giai đoạn trên được thể hiện qua hình vẽ 3.17.

MAC

Hình 3.17 Sơ đồ tính toán MAC trong SSLFTP

MD5 MD5 Số thứ tự của thông điệp Nội dung thông điệp Khoá tính mã xác thực Giá trị băm Khoá tính mã xác thực

Số thứ tự của thông điệp là số thông điệp mà hai bên đã trao đổi, giá trị khởi đầu của nó là 0 với thông điệp ChangeCipherSpecFTP, giá trị này được tăng thêm 1 mỗi khi thông điệp của giao thức bản ghi SSLFTP được gửi.

Sau khi tính toán và bổ sung mã xác thực tệp dữ liệu, cả dữ liệu và mã xác thực được mã hoá thuật toán mã hoá khoá đối xứng AES với độ dài khoá là 128 bit. Chi tiết thuật toán mã hoá AES có thể xem phụ lục A cuối luận văn. Thông điệp sau khi được bổ sung MAC và mã hoá có dạng như hình 3.18.

Hình 3.18 Bảo vệ thông điệp với MAC

Dữ liệu ứng dụng Mã xác thực (16 byte) Được mã hoá Kiểu nội dung: 23 Độ dài

3.7 Thiết kế module chương trình

Chương trình được viết bằng ngôn ngữ lập trình Visual Basic, công cụ giao tiếp là điều khiển Winsock hoạt động dựa trên kết nối TCP. Trong khuôn khổ luận văn tác giả chỉ trình bày lưu đồ thuật toán hoạt động của các module chương trình trong hệ thống, phần mã nguồn có thể xem chi tiết trong chương trình. Toàn bộ hệ thống gồm các module sau:

3.7.1 Module chương trình trên máy chủ xác thực

Module chương trình trên máy chủ xác thực làm nhiệm vụ lắng nghe các kết nối từ máy khách và cung cấp thông tin xác thực cho máy khách. Sơ đồ quá trình hoạt động của module trên máy chủ xác thực được mô tả trong hình 3.19

Gửi thông điệp AlertFTP

Kiểu nội dung =22

Hình 3.19 Sơ đồ hoạt động của module chương trình trên

máy chủ xác thực

Nhận một thông điệp

Đúng Đúng

Kiểu thông

điệp =11 Gửi thông điệp

AuthenRespondFTP Sai

Khi có yêu cầu xác thực từ máy khách, máy chủ xác thực kiểm tra thông điệp do máy khách gửi. Nếu kiểu của nội dung là 22 (thông điệp của giao thức bắt tay) và kiểu thông điệp là 11 (thông điệp AuthenRequest) thì máy chủ xác thực tính toán các giá trị băm từ thông tin mà nó quản lý rồi đóng gói trong thông điệp AuthenRespond và gửi cho máy khách. Ngược lại, máy chủ xác thực gửi trả lại máy khách một thông báo lỗi nhận được một thông điệp mà nó không hiểu.

3.7.2 Module chương trình trên máy chủ tệp

Module chương trình trên máy chủ tệp thực hiện nhiệm vụ khởi tạo phiên giao tiếp với máy khách, thiết lập kết nối và trao đổi dữ liệu với máy khách. Hoạt động của module trên máy chủ tệp được mô tả trong hình vẽ 3.20

Kích hoạt dịch vụ mã hoá

Đóng kết nối

Gửi thông điệp AuthenRequestFTP

Kiểu nội dung =20 Kiểu nội dung =21 Kiểu nội dung =22 Kiểu nội dung =23 Kiểu thông điệp =1 Kiểu thông điệp =14

Gửi thông điệp ChangeCipherSpecFTP Gửi thông điệp ServerHelloDoneFTP

Gửi thông điệp FinishedFTP

Kiểu thông điệp =15

Gửi thông điệp AlertFTP

Nhận một thông điệp Đúng Đúng Đúng Sai Đúng Sai Kiểm tra tính toàn vẹn Sai Đúng Đúng Tính toán MAC Giải mã dữ liệu So sánh MAC Xử lý dữ liệu Đúng Sai Đúng Sai Sai Sai

Tạo khoá phiên

Hình 3.20 Sơ đồ hoạt động của module chương trình trên

máy chủ tệp Sai

Sai

Khi nhận được một thông điệp từ máy khách nó phân tích kiểu nội dung và kiểu thông điệp nhận được rồi có bước xử lý tiếp theo dựa trên sơ đồ hình 3.20.

3.7.3 Module trên máy khách

Module chương trình trên máy khách thực hiện việc phân tích các thông điệp nhận được từ máy chủ tệp và máy chủ xác thực. Dựa trên kết quả phân tích được từ đó có các hành động tiếp theo. Sơ đồ hoạt động được mô tả trong hình 3.21

Kích hoạt dịch vụ mã hoá

Đóng kết nối

Gửi thông điệp AuthenRequestFTP

Kiểu nội dung =20 Kiểu nội dung =21 Kiểu nội dung =22 Kiểu nội dung =23 Kiểu thông điệp =13 Kiểu thông điệp =12

Gửi thông điệp ChangeCipherSpecFTP

Xác thực máy chủ tệp Gửi thông điệp ClientKeyExchangeFTP

Tạo khoá phiên

Kiểu thông điệp =15

Gửi dữ liệu đã mã hoá Tính toán MAC

Mã hoá dữ liệu

Thành công ?

Gửi thông điệp AlertFTP

Gửi hết ? Kết thúc Nhận một thông điệp Đúng Đúng Đúng Sai Đúng Sai Sai Đúng Kiểm tra tính toàn vẹn Sai Đúng Đúng Tính toán MAC Giải mã dữ liệu So sánh MAC Xử lý dữ liệu Đúng Sai Đúng Sai Đúng Sai Sai Sai

Gửi thông điệp FinishedFTP

Đóng kết nối

Hình 3.21 Sơ đồ hoạt động của module chương trình trên máy khách

Sai Sai

3.8 Cài đặt thử nghiệm

Để hệ thống vận hành và đảm bảo hiệu quả cần ít nhất là 3 máy tính được nối Internet, cấu hình mỗi máy tính như sau: bộ vi xử lý Pentium IV 3.0 GHz, 512 MB Ram, ổ cứng 30 GHz…Do điều kiện hạn chế nên trong khuôn khổ luận văn tác giả mới chỉ cài đặt thử nghiệm hệ thống trên 3 máy tính được kết nối mạng LAN với các máy được cài đặt hệ điều hành Windows XP.

3.8.1 Cài đặt trên máy chủ xác thực

Sau khi cài đặt giao diện module chương trình trên máy chủ xác thực có dạng như hình 3.22. Nút lệnh trên Form thực hiện hành động lắng nghe hoặc ngừng lắng nghe các kết nối từ máy khách. Hộp text box có giá trị 8866 là số hiệu cổng mà máy chủ xác thực đang nghe. Phía dưới là bảng trạng thái, mỗi hàng tương ứng với trạng thái của một máy khách kết nối bao gồm số định danh một kết nối (ID), trạng thái kết nối (Connected hoặc Listening) và địa chỉ IP của máy khách kết. Địa chỉ IP của máy khách được thử nghiệm là 192.168.0.20, của máy chủ xác thực là 192.168.0.10 và của máy chủ tệp là 192.168.0.5

Hình 3.22 Giao diện chương trình trên máy chủ xác thực

3.8.2 Cài đặt trên máy chủ tệp

Giao diện module chương trình trên máy chủ tệp có dạng như hình 3.23. Hộp textbox có giá trị 8866 cho biết số hiệu cổng mà máy chủ tệp đang lắng nghe. Nút lệnh thực hiện việc lắng nghe hoặc kết thúc việc lắng nghe các kết nối từ má khách. Phía dưới là bảng trạng thái kết nối và hộp danh sách các tệp đã được gửi. Trường ID là số hiệu máy khách kết nối, Remote là địa chỉ IP của máy khách đang kết nối, File Name là tên tệp mà máy khách đang gửi, Progress là phần trăm kích thước tệp đã gửi.

3.8.3. Cài đặt trên máy khách

Giao diện trên máy khách có dạng như hình 3.24. Các thuộc tính kết nối là tên máy chủ và cổng mà máy khách muốn kết nối. Nút lệnh Connect thực hiện việc kết nối tới máy chủ tệp. Khi máy khách kết nối tới máy chủ tệp, việc xác thực máy chủ tệp được diễn ra ngay trong khi thiết lập kết nối. Nút lệnh Disconnect huỷ b kết nối đang tồn tại. Phần dưới là khung cửa sổ cho phép chọn một tệp trên đĩa cứng để gửi, mục File Name là tên file sẽ gửi, nút lệnh Send File thực hiện việc gửi một file. Phía dưới là thanh trạng thái cho biết số byte đã gửi, tốc độ truyền và thời gian thực hiện.

Hình 3.24. Giao diện chương trình trên máy khách

Trên đây là một số kết quả khi thực hiện hệ thống. Hệ thống chạy ổn định và đáp ứng các yêu cầu cơ bản là mô ph ng được hoạt động của một hệ thống truyền tệp theo giao thức SSL, mức độ bảo mật của hệ thống là khá tốt. Tuy nhiên, do thời gian hạn chế nên việc tối ưu hoá hệ thống chưa được đề cập đến nhiều, tốc độ của hệ thống hệ thống còn chưa được cao….

KẾT LUẬN

Thực tiễn đã cho thấy các ứng dụng mạng ngày càng được phát triển, đặc biệt là các ứng dụng trong lĩnh vực thương mại, ngân hàng, tài chính, hàng không, an ninh, quốc phòng,... Việc phát triển loại ứng dụng này ngoài việc đảm bảo chất lượng dịch vụ còn phải đảm bảo tính mật của thông tin trên môi trường truyền thông. SSL VPN là một giải pháp hiệu quả cho vấn đề này và đang được quan tâm phát triển bởi các nhà phát triển ứng dụng ngày nay. Luận văn: “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” được thực hiện với mục đích nghiên cứu và đưa ra một phương pháp cho vấn đề an ninh mạng nói chung và hệ thống truyền tệp nói riêng và đã đạt được một số kết quả sau:

 Nắm được các khái niệm sử dụng trong mạng riêng ảo, các yêu cầu kỹ thuật và các mô hình mạng khi xây dựng mạng VPN.

 Nắm được cấu trúc, nguyên tắc hoạt động của giao thức SSL trong xây dựng các mạng riêng ảo.

 Đề xuất, thiết kế và cài đặt thử nghiệm một ứng dụng truyền tệp hoạt động dựa trên giao thức SSLFTP.

 Thử nghiệm mô hình và đưa ra kết quả.

Hướng nghiên cứu tiếp theo:

 Tiếp tục hoàn thiện hệ thống truyền tệp đã xây dựng để có thể triển khai sử dụng trong các hoạt động của Ngành công an.

 Cải tiến các thuật toán mã hoá sử dụng trong hệ thống nhằm nâng cao hiệu quả, tính bảo mật của hệ thống và tối ưu hoá các mô đun chương trình nhằm tương thích với các hệ thống thông tin khác.

 Cải tiến thuật toán sinh số ngẫu nhiên nhằm nâng cao tính bảo mật cho việc tạo khoá, hiệu năng của hệ thống và độ an toàn của hệ thống.

 Nghiên cứu tối ưu hoá hệ thống mã hoá được sử dụng trong hệ thống.

Ngày nay, lĩnh vực an ninh an toàn dữ liệu ngày càng được nhiều nhà khoa học quan tâm vì những kết quả mà nó đạt được. Những thành tựu do lĩnh vực này mang lại cho thấy vị trí quan trọng của nó trong nhiều lĩnh vực phát triển của Công nghệ Thông tin nói riêng cũng như nền kinh tế xã hội nói chung. Trong phạm vi giới hạn của đề tài và năng lực hạn chế của tác giả nên kết quả của luận văn còn khiêm tốn, để ng nhiều khả năng nghiên cứu nhằm phát triển và hoàn thiện để có thể đạt kết quả cao hơn. Tác giả rất mong được sự góp ý chỉ bảo của các thầy cô giáo và các đồng nghiệp!

TÀI LIỆU THAM KHẢO

Tiếng Việt

1. Trần Công Hùng (2002), Kỹ thuật mạng riêngảo, NXB Bưu Điện.

2. Thái Hồng Nhị, Phạm Minh Việt (2004), An toàn thông tin, NXB Khoa học kỹ thuật.

Tiếng Anh

3. Richard Deal (2005), The Complete Cisco VPN Configuration Guide, Cisco Press. 4. James Henry Carmouche, Ipsec Virtual Private Network Fundamentals, Cisco Press. 5. Ebook – Cisco Access VPN Solutions Using Tunneling Technologies, Cisco Press. 6. Stephen A.Thomas, SSL and TLS Essentials, Wiley.

7. Meeta Gupta (2003), Building a Virtual Private Network, Premier Press. 8. By Gert De Laet, Gert Schauwers (2004), Network Security Fundamentals, Cisco Press. 9. Franck Martin (2002), SSL Certificates Howto.

10. Chartlei Hosner (2004), OpenVPN and the SSL Revolution

11. Cisco systems(2002), Introduction to Secure Socket Layer, White Page

12. Kipp E. B. Hickman. The SSL Protocol, Veraion 2.0. Netscape Communications, 1995, http://wp.netscape.com/eng/security/SSL2.html (2003)

13. A. O. Freier P. Karlton and P. C. Kocher. The SSL Protocol, Version 3.0. Netscape Communications, 1996, http://wp.netscape/eng/ssl3/draft302.txt (2003)

14. T. Dierks and C. Allen. RFC2246, The TLS Protocol, Version 1.0. Network Working Group, 1999, ftp://ftp.rfc-editor.org/in-notes/rfc2246.txt (2003).

15. Eric Rescorla. SSL and TLS, Designing and Building Secure Systems. Addison Wesley, 2001, 3rd printing.

16. H. Krawczyk M. Bellare and R. Canetti. HMAC: Keyed-Hashing for Message

Authentication,RFC 2104. Network Working Group, 1997, ftp://ftp.rfc-

editor.org/innotes/rfc2104.txt (2003).

17. V. Rijmen: The block cipher Rijndael. http://www.esat.kuleuven.ac.be/ ~rijmen/rijndael/, (2001).

18. National Institute of Standards and Technology: Specification for the Advanced Encryption Standard (AES). http://csrc.nist.gov/publications/fips/fips197/fips- 197.pdf, (2001).

19. Virtual Private Networking: An Overview, (2001).

http://www.microsoft.com/technet/prodtechnol/windows2000serv/plan/vpnoverv iew.mspx

20. Virtual Private Network. http://www.d-link.co.za/pdf/7.%20D-Link%20 Virtual %20Private%20Network%20Self%20Study.pdf

21. Christopher McDonaldVirtual: Private Networks An overview.

http://www.intranetjournal.com/foundation/vpn-1.shtml 22. The VPN Overview. http://searchnetworking.techtarget.com/searchNetworking/downloads/Buildvpn1.pdf 23. VPN Overview. http://www.juniper.net/techpubs/software/junos/junos72/swconfig72-vpns /download/vpn-overview.pdf.

24. Yinglam Cheung, 2003. Multi-Protocol Label Switching (MPLS).

http://www.slb.com/media/services/consulting/infrastructure/mpls_whitepaper.pdf 25. R. Rivest. The MD-5 Message-Digest Algorithm, RFC 1321. John Wiley and Sons,

1996, ftp://ftp.rfc-editor.org/in-notes/rfc1321.txt (2003).

26. Michael Hayoz, Introducing SSL The Secure Sockets Layer Protocol. http://diuf.unifr.ch/ds/michael.hayoz/docs/hayozm_ssl.pdf.

Một phần của tài liệu 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 (Trang 80)

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

(89 trang)