Tài liệu (Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử

  • Số trang: 93 |
  • Loại file: PDF |
  • Lượt xem: 46 |
  • Lượt tải: 0
huynguyen816485

Tham gia: 12/10/2017

Mô tả:

(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử(Luận văn thạc sĩ) Bảo mật trong Mobile Agent và ứng dụng trong các giao dịch điện tử
1 ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN THỊ HẢI AN BẢO MẬT TRONG MOBILE AGENT VÀ ỨNG DỤNG TRONG CÁC GIAO DỊCH ĐIỆN TỬ LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH THÁI NGUYÊN – 2014 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 2 ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN THỊ HẢI AN BẢO MẬT TRONG MOBILE AGENT VÀ ỨNG DỤNG TRONG CÁC GIAO DỊCH ĐIỆN TỬ Chuyên ngành : KHOA HỌC MÁY TÍNH Mã số : 60 48 01 LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC : TS. PHẠM THẾ QUẾ THÁI NGUYÊN – 2014 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 3 LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác. Tác giả luận văn Nguyễn Thị Hải An Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 4 MỤC LỤC LỜI CAM ĐOAN ..................................................................................................................................... Er ror! Bookmark not defined. MỤC LỤC ................................................................................................................... 4 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ............................................. 7 DANH MỤC CÁC HÌNH ........................................................................................... 8 MỞ ĐẦU ..................................................................................................................... 9 CHƢƠNG 1 : TỔNG QUAN VỀ MOBILE AGENT ................................................ 10 1.1 KHÁI NIỆM VỀ MOBILE AGENT................................................................... 10 1.1.1 Giới thiệu chung ................................................................................................ 10 1.1.2 Mobile Agent là gì ........................................................................................... 10 1.1.3 Phát triển từ các mô hình ứng dụng phân tán ................................................... 11 1.1.4 Mục đích thiết kế mô hình Mobile Agent ........................................................ 14 1.2 CÁC ĐẶC TRƢNG KỸ THUẬT CỦA MOBILE AGENT............................. 16 1.2.1 Kiến trúc hệ thống Mobile Agent ...................................................................... 16 1.2.2 Các đặc tính của Mobile Agent ......................................................................... 18 1.2.3 Các thành phần của một Mobile Agent ............................................................. 19 1.2.4 Các nền tàng một Mobile Agent........................................................................ 21 1.3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MOBILE AGENT ..................................... 22 1.3.1 Kỹ thuật pull code ............................................................................................. 22 1.3.2 Kỹ thuật push code ............................................................................................ 22 1.4 MOBILE AGENT TRONG THIẾT KẾ ỨNG DỤNG PHÂN TÁN ................. 24 1.4.1 Vòng đời của một Mobile Agent ....................................................................... 24 1.4.2 Tạo Agent .......................................................................................................... 25 1.4.3 Huỷ Agent.......................................................................................................... 26 1.4.4 Di chuyển Agent ................................................................................................ 26 1.4.5 Liên lạc .............................................................................................................. 29 1.5 CÔNG CỤ PHÁT TRIỂN MOBILE AGENT .................................................... 30 1.5.1 Java – ngôn ngữ hiệu quả dùng để phát triển tác tử .......................................... 30 1.5.2 Công cụ phát triển Aglets Workbench. ............................................................. 31 1.6 LỢI ÍCH MOBILE AGENT ............................................................................... 32 1.6.1 Giảm lƣu lƣợng tải trên mạng ........................................................................... 33 1.6.2 Khắc phục độ trễ mạng ...................................................................................... 33 1.6.3 Đóng gói các giao thức ...................................................................................... 33 1.6.4 Thi hành một cách không đồng bộ và tự trị....................................................... 33 1.6.5 Thích ứng nhanh ............................................................................................... 34 1.6.6 Khắc phục tình trạng không đồng nhất ............................................................ 34 1.6.7 Mạnh mẽ và có khả năng tự sửa lỗi ................................................................... 34 1.7 MỘT SỐ ỨNG DỤNG MOBILE AGENT ........................................................ 34 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 5 1.7.1 Thu thập thông tin phân tán .............................................................................. 34 1.7.2 Tìm kiếm và lọc dữ liệu .................................................................................... 35 1.7.3 Kiểm tra dữ liệu ( Monitoring) ......................................................................... 35 1.7.4 Đàm phán .......................................................................................................... 35 1.7.5 Đặt hàng ............................................................................................................ 36 1.7.6 Giải trí ............................................................................................................... 36 1.7.7 Thƣơng mại điện tử ........................................................................................... 36 1.7.8 Hỗ trợ các thiết bị di động ................................................................................ 36 Kết luận chƣơng: ......................................................................................................... 37 CHƢƠNG 2: NHỮNG VẤN ĐỀ BẢO MẬT TRONG MOBILE AGENT .............. 38 2.1 Đặt vấn đề ............................................................................................................. 38 2.2 Các phƣơng thức tấn công trong mobile agent..................................................... 38 2.2.1 Các dạng tấn công tiêu cực ................................................................................ 38 2.2.2 Các dạng tấn công tích cực ................................................................................. 39 2.3 Những trƣờng hợp có thể gây lỗi. ......................................................................... 42 2.3.1 Sự bảo vệ agent................................................................................................... 42 2.3.2 Sự bảo vệ máy phục vụ ...................................................................................... 42 2.3.3 Sự bảo vệ hệ thống mạng ................................................................................... 43 2.4 Các dịch vụ an toàn ............................................................................................... 43 2.4.1 Xác nhận ............................................................................................................ 43 2.4.2 Tính toàn vẹn ...................................................................................................... 43 2.4.3 Bảo mật ............................................................................................................... 44 2.4.4 Cấp phép ............................................................................................................. 44 2.4.5 Không chối bỏ .................................................................................................... 44 2.4.6 Kiểm toán ........................................................................................................... 44 2.5 Các vấn đề liên quan đến sự bảo vệ agent ............................................................. 44 2.5.1 Sự thi hành agent ................................................................................................ 45 2.5.2 Các thông tin agent cần bảo mật đối với server ................................................. 45 2.5.3 Các thông tin của agent cần đƣợc bảo mật với các agent khác .......................... 45 2.6 Các vấn đề liên quan đến sự bảo vệ máy chủ ........................................................ 46 2.6.1 Agent giả dạng nhƣ là một ngƣời dùng đƣợc tin tƣởng ..................................... 46 2.6.2 Agent bị can thiệp, xâm phạm ............................................................................ 46 2.6.3 Agent vƣợt quá quyền hạn của nó và làm hại đến server ................................... 47 2.7 Mô hình an toàn của Aglet. ................................................................................... 47 2.7.1 Các chủ sở hữu ................................................................................................... 47 2.7.2 Sự cấp phép ........................................................................................................ 49 2.7.3 Các biện pháp bảo vệ .......................................................................................... 50 2.7.4 Chính sách an toàn và thi hành ........................................................................... 50 2.8 Các giải pháp an toàn trong Internet Banking ........................................................... 52 2.8.1 Xây dựng hệ thống xác thực mạnh ........................................................................ 52 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 6 2.8.2 Cơ bản về tƣờng lửa.............................................................................................. 55 2.8.3 Xây dựng hệ thống phòng chống xâm nhập ........................................................... 60 2.8.4 Xây dựng lửa ứng dụng web (Web Application Firewall WAF)............................. 64 2.8.5 Triển khai hệ thống phòng chống mã độc .............................................................. 66 2.8.6 Triển khai chữ ký số và chứng thực số................................................................... 70 2.8.7 Mã hóa thông tin ................................................................................................... 71 2.8.8 Triển khai các phƣơng pháp bảo vệ dữ liệu ở ngƣời dùng cuối ............................... 73 2.8.9 Triển khai mạng riêng ảo VPN .............................................................................. 75 Kết luận chƣơng .......................................................................................................... 76 CHƢƠNG 3 : THƢƠNG MẠI ĐIỆN TỬ VÀ ỨNG DỤNG MOBILE AGENT TRONG THANH TOÁN ĐIỆN TỬ ........................................................................... 78 3.1 Thanh toán điện tử và các mô hình thanh toán điện tử ......................................... 78 3.1.1 Giới thiệu về thanh toán và các vấn đề đặt ra đối với thanh toán điện tử .......... 78 3.1.2. Các hệ thống thanh toán trực tuyến .................................................................. 78 3.2. Mobile agent trong thƣơng mại điện tử ............................................................... 79 3.2.1. Bảo mật trong giao dịch mua bán trực tuyến ................................................... 79 3.2.2 Bảo mật trong giao dịch đấu giá trực tuyến ...................................................... 83 3.3 Bảo mật trong giao dịch thanh toán qua mạng ..................................................... 85 3.3.1. Một mô hình thanh toán điện tử dựa trên Agent - The Secure Agent Fabrication, Evolution & Roaming (SAFER) ............................................................. 86 3.3.2. Hệ thống thanh toán hóa đơn nhà hàng dựa trên Mobile Agent ...................... 86 3.3.3 Giao thức thanh toán sử dụng Mobile Agent .................................................... 86 3.4. Sử dụng Aglet cài đặt ví dụ thanh toán điện tử ................................................... 87 Kết luận chƣơng .......................................................................................................... 89 KẾT LUẬN ................................................................................................................. 91 TÀI LIỆU THAM KHẢO ........................................................................................... 93 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 7 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT STT Chữ viết tắt Tiếng Anh 1 ACL Agent Communication Language 2 ASDK Aglets Software Development Kit 3 ATP Agent Transfer Protocol 4 CORBA Common Object Request Broker Architecture 5 DES Data Encryption Standard 6 KQML Knownledge Query and Manipulation Language 7 MA Mobile Agent 8 MAE Mobile Agent Environment 9 REV Remote Evaluation 10 RMI Remote Method Invocation 11 RPC Remote Procedure Call 12 SA Service Agent 13 SSL Secure Socket Layer 14 TTP Trusted Third Party 15 US User Agent Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 8 DANH MỤC CÁC HÌNH Số hiệu Tên hình vẽ hình vẽ Hình 1.1. Sự khác phát triển các phƣơng thức truy nhập từ xa Hình 1.2. So sánh Client/Server với Mobile Agent Hình 1.3. So sánh Jini với Mobile Agent Hình 1.4. Sự khác biệt của Mobile Agents so với RPC, REV,COD Hình 1.5. Tổng quát kiến trúc Mobile Agent Hình 1.6. Các thành phần của một hệ thống Mobile Agent Hình 1.7. Place và Bộ vi xử lý Hình 1.8. Vòng đời của một Mobile Agent Hình 1.9. Di chuyển Agent trên mạng Hình 1.10. Di chuyển lớp của Agent Hình 1.11. Thông báo kiểu Now Hình 1.12. Thông báo kiểu Future Hình 1.13. Thông báo kiểu one - way Hình 1.14. Mô hình vòng đời và hoạt động Hình 2.1. Dạng nghe trộm Hình 2.2. Dạng giả mạo Hình 2.3. Dạng Trojan Hình 2.4. Dạng sửa đổi Hình 2.5. Dạng làm lại Hình 3.1. Mô hình thƣơng mại điện tử sử dụng mobile agent Hình 3.2. Sơ đồ hoạt động của hệ thống Hình 3.3. Tổng quan về hệ thống đấu giá Hình 3.4. Các dịch vụ bảo mật nền tảng Hình 3.5. Lớp bảo mật mobile agent Hình 3.6 a. Giao diện : Chức năng Đặt vé Hình 3.6 b Giao diện : Chức năng chọn Điểm đi – Điểm đến Hình 3.7 a. Giao diện : Chức năng Thanh toán Hình 3.7 b Giao diện : Nhập mã bảo mật cho giao dịch thanh toán Hình 3.8. Giao diện : Thông báo Giao dịch thanh toán thành công Số hóa bởi Trung tâm Học liệu Trang http://www.lrc-tnu.edu.vn/ 11 12 13 15 17 19 21 25 28 29 30 30 30 33 41 42 42 43 43 59 61 62 63 64 67 67 68 68 69 9 MỞ ĐẦU Sự phát triển nhanh chóng của các kỹ thuật tiên tiến về máy tính, đặc biệt là các giải pháp mạng, cùng với sự bùng nổ mạnh mẽ các dịch vụ và nguồn thông tin trên mạng đã làm gia tăng số ngƣời sử dụng Internet đến con số hàng trăm triệu ngƣời. Dựa vào nền tảng đó, lĩnh vực thƣơng mại điện tử đã phát triển nhanh chóng để phục vụ tốt hơn cho ngƣời mua và ngƣời bán trong giao dịch hàng hóa. Tuy nhiên, các giao dịch này cần đƣợc bảo mật để đảm bảo lợi ích cho ngƣời bán hàng và ngƣời mua hàng. Việc bảo mật này nhằm ngăn chặn bên thứ 3 tác động vào giao dịch và đảm bảo giao dịch đƣợc hoàn thành một cách chính xác. Từ đó tránh đƣợc thiệt hại về kinh tế cho họ. Để hiểu thêm về vấn đề này, em chọn đề tài “Bảo mật trong mobile agent và ứng dụng trong các giao dịch điện tử_ Mobile agent security and electronic transactions applications” nhằm nắm đƣợc những khái niệm cơ bản về mobile agent đồng thời đề cập đến vấn đề bảo mật trong mobile agent và đi vào chi tiết ứng dụng của bảo mật mobile agent trong các giao dịch điện tử. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 10 CHƢƠNG 1 : TỔNG QUAN VỀ MOBILE AGENT 1.1 KHÁI NIỆM VỀ MOBILE AGENT 1.1.1 Giới thiệu chung Với sự phát triển của Internet, đứng trƣớc sự bùng nổ về thông tin, ngƣời dùng có thể tiếp cận và khai thác nguồn thông tin khổng lồ, phong phú, đa dạng và phân tán khắp nơi trên mạng. Tuy nhiên, để có thể khai thác một cách có hiệu quả nguồn tài nguyên này, ngƣời dùng cần phải biết thông tin mình cần nằm ở đâu và làm thế nào để tìm ra nó. Do đó các phần mềm hỗ trợ ngƣời dùng ngày nay phải có khả năng hoạt động độc lập không cần sự can thiệp thƣờng xuyên của con ngƣời và duy trì hoạt động liên tục cho đến khi đạt đƣợc kết quả. Các ứng dụng phải có khả năng xử lý phân tán: Các ứng dụng ngày nay cần phải có khả năng trao đổi, liên lạc với các thành phần xử lý khác đƣợc phân bố trên nhiều máy có cấu hình khác nhau trong mạng để có thể tận dụng đƣợc toàn bộ tài nguyên của hệ thông. Ví dụ, một chƣơng trình xử lý văn bản có thể sử dụng một thành phần xử lý trên máy A để phục vụ cho chức năng soạn thảo, trong khi lại sử dụng một thành phần xử lý khác trên máy B cho chức năng kiểm lỗi chính tả. Môi trường làm việc không đồng nhất : Internet kết nối hàng triệu triệu máy tính lại với nhau, mỗi máy tính có các cấu hình khác nhau về phần cứng cũng nhƣ hệ điều hành và các phần mềm ứng dụng. Do đó thật không đơn giản khi một chƣơng trình có thể chạy trên một máy bất kỳ trên mạng. Sự đa dạng của các kết nối mạng : Các mạng cục bộ kết nối băng thông rộng, nhanh và tin cậy. Trong khi các máy di động có các kết nối chậm hơn , không thƣờng xuyên, thiếu tin cậy. Một ứng dụng có thể làm việc đƣợc trên các kết nối mạng nhƣ vậy phải chiếm ít đƣờng truyền mạng và có khả năng làm việc không đồng bộ (offline). Vấn đề an toàn: Thông tin lƣu truyền trên mạng rất dễ bị đánh cắp, cũng nhƣ bị sửa đổi, giả mạo, ... Do đó cần phải các cơ chế an toàn để có thể tăng tính tin cậy của các ứng dụng trên mạng. 1.1.2 Mobile Agent là gì Mobile Agent là mô hình tiến hóa tiên tiến nhất so với các mô hình trƣớc đó. Mobile Agent là danh từ ghép giữa Agent (tác tử) và Mobile (di động). Một Mobile Agent là một phần mềm, bao gồm mã chƣơng trình, dữ liệu và trạng thái hoạt động có Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 11 khả năng di chuyển một cách tự trị từ nút mạng này sang nút mạng khác và thực hiện các xử lý thay thế cho con ngƣời để đạt đƣợc mục tiêu đƣợc giao. Khi di chuyển, Mobile Agent đóng gói mã nguồn, dữ liệu và cả trạng thái thi hành, nhờ vậy Mobile Agent có thể dừng việc thi hành đang thực hiện tại máy này, di chuyển sang máy khác và khôi phục lại sự thi hành tại máy đích. Mobile Agent chính là một dạng của mã di động (mã di động là những chƣơng trình chuyển mã đến Client và thực thi ở đó). 1.1.3 Phát triển từ các mô hình ứng dụng phân tán Mobile Agent SoftwareAgent có thể đƣợc xem nhƣ là sản phẩm kết hợp của kỹ thuật và kỹ thuật xử lý phân tán. Mobile Agent khác với mô hình xử lý mạng truyền thống. Theo truyền thống, một ứng dụng phân tán có cấu trúc xây dựng trên mô hình Client/Server sẽ thực hiện việc giao tiếp thông qua cơ chế truyền thông điệp hoặc các lời gọi hàm từ xa RPCs (Remote Procedure Call), RMI (Remote Method Invocation) và CORBA (Common Object Request Broker Architecture). Trong các mô hình này, các thành phần chức năng của ứng dụng đƣợc phân chia trong số các thành viên tham gia. Các thành viên khác sử dụng cơ chế truyền thông điệp để phối hợp các thao tác tính toán phân tán. Các mô hình giao tiếp này thƣờng phải đồng bộ, nghĩa là phía Client tạm ngƣng hoạt động trong thời gian gửi yêu cầu đến Server và đợi đến khi nhận đƣợc kết quả trả về từ Server. Một kiến trúc khác tiến bộ hơn là Remote Evaluation(REV) do Stamos và Gifford đƣa ra vào năm 1990. Thay vì yêu cầu thực hiện các hàm từ xa thì Client chỉ việc gửi mã nguồn các hàm của nó đến Server và yêu cầu Server thực hiện rồi trả về kết quả. Một số hệ thống gần đây cũng đã giới thiệu khái niệm thông điệp chủ động (Active Messages) có thể di trú giữa các vị trí trên mạng, mang theo mã của chƣơng trình để thực thi tại những vị trí này. COD_ Code on demand là một cách tiếp cận đảo ngƣợc của phƣơng pháp REV. Các mã nguồn và dữ liệu đƣợc lƣu trữ tại máy tính A và thực hiện đƣợc thực hiện tại máy tính B. Máy tính A nạp mã và dữ liệu từ máy tính B và sau đó thực thi mã với dữ liệu địa phƣơng nhƣ cũng nhƣ các dữ liệu nhập từ B. Một ví dụ của COD là Java applet , đó là mã Java web trình duyệt tải về từ máy chủ HTTP từ xa để thực hiện địa phƣơng. Ngoài những ƣu điểm nổi bật, các mô hình này vẫn còn một số hạn chế nhƣ: thiếu mềm dẻo khi cần tùy biến các dịch vụ, đòi hỏi cao về kết nối mạng và băng thông, không hỗ trợ các thao tác không đồng bộ, ... Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 12 Mobile Agent s là mô hình tiến hóa tiên tiến nhất so với các mô hình trƣớc đó. Mobile Agent là danh từ ghép giữa Agent (trợ lý) và Mobile (di động). Một Mobile Agent là một chƣơng trình có khả năng di chuyển một cách tự trị từ node mạng này sang node mạng khác và thực hiện các xử lý thay thế cho con ngƣời để đạt đƣợc mục tiêu đƣợc giao phó. Khi di chuyển, các Mobile Agent đóng gói mã nguồn, dữ liệu và cả trạng thái thi hành, nhờ vậy Mobile Agent có thể dừng việc thi hành đang thực hiện tại máy này, di chuyển sang máy khác và khôi phục lại sự thi hành tại máy đích. Mobile Agent đƣa ra khái niệm mã thi hành di chuyển đƣợc, nghĩa là một chƣơng trình có thể tự dừng tiến trình đang thực hiện tại máy này, tự mình di chuyển đến một máy khác để tiếp tục thực hiện tiến trình tại đó. Bằng cách này một chƣơng trình có thể hoàn thành tác vụ của mình sau khi lƣu hành qua tất cả các máy trong mạng theo một lộ trình đã định trƣớc. Tại mỗi máy nó ghé đến, nó sẽ sử dụng các tài nguyên của máy đó để hoàn thành một phần tác vụ của mình. Tham số (dữ liệu) Client Client RPC Client REV Kết quả (dữ liệu) Hàm (mã nguồn) Client Kết quả (dữ liệu) (2) Agent di chuyển Server_1 Agent (Mã, dữ liệu, Server_2 (1) Agent gửi lên Server (3) Agent di chuyển (4) Agent di chuyển Client Server_3 Hình 1.1 Sự khác phát triển các phƣơng thức truy nhập từ xa Hình 1.2 cho thấy sự khác biệt giữa mô hình Client/Server với Mobile Agent. Dữ liệu trong mô hình Client/Server luôn đƣợc trao đổi trực tiếp giữa máy Client và Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 13 Server. Khi Client gửi yêu cầu tới mày chủ thì việc xử lý sẽ diễn ra máy chủ lại trả kết quả về cho Client, việc trao đổi diễn ra liên tục đòi hỏi kết nối mạng ổn định và mất thời gian hơn. Còn trong Mobile Agent Client sẽ gủi yêu cầu thông qua các Agent rồi Agent sẽ di chuyển tới các máy chủ, việc xử lý sẽ diễn ra trên các Agent với máy chủ, sau đó các Agent sẽ trả lại lại kết quả cho Client.Việc trao đổi không đòi hỏi kết nối mạng liên tục mà vẫn có thể làm đƣợc, nhờ các Agent . Jini là phần mềm mạng của công ty Sun Microsystems có chức năng mở rộng ngôn ngữ lập trình đa hệ thống Java. Mục đích của Jini là giúp ngƣời dùng tạo ra mạng đơn giản và linh hoạt hơn. Nó cho phép các thiết bị bắt đầu làm việc ngay lập tức sau khi đƣợc gắn trực tiếp vào mạng, Một khi các thiết bị này đƣợc kết nối, Jini sẽ cung cấp một phƣơng thức để máy tính, ứng dụng hay thiết bị tự động "phát hiện" và chia sẻ tài nguyên, đƣợc gọi là "services" . Client Client Client Client Agent Agent Server Server Thông thƣờng Server Agent Server Mô hình Mobile Agent cơ bản Hình 1.2 So sánh Client/Server với Mobile Agent Phƣơng thức làm việc nhập từ xa 1. Máy tính xách tay hay những thiết bị khác đƣợc gắn vào mạng và mã Jini trong máy ảo Java có trên thiết bị này sẽ thông báo về sự hiện diện của nó. Ngƣời dùng có thể yêu cầu những dịch vụ có sẵn và những biểu tƣợng này xuất hiện trên màn hình của họ. 2. Jini Server và Lookup Service phát hiện máy tính xách tay mới và đăng ký nó trên mạng. 3. Giả sử ngƣời dùng cần in ấn. Ngƣời đó sẽ chọn phần in, việc này khởi động một yêu cầu truy vấn đối với Lookup Service trên Jini Server. Server sẽ gửi Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 14 ngay mã Proxy về cho thiết bị. Máy in đời trƣớc vốn không có mã Java hay Jini sẽ nhận lệnh in thông qua mã proxy và thực hiện việc in tài liệu. 4. Tiếp theo, nếu quyết định lƣu nội dung trình diễn của mình trên mạng, ngƣời dùng chỉ cần chọn "save" trên trình đơn file. Máy tính xách tay của ngƣời này sẽ truy vấn vào Lookup Service, định ra ổ đĩa có khả năng Jini cho máy tính này và nội dung trình diễn sẽ đƣợc lƣu vào đĩa. 5. Cuối cùng, nếu muốn trình diễn công việc của mình trên máy chiếu, loại đã đƣợc nhúng mã Jini, chỉ cần chọn biểu tƣợng máy chiếu trên màn hình của mình, máy sẽ hiển thị giao diện cần thiết để dùng loại dịch vụ này Client Client Client Client Client Proxy t Agent Agent Device Device Device Device Device Hình 1.3 So sánh Jini với Mobile Agent Hình 1.3 cho thấy việc chuyển thông tin tới thiết bị của Jini phải thực hiện qua nhập xa bị mất đột ngột thì thông tin có Proxy đòi hỏi kết nối mạng liên tục, nếu kết nốitừmạng thể bị mất đi còn trong Mobile Agent thông tin sẽ đƣợc lƣu lại Agent và trao đổi trục tiếp với thiết bị ngay khi bị mất kết nối. 1.1.4 Mục đích thiết kế mô hình Mobile Agent Các thiết bị di động ngày càng phổ biến, tuy nhiên việc sử dụng hiệu quả các tài nguyên trên mạng gặp phải một số khó khăn.Trƣớc hết, các thiết bị di động không có kết nối thƣờng trực vào mạng và thƣờng mất kết nối trong một khoảng thời gian dài. Thứ hai, khi máy tính đƣợc kết nối sự kết nối thƣờng có băng thông thấp và độ trễ cao và hay bị hỏng đột ngột, chẳng hạn nhƣ một tắc nghẽn về tín hiệu từ Modem. Thứ ba, do máy tính có thể sử dụng các kênh truyền khác nhau phụ thuộc vào vị trí vật lý của nó. Sự thực hiện kết nối mạng có thể rất đa dạng. Cuối cùng, phụ thuộc vào bản chất của kênh truyền, máy tính có thể đƣợc gán một địa chỉ mạng khác nhau mỗi lần nó đƣợc kết nối. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 15 Mobile Agent là một mô hình hiệu quả cho các ứng dụng phân bố, và đặc biệt thích hợp cho các máy tính kết nối cục bộ. Các máy tính kết nối cục bộ nhƣ laptop, máy tính tại nhà, máy tính cơ quan … thƣờng kết nối với mạng qua SLIP hay PPP. Các thiết bị này thƣờng mất kết nối trong một khoảng thời gian dài, băng thông trễ, không tin cậy thƣờng thay đổi địa chỉ qua mạng mỗi lần kết nối. Một Mobile Agent có thể ra khỏi một máy tính, di chuyển trên Internet và thu thập thông tin cho ngƣời sử dụng nó. Nó truy xuất tài nguyên một cách có hiệu quả, xử lý và trả kết quả về qua một laptop băng thông thấp. Vì nó không tiếp tục liên lạc với laptop, Agent không chịu ảnh hƣởng bời sự mất kết nối đột ngột, và có thể tiếp tục công việc của nó, thậm chí ngay cả khi ngƣời sử dụng nó tắt máy hay ngắt kết nối mạng. Khi ngƣời sử dụng kết nối lại , Agent sẽ tự trả về laptop kết quả sau quá trình di chuyển trên mạng. Ngƣợc lại, một ứng dụng sống trên mạng cũng có thể gửi một Mobile Agnet cho laptop. Agent này hoạt động nhƣ ngƣời đại diện cho ứng dụng, tƣơng tác với ngƣời sử dụng một cách có hiệu quả. Mobile Agnet dễ phát triển, dễ kiểm tra và triển khai các ứng dụng phân tán. Chúng loại trừ nhu cầu phát hiện và quản lý các hỏng hóc trên mạng. Chúng không đòi hỏi cài đặt lại các phần mềm ở mỗi site (mặc dù hệ thống Agent phải có). Mobile Agent đƣa ngƣời lập trình ra khỏi mô hình Client/Server đến mô hình Peer-Peer uyển chuyển, trong dó các node nào là Clinet và nút nào là Server là phụ thuộc và nhu cầu hiện tại. Mobile Agent dễ dẫn đến ứng dụng Scalable vì công việc có thể di chuyển dễ dàng tới vị trí mạng thích hợp. Hình 1.4 Mô tả sự khác biệt Mobile Agent s với các mô hình truy nhập truyền thống nhƣ RPC, REV, COD… a) Client/Server Data Data Data Code Data Internet Tow er System Tow er System Computer A Computer B b) Remote Evalution (REV) Code Số hóa bởi Trung tâm Học liệu Data Code Code Data http://www.lrc-tnu.edu.vn/ Internet 16 c) Code On Demand (COD) Data Code Code Code Data Internet Tow er System Tow er System Computer A Computer B d) Mobile Agent (MA) Data Data Data Code Code Code Data Internet Tow er System Computer A Tow er System Computer B Hình 1.4: Sự khác biệt của Mobile Agents so với RPC, REV,COD 1.2 CÁC ĐẶC TRƢNG KỸ THUẬT CỦA MOBILE AGENT 1.2.1 Kiến trúc hệ thống Mobile Agent Mobile Agent khác với các xử lý phân tán, vì các xử lý phân tán không quyết định địa điểm và khi nào thì nó di chuyển còn Mobile Agent có thể di chuyển tới bất kỳ nơi đâu và bất kỳ khi nào. Mobile Agent cũng khác với Java Applet, Applet chỉ có thể di chuyển một chiều từ Server đến Client, trong khi Mobile Agent thì có thể di chuyển giữa Client và Server và có thể tự định hƣớng. Thậm chí ngay trong kiến trúc của hệ thống Mobile Agent cũng có sự khác biệt, hầu hết tất cả hệ thống Mobile Agent đều chứa một Mobile Agent (MA) và một MobileAgent Environment (MAE). Nhƣ hình 1.4. MAE tạo ra một môi trƣờng thực thi chắc chắn và thích hợp cho MA. Cung cấp cho MA các dịch vụ cơ bản bao gồm tạo (Creation), vận chuyển (Transportation) và thực thi (Execution). Nó cũng bao gồm các cơ chế nhƣ: chiến lƣợc chịu lỗi, điều khiển Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 17 bảo mật và các kỹ thuật kết nối. Khả năng giải quyết vấn đề của các MA phụ thuộc vào các dịch vụ đƣợc MAE cấp. Một cách tổng quát thì MAE có các dịch vụ cơ bản sau: - Business service: các dịch vụ tạo, di chuyển, khả năng chịu lỗi và thực thi trên môi trƣờng phân tán. - Event service: cung cấp các giao thức truyền, kết nối và hỗ trợ các tƣơng tác giữa các Agent . - Directory service: duy trì các thông tin về trạng thái về sự cục bộ của mộtMobile Agent , và một thông điệp định tuyến dùng để phân phát các thông định tớiMobile Agent . - Security service: cung cấp môi trƣờng thực thi an toàn. - Application sevice: cung cấp các dịch vụ giao tiếp cho các tác vụ. Thông thƣờng, một MAE chỉ có trên một máy tính trên mạng, nhƣng nếu các máytính đƣợc kết nối bằng đƣờng truyền có tốc độ cao, một MAE có thể phân tán trên mạng theo cách không đồng nhất của các máy tính mà không ảnh hƣởng đến năng suất làm việc của toàn hệ thống. Trong MAE, ATP ( Agent Transfer Protocol) thực hiện việc vận chuyển các MA qua các máy tính và cung cấp môi trƣờng thực thi và các dịch vụ giao tiếp. Agent Communication Language (ACL) kết nối với các dịch vụ khác nhau đƣợc MAE cung cấp để cho MA khai thác. User Agent – UA Service Agent – SA Di trú (Migration) Local Communication Remote Communication Hình 1.5: Tổng quát kiến trúc Mobile Agent Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 18 Kiến trúc của Mobile Agent (MA) bao gồm User Agent (UA) và Service Agent (SA). UA có thể di chuyển từ MAE này đến MAE khác, thực thi trong MAE và kết nối với những MA khác hay các dịch vụ đƣợc cung cấp bởi MAE xuyên suốt trong ACL. Chức năng chính của UA là hoàn tất nhiệm vụ đƣợc giao bởi ngƣời dùng và còn có vai trò di chuyển, điều khiển bảo mật và liên lạc với bên ngoài. SA không có tính di động, chức năng chính của nó là cung cấp những dịch vụ cho các MA cục bộ và các MA di chuyển đến. Thông thƣờng có nhiều SA tron gmột MAE, và chúng cung cấp các dịch vụ khác nhau. Vì vậy SA không có tính di động và chỉ đƣợc khởi động (Start up) và quản lý (Manage) bởi Admin của MAE nơi nó cƣ trú. Điều này làm cho SA không nguy hiểm. UA không thể truy cập trực tiếp vào tài nguyên hệ thống. Nó chỉ có thể truy cập vào tài nguyên đƣợc điều khiển thông qua các Interface đƣợc cung cấp bởi SA. Theo cách đó sự tấn công từ các Agent nguy hiểm có thể đƣợc tránh. Đây là cũng là một chính sách bảo mật mà hầu hết các hệ thống Mobile Agent chấp nhận. 1.2.2 Các đặc tính của Mobile Agent Các đặc tính chính của Mobile Agent bao gồm : Tính tự trị (Autonomous): Là khả năng tự kiểm soát bản thân của Agent sau khi đƣợc giao việc mà không cần sự can thiệp nào của ngƣời dùng hoặc của Agent khác . Có nhiều hƣớng đánh giá về sự tự trị của Agent . Hai đặc tính hƣớng đích (GoalOriented) và tính chủ động (Pro-Activeness) thƣờng đƣợc dùng để đánh giá mức độ tự trị của Agent . Khả năng tự trị của Agent chủ yếu đƣợc quyết định bởi tri thức trang bị cho Agent . Tính di động (Mobility): Là khả năng di chuyển từ môi trƣờng thi hành này sang môi trƣờng khác khác của một Agent . Khả năng di động của một Agent đƣợc phân thành hai loại. Di động mạnh (Strong Mobility) là khả năng mà hệ thống có thể di chuyển cả mã chƣơng trình và trạng thái thi hành của Agent đến một môi trƣờng khác. Di động yếu (Weak Mobility) là khả năng của hệ thống chỉ có thể di chuyển mã chƣơng trình giữa các môi trƣờng thi hành với nhau. Mã nguồn có thể mang kèm theo một số dữ liệu khởi tạo nhƣng trạng thái thi hành thì không thể di chuyển. Tính thích ứng (Reactiveness): Là khả năng của Agent có thể thực thi trên những môi trƣờng lạ, và cảm nhận đƣợc sự thay đổi của môi trƣờng. Khả năng cộng tác (Collaboration) là khả năng liên lạc, phối hợp hoạt động của các Agent với các Agent Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 19 trong cùng môi trƣờng khác hay với các loại đối tƣợng khác trong những môi trƣờng khác. 1.2.3 Các thành phần của một Mobile Agent Hai thành phần cơ bản của một mô hình Mobile Agent là : 1. - Agent - Môi trƣờng thực hiện nó - Place Agent : Một Mobile Agent là một thực thể có 5 thuộc tính: trạng thái, sự cài đặt, giao tiếp, định danh và ngƣời ủy nhiệm. Khi một Agent di chuyển trên mạng nó mang theo các thuộc tính đi cùng với nó. Ngƣời uỷ quyền Giao tiêp Cài đặt Trạng thái Định danh Hình 1.6: Các thành phần của một hệ thống Mobile Agent - Trạng thái: Khi một Agent di chuyển nó mang theo trạng thái hiện tại đi cùng và trạng thái này đƣợc dùng để tiếp tục thực hiện chƣơng trình tại Host đến. Đối với hầu hết các ngôn ngữ lập trình có thể chia trạng thái của Mobile Agent ra làm 2: trạng thái thực hiên và trạng thái của đối tƣợng (chứa giá trị các biến trong đối tƣợng) - Cài đặt: Cũng nhƣ mọi ngôn ngữ lập trình khác Mobile Agent cần mã để thực hiện. Khi nó di chuyển sẽ mang một tùy chọn để cho Host đến biết là nó mang theo mã cài đặt hay là kiểm tra xem mã đó có chƣa và tìm kiếm nếu thiếu. - Giao tiếp: các Agent giao tiếp qua một tập phƣơng thức kết nối là Knownledge Query and Manipulation Language (KQML). KQML là ngôn ngữ thiết kế để liên lạc giữa các Agent . KQML đƣa ra các kiểu thông báo đa dạng để diễn đạt nội dung trao đổi. - Định danh: Cần thiết để nhận dạng và định vị các Agent . Mỗi Agent có một định danh duy nhất trong suốt thời gian hoạt động. Định danh này có thể là sự kết hợp Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 20 định danh của ngƣời ủy nhiệm và một Serial Number. Vì định danh của Agent là duy nhất và không thể thay đổi đƣợc, nó dùng nhƣ một khóa trong các thao tác tham chiếu đến định danh của một Agent khác. - Ngƣời ủy nhiệm: Là một thực thể mà định danh của ngƣời đó đƣợc các hệ thống chấp nhận. Định danh của một cá nhân , một tổ chức hay một công ty. Agent có 2 ngƣời ủy nhiệm chính:  Nhà chế tạo: nhà cung cấp cài đặt của Agent .  Ngƣời chủ : ngƣời có trách nhiệm về các hành vi của Agent . Ví dụ nhƣ ngƣời tạo ra Aglet. 2. - Place: Là môi trƣờng mà Agent hoạt động. Place cung cấp các dịch vụ mà Agent có thể dựa vào đó mà hoạt động bất châp vị trí hiện tại. Có thể xem Place là hệ điều hành cho Agent . - Trong Place có 4 nội dung đóng vai trò quan trọng.  Bộ xử lý: Máy ảo cho các Places. Bản thân Place không thể thi hành các Agent . Để thực hiện điều đó các Agent phải có trong bộ xử lý. Bộ xử lý phục vụ nhƣ một máy ảo cho các Places và các Agent các kết nối mạng. Trong hệ thông Mobile Agent dựa trên Java, bộ xử lý tƣơng đƣơng nhƣ máy ảo của Java và hệ điều hành. Mỗi bộ xử lý có nhiều Places và mỗi Place có nhiều Agent .  Tài nguyên: Bộ vi xử lý và Place cung cấp việc điều khiển truy suất đến các tài nguyên và dịch vụ cục bộ nhƣ mạng, cơ sở dữ liệu, các vi xử lý và bộ nhớ, đĩa, các phần cứng cũng nhƣ dịch vụ phần mềm.  Vị trí: Địa chỉ mạng của Place. Vị trí đóng một vai trò quan trọng cho các Mobile Agent . Vị trí của một Agent đang thực hiện là sự kết hợp giữa tên của Place ( mà nó đang thực thi trong đó ) và địa chỉ mạng cảu bộ vi xử lý ( mà Place dang tồn tại trong đó). Vị trí đƣợc viết nhƣ một địa chỉ IP và cổng của bộ vi xử lý.  Sự ủy nhiệm : Quản lý các thao tác trên một Place Hình 1.7: Place và Bộ vi xử lý Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Xem thêm -