1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mobile agent và ứng dụng trong thanh toán điện tử

74 727 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 1,89 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bảng chú giải và thuật ngữ viết tắt ASDK Bộ thư viện cho aglet ATP Giao thức truyền thông của tác tử B2B Business to Business B2C Business to Customer C2C Customer to Customer Client-Ser

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

LÊ TRẦN TRUNG

MOBILE AGENT VÀ ỨNG DỤNG TRONG THANH TOÁN

ĐIỆN TỬ

Ngành: Công nghệ thông tin

Chuyên ngành: Hệ thống Thông tin

Mã số: 60 48 05

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS ĐOÀN VĂN BAN

Hà Nội -2012

Trang 3

Trang phụ bìa

Lời cam đoan

Mục lục

Bảng chú giải và các thuật ngữ viết tắt 3

Danh mục hình……… ……… 4

Giới thiệu về luận văn 9

Chương 1: Tổng quan về Agent 11

1.1 Giới thiệu 11

1.2 Tính năng của Agent 12

1.3 Phân loại agent 13

1.3.1 Phân loại theo tính năng 13

1.3.2 Phân loại theo mục đích 14

1.4 Kết luận 15

Chương 2 Mobile Agent và nguyên lý hoạt động 16

2.1 Khái niệm Mobile Agent 16

2.2 Tính chất mobile agent: 16

2.3 Nguyên lý hoạt động 16

2.3.1 So sánh với các kĩ thuật khác 16

2.3.2 Vòng đời một tác tử di động (mobile agent) 20

2.3.3 Cơ chế di chuyển của Mobile agent 21

2.3.4 Kiến trúc hệ thống của Mobile Agent 22

2.3.5 Các điều kiện agent phải thỏa mãn 23

2.4 Agent Host 23

2.4.1 Khái niệm 23

2.4.2 Các yêu cầu cho AgentOS : 23

2.5 Ích lợi của mobile agent 24

2.6 Môi trường ứng dụng mobile agent 25

2.7 Một số hệ thống Mobile Agent 27

2.7.1 Aglets 27

2.7.2 Voyager 28

2.7.3 Mole 29

2.7.4 ZEUS 29

2.8 Các tính năng hỗ trợ của hệ thống Mobile Agent 30

2.9 So sánh các hệ thống Mobile Agents 32

2.10 Bảo đảm an ninh trên Mobile Agent 33

2.10.1 Đe dọa sự an toàn an ninh (Security Threats) 33

2.10.2 Những yêu cầu về an toàn, an ninh (Security Requirements) 35

2.10.3 Biện pháp đối phó (Countermeasures) 37

2.11 Kết luận 41

Chương 3: Thương mại điện tử và ứng dụng Mobile Agent trong thanh toán điện tử 42

3.1 Thanh toán điện tử và các mô hình thanh toán điện tử 42

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ử 42 3.1.2 Các hệ thống thanh toán trực tuyến 43

3.1.3 Các loại thẻ thanh toán trực tuyến 46

3.1.4 Xử lý thẻ tín dụng trực tuyến 46

3.1.5 Rủi ro khi sử dụng thẻ thanh toán 47

Trang 4

3.1.6 Gian lận trong thanh toán thẻ 48

3.1.7 Sử dụng thẻ thanh toán trực tuyến 48

3.2 Mobile agent trong thương mại điện tử 50

3.2.1 Phân loại ứng dụng trong Thương mại điện tử 50

3.2.2 Một mô hình thanh toán điện tử dựa trên Agent - The Secure Agent Fabrication, Evolution & Roaming (SAFER) 52

3.2.3 Hệ thống thanh toán hóa đơn nhà hàng dựa trên Mobile Agent 53

3.3 Sử dụng Aglet cài đặt ví dụ thanh toán điện tử 56

3.3.1 Tổng quát về Aglet 56

3.3.2 Cài đặt demo ứng dụng thanh toán hóa đơn nhà hàng 62

3.3.3 Kết luận 71

Kết luận và hướng phát triển 73

Trang 5

Bảng chú giải và thuật ngữ viết tắt

ASDK Bộ thư viện cho aglet

ATP Giao thức truyền thông của tác tử

B2B Business to Business

B2C Business to Customer

C2C Customer to Customer

Client-Server Mô hình mạng, trong đó server là máy chủ phục vụ, client là máy

khách truy cập vào máy chủ lấy dữ liệu Code Mã chương trình

CORBA Common Object Request Broker Architecture – Một chuẩn cho phép

các đối tượng phân tán cộng tác được với nhau Bandwidth Băng thông đường truyền mạng

DCOM Distributed Component Object Model – Mô hình đối tượng thành

phần phân tán EBPP Electronic Bill Presentment and Payment (Hệ thống xuất trình và

thanh toán hối phiếu) Editor Trình soạn thảo

EFT Electronic Fund Transfer – Chuyển tiền điện tử

EIPP Electronic Invoice Presentment and Payment (Hệ thống xuất trình và

thanh toán hóa đơn) E-Cash Tiền điện tử

Host Không gian trên máy chủ có cài dịch vụ Internet như ftp,www

IP Địa chỉ máy tính trong mạng

JDK Bộ chương trình phát triển Java

JRE Môi trường chạy Java

JVM Java Virtual Machine – Máy ảo java

KQML Ngôn ngữ giao tiếp giữa các tác tử

LAN Mạng máy tính nội bộ

MA Mobile Agent – Tác tử di động

Node Một máy trong mạng

P2P Peer to Peer – Mạng ngang hàng

Platform Nền tảng cho ứng dụng

RMI REMOTE METHOD INVOCATION - Công nghệ xử lý (gọi hàm) từ

xa Sandbox Mô hình bảo mật của Java

SDK Bộ chương trình phát triển ứng dụng

Trang 6

SET Secure Electronic Transaction – Giao dịch điện tử an toàn

SOAP Simpe Object Access Protocol - Giao thức truy cập đối tượng đơn

giản TCP/IP Một giao thức Internet

TMĐT Thương mại điện tử

TTP Trusted Third Party – Bên thứ 3 tin cậy

UML Ngôn ngữ mô hình hóa hợp nhất

XML Ngôn ngữ đánh dấu mở rộng

Trang 7

Danh mục hình vẽ

Hình 1.1: Agent - Phương pháp lập trình mới 11

Hình 1.2: Phân loại Agent 14

Hình 2.1: Kỹ thuật mã kéo (pull code) 17

Hình 2.2: Kỹ thuật mã đẩy (push code) 18

Hình 2.3: Kỹ thuật mã tự trị (autonomous code) 19

Hình 2.4: Vòng đời một tác tử di động 20

Hình 2.5: Cơ chế di chuyển của mobile agent 21

Hình 2.6: Kiến trúc của một hệ thống mobile agent 22

Hình 2.7: Các hình thức đe dọa an ninh của Mobile Agent 33

Hình 3.1: Kiến trúc của mô hình SAFER 53

Hình 3.2: Giao thức thanh toán của hệ thống thanh toán nhà hàng 54

Hình 3.3: Cài đặt hệ thống thanh toán nhà hàng 55

Hình 3.4: Vòng đời Aglet 58

Hình 3.5: Aglet API 59

Hình 3.6: Kiến trúc Aglet 61

Hình 3.7: Máy chủ aglet phía khách hàng 62

Hình 3.8: Các bảng dữ liệu trong cơ sở dữ liệu MySQL 63

Hình 3.9: Máy chủ aglet phía chủ nhà hàng 64

Hình 3.10: Máy chủ aglet phía TTP 65

Hình 3.11: Màn hình đăng nhập 70

Hình 3.12: Màn hình thanh toán 71

Trang 8

Giới thiệu về luận văn Đặt vấn đề

Với sự lớn mạnh không ngừng của WWW và sự nổi lên của những ứng dụng Thương mại điện tử đã dẫn đến sự ra đời của các mô hình kinh doanh mới lấy Internet làm trung tâm Hỗ trợ cho mua bán trực tuyến đã tạo ra những chương trình có cấu trúc mới cung cấp hiệu quả kinh tế và những mô hình linh hoạt Cộng với sự ra đời của khái niệm agent đã tạo ra một phương pháp lập trình mới được ứng dụng nhiều ngành khoa học khác nhau

Lập trình agent có những ưu điểm và lợi ích rõ ràng trong nhiều lĩnh vực và triển vọng nhất là sử dụng các agent trong Thương mại điện tử Rất nhiều công việc sử dụng các ứng dụng mang khái niệm “agent trong Thương mại điện tử” Tuy nhiên chưa có nhiều ứng dụng được thiết kế cho TMĐT sử dụng mobile agent đã được hoàn hành

Mục đích luận văn

Luận văn nghiên cứu hệ thống mobile agent theo hướng ứng dụng trong thanh toán điện tử, với mục đích xây dựng một hệ thống có khả năng tự bảo trì, giảm thiểu lỗi, khắc phục độ trễ của đường truyền tạo ra hiệu xuất cao trong xử lý Dựa vào

những tính năng của mobile agent em hy vọng có thể xây dựng nên một hệ thống như vậy

Cấu trúc của luận văn

Ngoài các phần giới thiệu mở đầu, mục lục, bảng chú giải và các thuật ngữ viết tắt, danh mục hình vẽ, kết luận, tài liệu tham khảo, luận văn được chia thành 3 phần như sau:

Chương 1: Tổng quan về Agent

Giới thiệu tổng quan về software agent, tính năng của agent và phân loại agent

Chương 2: Mobile Agent và nguyên lý hoạt động

Giới thiệu về mobile agent và nguyên lý hoạt động, kiến trúc của mobile agent

và cơ chế di chuyển, truyền thông báo Chương này cũng giới thiệu các hệ thống mobile agent, so sánh giữa các hệ thống mobile agent hiện thời Trình bày về các ưu điểm của mobile agent và các lĩnh vực mobile agent có khả năng ứng dụng

Chương này cũng trình bày về các vấn đề về an ninh và các phương pháp đảm bảo an ninh cho agent

Trang 9

Chương 3: Thương mại điện tử và ứng dụng Mobile Agent trong thanh toán điện

tử

Giới thiệu về thương mại điện tử và các hệ thống thanh toán điện tử, các khả năng ứng ứng dụng của mobile agent trong thương mại điện tử như: agent bán hàng, mua hàng và thương lượng đấu giá

Ngoài ra luận văn cũng giới thiệu về hệ thống thanh toán điện tử dựa trên

mobile agent, đó là hệ thống thanh toán hóa đơn nhà hàng Cuối chương luận văn cũng trình bày về giao thức thanh toán của hệ thống và phần cài đặt thử nghiệm chương trình

Trang 10

Chương 1: Tổng quan về Agent 1.1 Giới thiệu

Tin học ngày càng phát triển dẫn đến việc hình thành nhu cầu tạo ra những tiểu chương trình nhỏ gọn, thông minh, có khả năng hoạt động một mình và kết hợp với những tiểu chương trình khác

Năm 1994, khái niệm software agent được đưa ra bởi Mark Sidell và Chuck Knuff và đến năm 1995 thì phiên bản đầu tiên của agent xuất hiện

Năm 1975 kĩ thuật lập trình phổ biến là lập trình có cấu trúc, đến năm 1982, kĩ thuật lập trình phổ biến là phương pháp lập trình hướng đối tượng và đến khi Agent ra đời đã tạo ra một phương pháp lập trình mới

Agent là sự kết hợp của nhiều kĩ thuật tin học hiện đại

Có nhiều định nghĩa cho software agent, ta có thể tham khảo một số định nghĩa sau:

Một agent là một thành phần phần mềm và/hoặc phần cứng mà có khả năng hoat động chính xác để hoàn thành nhiệm vụ thay mặt chủ nhân của agent

(Nwana, 1996) [8]

Trên mạng Internet, một agent (có khi được gọi là một intelligent agent ) là một chương trình thu thập thông tin hoặc thực thi một số dịch vụ khác mà không cần người điều khiển và hoạt động theo thời gian đã được lên lịch sẵn Một agent đôi khi được gọi là một bot ( viết tắt của robot ) [8]

Một ví dụ về agent là chương trình Infogate [8] Chương trình này có chức năng

Trang 11

thu thập các tin tức mới về lĩnh vực người dùng quan tâm và tự động gửi thông báo đến người dùng khi có tin mới

1.2 Tính năng của Agent

1.2.1 Tính tự trị (autonomous)

Agent có khả năng tự kiểm soát những hoạt động của chính nó và làm việc, thi hành các tác vụ độc lập với người dùng cũng như các tác nhân khác Nói một cách đơn giản, những agent là những chương trình có thể tự hoạt động mà không cần có người dùng thao tác Hai đặc tính hướng đích (goal-oriented) 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

1.2.2 Tính thích nghi và tự học hỏi (adaptive/learning)

Agent biết cách học và tự thay đổi các hành vi của nó theo các kinh nghiệm thu được

1.2.3 Bền vững trong quá trình hoạt động (persistent)

Tự tồn tại và thích nghi trong môi trường hoạt động, chỉ bị hủy khi đã hoàn thành nhiệm vụ

1.2.4 Hoạt động hướng đích (goal driven)

Mỗi agent được tạo ra đều có một mục đích và nó hành động theo mục đích này cho đến khi mục đích được thỏa mãn

1.2.5 Giao tiếp và cộng tác ( communicative/collaborative)

Agent có khả năng liên lạc, giao tiếp và phối hợp hoạt động với các agent của cùng môi trường khác hay các loại đối tượng khác trong các loại môi trường khác

1.2.6 Linh hoạt (flexible)

Agent có thể hoạt động trong nhiều môi trường, hệ điều hành khác nhau

1.2.7 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 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

Trang 12

(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

Các agent thường có kích thước nhỏ, bản thân agent không phải là một ứng dụng hoàn chỉnh, khi hoạt động trên một máy, agent cần phải kết hợp với một chương trình chạy nền sẵn trên máy mà ta gọi là AgentHost mới có thể hoạt động được Ngoài

ra có một số agent sẽ kết hợp với một số chương trình khác để hoạt động

1.3 Phân loại agent

Các agent thường được phân loại theo tính năng và mục đích

1.3.1 Phân loại theo tính năng

a Tác tử tĩnh (Stationary agent)

 Đặc tính: Chỉ làm việc trên một hệ thống, nơi mà agent bắt đầu vòng đời

 Nếu stationary agent cần thông tin ở một hệ thống khác hoặc muốn tương tác với agent nằm ở hệ thống khác thì chúng phải sử dụng một trong các cơ chế truyền thông khác như RPC, RMI, DCOM…

b Tác tử di động (Mobile Agent)

 Không lệ thuộc vào hệ thống nơi chúng bắt đầu làm việc

 Có khả năng di chuyển từ nơi này sang nơi khác trong hệ thống mạng máy tính tại những thời điểm và vị trí do agent lựa chọn

 Khi mobile agent di chuyển, nó có thể mang theo mình trạng thái và mã chương trình

Trang 13

1.3.2 Phân loại theo mục đích

b Tác tử giao diện (Interface agent)

Interface agent là một chương trình có thể ảnh hưởng đến giao diện thao tác trực tiếp, nhưng không có sự hướng dẫn trực tiếp từ người dùng Interface agent đọc các dữ liệu người dùng nhập vào giao diện và nó có thể tạo ra sự thay đổi tới đối tượng người dùng thấy trên màn hình, mặc dù có thể là sự thay đổi đó không phải diễn ra ngay ứng với hành động của người dùng Interface agent có thể quan sát nhiều tham số nhập vào của người dùng trong một khoảng thời gian nào đó

Trang 14

trước khi quyết định thực hiện một hành động [8]

c Tác tử thông minh (Smart/Intelligent agent)

Có đầy đủ cả 3 mục đích: giao tác, tự động và dễ thích nghi và đây chính

là tên gọi khác của software agent [8]

Trang 15

Chương 2 Mobile Agent và nguyên lý hoạt động

Những hệ thống phân tán truyền thống được xây dựng trên những chương trình tĩnh, chuyển dữ liệu đi về trên mạng Còn mobile agent (gọi tắt là MA) thì ngược lại

2.1 Khái niệm Mobile Agent

Định nghĩa: Mobile agent là những thành phần phần mềm, bao gồm mã chương trình, dữ liệu và trạng thái hoạt động và có thể tự mình di chuyển từ nơi này sang nơi khác Nội dung agent mang theo trong quá trình di trú bao gồm các thành phần của agent, tên cơ sở tri thức, bảng lưu nội dung các câu hỏi và câu trả lời theo ngôn ngữ COKB-ONT [2]

Mobile agent chính là một dạng của mobile code (Mobile code là những

chương trình chuyển mã đến client và thực thi ở đó Ví dụ cho mobile code: chương trình applet có thể gây nguy hiểm cho máy tính do trong applet có thể chứa những đoạn code không đáng tin cậy, gây hại)

Mobile agent ngoài những tính năng cơ bản của mobile code còn có thể : mang theo mình dữ liệu và trạng thái thực thi, di trú trong mạng dưới sự kiểm soát của chính

nó Vì vậy, có thể nói mobile agent an toàn hơn mobile code nhiều

2.2 Tính chất mobile agent:

 Có khả năng di trú từ nơi này sang nơi khác

 Liên lạc được với nhau, nhân bản, nhập lại, tổng hợp tính toán

 Một số agent có khả năng cung cấp dịch vụ hoặc interface cho các ứng dụng kế thừa

Để hiểu rõ về nguyên lý hoạt động trong môi trường mạng của Mobile Agent,

ta sẽ so sánh nó với nguyên lý hoạt động của các kĩ thuật khác:

2.3.1.1 Kĩ thuật mã kéo (pull code)

Áp dụng trong mô hình client-server, bắt đầu khi client gửi yêu cầu đến server,

Trang 16

server sẽ gửi code về client và code thực thi, cho ra kết quả ở client

Thao tác gồm 3 bước :

Bước 1 : máy client gửi yêu cầu đến server

Bước 2 : server gửi code cho client

Bước 3 : code được thực thi ở client

Hình 2.1: Kỹ thuật mã kéo (pull code)

Ví dụ : Các Java applet được thực thi theo phương pháp này

Chú ý : Trong mô hình này, một bản sao của code sẽ được server gửi tới client

và thực thi ở client Server vẫn lưu trữ code

Trang 17

2.3.1.2 Kĩ thuật đẩy mã (push code)

Khi có yêu cầu từ người dùng, một máy (một node) trong mạng sẽ gửi code tới một máy (một node) khác trong cùng môi trường mạng và thực thi ở máy đó Thao tác này gồm 2 bước :

Bước 1 : Tự bản thân máy A gửi code đến máy B mà không có yêu cầu từ phía B Trong mô hình này, A chỉ là một máy có nối mạng với B chứ không cần điều kiện A phải là server

Bước 2: code được thực thi ở máy B

Hình 2.2: Kỹ thuật mã đẩy (push code)

Chú ý : ở A vẫn lưu trữ một bản sao của code

Như vậy, trong hai mô hình trên, nơi gửi code đi vẫn giữ lại một bản sao của code

Trang 18

2.3.1.3 Kĩ thuật mã tự trị (autonomous code)

Code tự quyết định sẽ đi và thực thi ở đâu

Bước 1 : code sau khi thực thi ở máy A sẽ tự đóng gói và di trú tới máy B

Bước 2 : code thực thi ở máy B, lúc này code hoàn toàn không còn ở A nữa

Hình 2.3: Kỹ thuật mã tự trị (autonomous code)

Ví dụ : mobile agent hoạt động theo phương pháp này

Tự quyết định đóng gói, không để lại bản sao và di trú đến đâu là điểm khác biệt của mobile agent với hai kĩ thuật kéo mã và đẩy mã ở trên

Trang 19

2.3.2 Vòng đời một tác tử di động (mobile agent)

Mọi mobile agent đều thực hiện tuần tự theo logic: Đầu tiên, tác tử được tạo ra,

di trú từ host này sang host khác theo lịch trình, thực hiện các nhiệm vụ được giao và cuối cùng bị huỷ sau khi đã hoàn thành nhiệm vụ

Hình 2.4: Vòng đời một tác tử di động

 Khởi tạo : Khởi tạo agent, phát sinh ID cho agent, tuỳ biến cấu hình cho agent

 Lưu trạng thái: Lưu lại trạng thái, dữ liệu, mã nguồn của agent trước khi di trú đến AgentOS khác

 Di trú: Di trú agent kèm tình trạng của nó đến một nơi khác

 Tái tạo trạng thái: Tái tạo lại trạng thái trước khi di trú của agent

 Thực thi: Truy cập vào các dịch vụ của host, liên lạc với các agent khác, hoàn thành nhiệm vụ của agent

 Yêu cầu di trú: Yêu cầu được di trú đến một host khác

 Hủy/Ngủ đông: Khi nhiệm vụ đã hoàn thành hoặc gặp một trở ngại gì đó không thể tiếp tục hoạt động thì agent sẽ tự hủy hoặc tự đưa nó vào trạng thái ngủ đông (sleep)

Mọi agent đều thực hiện các công việc của nó tuần tự theo logic : đầu tiên, agent được tạo ra, di trú từ host này sang host khác và cuối cùng bị huỷ sau khi hoàn thành nhiệm vụ

* Chi tiết vòng đời mobile agent

Vòng đời agent bắt đầu khi agent được tạo ra trên một host Khi đó, agent sẽ được cấp một định danh duy nhất Tình trạng ban đầu cũng có thể được khởi tạo theo Khi đã sẵn sàng hoặc nhận được lệnh để di trú đến một host khác nằm trong đường đi

Trang 20

của agent, agent sẽ lưu lại trạng thái hiện hành của mình và tiến hành quá trình di trú Nếu quá trình di trú thất bại, agent sẽ tự ngừng hoạt động (deactivate) để rồi nó sẽ tự kích hoạt lại chính mình sau một khoảng thời gian định trước hay được kích hoạt và sẽ tiến hành lại quá trình di trú đến host khác Khi đã di trú đến host mới thành công, agent sẽ phục hồi lại trạng thái Lúc này, agent bắt đầu thực thi nhiệm vụ của nó, sử dụng các dịch vụ trên host, liên lạc với agent khác…

Sau khi agent đã hoàn tất nhiệm vụ, nó có thể bị huỷ hoặc chuyển sang trạng thái ngủ đông cho đến khi có yêu cầu từ bộ đếm trong chính bản thân agent Khi đó, agent sẽ lưu lại trạng thái của nó và di trú đến một host khác Vòng đời agent lại lặp lại theo trình tự như trên cho đến khi nó hoàn thành nhiệm vụ hoặc hết thời gian hoạt động thì agent sẽ bị hủy

2.3.3 Cơ chế di chuyển của Mobile agent

Agent sẽ tự quyết định đóng gói và di trú đến môi trường khác để thực thi là đặc điểm nổi bật của mobile agent Khi có nhu cầu di trú agent sẽ tạm dừng thực thi

mã, thực hiện lưu trạng thái của đối tượng (có thể có khả năng lưu lại cả trạng thái thi hành) Sau khi mã hoá dữ liệu agent sẽ được truyền đi trên hệ thống mạng Khi đến đích, agent sẽ thực hiện các bước ngượi lại với bên gửi để khôi phục lại trạng thái của agent và tiếp tục thực hiện nhiệm vụ

Hình 2.5: Cơ chế di chuyển của mobile agent

Trang 21

2.3.4 Kiến trúc hệ thống của Mobile Agent

Hình 2.6: Kiến trúc của một hệ thống mobile agent

Hệ điều hành của các hệ thống máy tính cung cấp các phần mềm cơ bản để thực hiện việc tích hợp các mobile agent vào hệ thống và cung cấp đầy đủ các chức năng cơ bản cho mobile agent hoạt động Phần mềm cơ bản là giao diện giữa mobile agent và

hệ điều hành của máy tính [1]

Một mobile agent có thể giao tiếp trực tiếp với các phần mềm cơ bản bằng cách yêu cầu một thủ tục mà phần mềm cơ bản cung cấp và nhận câu trả lời bằng các tham

số trả về Các tác tử đang cùng hoạt động tại một hệ thống cũng có thể giao tiếp với nhau Việc truyền thông này có thể được thực hiện theo hai cách:

Cách thứ nhất: giao tiếp logic - hai tác tử giao tiếp trực tiếp với nhau bằng cách gửi cho nhau các thông điệp hoặc yêu cầu các thủ tục Cách này linh hoạt

và cho phép tác tử mức độ tự do cao Tuy nhiên, phần mềm cơ bản (cũng là các server) khó theo dõi và điều khiển các hoạt động của các tác tử

Cách thứ hai: giao tiếp thực - hai tác tử giao tiếp với nhau thông qua phần mềm

cơ bản Các tác tử chỉ giao tiếp trực tiếp với phần mềm cơ bản Cách giao tiếp giữa hai tác tử này bao gồm hai kết nối thực giữa các tác tử cần giao tiếp với phần mềm cơ bản Cách này hạn chế hơn và dễ bị thay đổi hơn

Nếu một tác tử muốn truy xuất thông tin từ một cơ sở dữ liệu bên ngoài thì tác

tử đó phải thông qua phần mềm cơ bản Phần mềm cơ bản sẽ truy xuất đến cơ sở dữ liệu và thực hiện các công việc mà tác tử yêu cầu (như tìm kiếm,…) sau đó trả kết quả

Trang 22

chức năng cơ bản cho hoạt động của các tác tử

 Tầng an ninh cung cấp các chức năng cho phép truyền các thông điệp và các đối tượng trên mạng một cách an toàn

 Tầng truyền thông bao gồm các đặc tả cho các giao thức truyền, các định dạng tài liệu, đối tượng

2.3.5 Các điều kiện agent phải thỏa mãn

 Có một mã xác nhận duy nhất

 Xác định được những agent khác đang thực thi trong cùng host

 Có khả năng nhận và gửi thông điệp cho những agent khác

2.4 Agent Host

2.4.1 Khái niệm

Agent không thể tồn tại một mình mà nó phải dựa trên một phần mềm khác được gọi là host hay AgentOS để sống và hoạt động Chính host sẽ tạo ra agent từ đọan code đã có, thực thi agent, chuyển nó đến host khác hay hủy đi agent Khi host

bị hủy thì agent đang hoạt động dựa trên host đó cũng bị hủy theo

2.4.2 Các yêu cầu cho AgentOS :

 Độc lập flatform : AgentOS phải có khả năng hỗ trợ agent trong môi trường mạng không đồng nhất

 Đa luồng: AgentOS phải có khả năng cho phép nhiều agent hoạt động đồng thời ( có thể có độ ưu tiên khác nhau)

 Di trú được agent và trạng thái của nó : Agent có thể yêu cầu host di trú agent tới host khác và thực thi

 Có cơ chế cho các agent trong host giao tiếp được: AgentOS phải cung cấp khả năng liên lạc thông qua sự kiện giữa các agent trong cùng một node cũng như giữa các agent ở các node khác nhau

 Tái sử dụng agent: AgentOS phải cung cấp cho người dùng khả năng phân loại, lưu trữ agent để có thể lấy ra sử dụng lại về sau

 Bảo mật: AgentOS phải có cơ chế chống lại những agent được tạo ra với ý đồ xấu nhằm ngăn chặn việc bị đánh cắp thông tin hoặc bị tấn công từ chối dịch vụ…

 Có thể mở rộng được

Trang 23

2.5 Ích lợi của mobile agent

2.5.1 Giảm tải băng thông

Kĩ thuật mobile agent cho phép người dùng đóng gói thông tin, gửi nó đến máy đích và thực hiện xử lý dữ liệu, trao đổi cục bộ tại đó Như vậy sẽ góp phần làm giảm

dữ liệu thô trên mạng, góp phần làm giảm tải mạng đáng kể Phương châm thực hiện của kĩ thuật mobile agent là : mang xử lý đến nơi chứa dữ liệu hơn là mang dữ liệu về nơi xử lý

2.5.2 Giảm độ trễ

Việc điều khiển các hệ thống quy mô lớn sẽ phải chấp nhận một sự trễ mạng nhất định Nhưng điều đó không được phép xảy ra trong các hệ thống thời gian thực như điều khiển đèn giao thông, dây chuyền sản xuất Khi đó, giải pháp mobile agent rất hữu ích trong việc khắc phục độ trễ nhờ vào việc agent có thể được gửi đi từ trung tâm điều khiển và hành động cục bộ, tự trị, trực tiếp thi hành các chỉ dẫn của người điều khiển

2.5.3 Có thể thực thi khi ngắt kết nối mạng

Khi gặp sự cố mạng và không thể di chuyển tiếp, agent sẽ tự đưa mình vào trạng thái chờ cho đến khi mạng được thiết lập lại thì agent sẽ khởi động lại và di chuyển tiếp để hoàn thành nhiệm vụ được giao

2.5.5 Nhanh và giảm thiểu lỗi

Với khả năng phản ứng năng động với các sự kiện và những thay đổi bất lợi, mobile agent giúp việc xây dựng hệ thống mạnh mẽ và chịu lỗi cao được dễ dàng hơn

Trang 24

2.5.6 Khắc phục tình trạng không đồng nhất

Việc xử lý tính toán trên mạng cơ bản là không đồng nhất vì sự đa dạng về phần cứng và phần mềm được sử dụng Do mobile agent độc lập với máy tính ( độc lập với phần cứng và hệ điều hành ) và tầng vận chuyển, nó chỉ phụ thuộc vào môi trường thi hành nên mobile agent cung cấp một điều kiện tối ưu cho việc liên kết các hệ thống không liên quan lại với nhau

2.5.7 Đóng gói các giao thức

Khi dữ liệu được trao đổi trong hệ thống phân tán, việc truyền và nhận dữ liệu phải được mã hóa bằng các giao thức cần thiết Các giao thức này được sở hữu bởi mỗi máy trong hệ thống Tuy nhiên, một khi các giao thức phải tiến hóa để phù hợp với những yêu cầu mới về sự bảo mật hoặc tính hiệu quả, chúng trở nên cồng kềnh, nặng nề và trở thành vấn đề nan giải Với giải pháp mobile agent, các agent có thể mang trên mình các giao thức thích hợp và di chuyển tới các máy ở xa để thiết lập các kênh truyền nhận thông tin tương ứng

2.6 Môi trường ứng dụng mobile agent

Mobile agent thích hợp với những loại ứng dụng sau:

2.6.1 Thu thập dữ liệu phân tán:

Trong trường hợp có nhu cầu truy vấn phức tạp, chuyên biệt và liên quan đến nhiều nguồn dữ liệu không đồng nhất, việc cử các mobile agent đến các nguồn tin và khai thác tại chỗ, rồi quay về với những thông tin cần thiết sẽ làm giảm tải mạng và giải quyết tốt bài toán tương thích

2.6.2 Theo dõi và thông báo tin cập nhật

Ứng dụng cổ điển này làm nổi bật bản chất không đồng bộ của các mobile agent Các agent có thể được gởi đi, đến nơi có nguồn tin và hoạt động theo dõi nguồn tin ngay cả khi người dùng ngắt kết nối Sau đó, khi nguồn tin có sự thay đổi , agent sẽ quay về báo cho chủ nhân Các agent có thể được gửi đi để chờ một dạng thông tin nào

đó xuất hiện, rồi sau đó báo cho người dùng biết hoặc tự nó có những hành động thích hợp đối với thông tin đó

2.6.3 Giám sát và phân tán thông tin

Các mobile agent là minh họa cho mô hình Internet Push, các agent có thể phổ biến tin tức và cập nhật phần mềm cho các nhà sản xuất Các agent mang các thành

Trang 25

phần phần mềm và các thủ tục cần thiết đến các máy cá nhân của khách hàng và tự cập nhật phần mềm trên máy đó Mô hình này giúp nhà sản xuất chủ động hơn trong việc phục vụ khách hàng để đảm bảo dịch vụ của mình Mặt khác, các ứng dụng lọai này cũng tỏ ra hiệu quả đối với các mạng cục bộ hay các chương trình quản lý quy trình tự động, sản xuất… để giúp người quản trị giám sát các hệ thống con

2.6.4 Xử lí song song

Do các agent có thể tạo ra các bản sao của nó trên mạng, tạo ra một ứng dụng đầy tiềm năng của agent là quản trị các tác vụ song song Một ứng dụng đòi hỏi nhiều tài nguyên bộ xử lý có thể được phân bố cho các agent mang đi thực hiện trên nhiều máy tính khác nhau để tận dụng các tài nguyên trống và cân bằng tải

2.6.5 Thương mại điện tử

Các ứng dụng thương mại điện tử cho phép người dùng thực hiện các giao dịch trong kinh doanh trên mạng Một giao dịch có thể bao gồm sự thương lượng với các thực thể ở xa và có thể đòi hỏi truy cập nguồn thông tin liên tục thay đổi Từ thực

tế đó nảy sinh nhu cầu thay đổi hành vi của các thực thể để đạt được một nghi thức chung trong việc thương lượng Hơn nữa, việc di chuyển các thành phần của ứng dụng tiến gần đến nguồn thông tin thích hợp cho giao dịch cũng được quan tâm Vì thế công nghệ mobile agent là một giải pháp rất hấp dẫn cho lĩnh vực này

2.6.6 Quản trị hệ thống mạng

Đối với những hệ thống mạng lớn, việc chẩn đoán lỗi, duy trì sự ổn định của hệ thống là các công việc rất khó khăn Việc ứng dụng mobile agent vào việc quản trị mạng sẽ giúp cho các công việc chẩn đoán lỗi và duy trì từ xa sự ổn định của hệ thống được dễ dàng hơn

2.6.7 Hỗ trợ các thiết bị di động

Do đặc điểm tài nguyên hạn chế và không kết nối thường xuyên, việc xây dựng các ứng dụng dựa trên mobile agent với khả năng di chuyển đến các máy tính có cấu hình mạnh hơn để hoạt động (truy vấn cơ sở dữ liệu, tìm tin…) rồi trả kết quả về sẽ là một giải pháp tốt cho người dùng các thiết bị di động

Trang 26

Aglets là một hệ thống Java mobile agent hỗ trợ các khái niệm thi hành tự trị và định tuyến động trên lộ trình của nó Có thể xem aglets như là một khái quát hóa và

mở rộng của applet và servlet Aglet server là chương trình cung cấp một môi trường thi hành và một máy ảo Java cho aglet hoạt động

Ngoài ra, Aglet server cũng sử dụng một trình quản lý để tiếp nhận và kiểm soát aglet một cách an toàn

Aglet API là bộ thư viện bao gồm các hàm chuyên biệt dành cho việc phát triển agent Nhờ vào Aglet API, khả năng nổi tiếng của Java là “viết một lần, thi hành bất cứ đâu” được viết lại là “viết một lần, lưu hành bất cứ đâu” Một khi aglets được tạo ra,

nó sẽ chạy trên mọi máy có hỗ trợ Aglet API mà không quan tâm đến nguồn gốc hệ điều hành và phần cứng bên dưới hay nguồn gốc cụ thể của Aglet API được cài trên máy đang chạy [2]

Trong mô hình đối tượng aglets, một mobile agent là một đối tượng di động có luồng kiểm soát riêng của nó, làm việc theo sự kiện và liên lạc với các agent khác bằng cách truyền thông điệp Aglets có một cơ chế định danh duy nhất và toàn cục dựa trên URL Aglets hỗ trợ cơ chế di động yếu (weakmobility) [2]

Các aglets giao tiếp với nhau một cách đồng nhất, và độc lập với vị trí lưu trú thông qua đối tượng proxy Suốt chu kỳ sống, các aglets sẵn sàng bắt những sự kiện (clone, mobility, persistence) phát sinh trong môi trường để có phản ứng thích hợp Agent có thể giao tiếp đồng bộ hoặc không đồng bộ thông qua các loại thông điệp: synchronous, one-way, hay future reply

Aglets sử dụng ATP (Agent Transfer Protocol) cho việc di chuyển và giao tiếp Aglets sử dụng hai loại mẫu thiết kế chính là chủ-tớ (Master-Slave) và hành trình (Itinerary) cho việc di chuyển của các agent [2]

Aglets là một trong những platform được sử dụng nhiều nhất để phát triển các

hệ thống mobile agent

Một số đề án thực hiện với Aglet có thể kể đến là

 TabiCan (http://www.tabican.ne.jp) - chợ điện tử chuyên bán vé máy bay và tour du lịch trọn gói

 Cps720 (Artificial Intelligence Topics with Agent) tại đại học Ryerson

University, Mỹ

Trang 27

 Acme – Hệ thống hỗ trợ Sales Order Processing trong việc mua bán chứng khoán, của Đại học Loughborough, Anh

2.7.2 Voyager

Voyager là một môi trường thương mại hỗ trợ phát triển các ứng dụng agent được hãng Object Space phát triển từ giữa năm 1996 Voyager đã trải qua nhiều lần nâng cấp và thay đổi từ phiên bản 1.0 cho đến bây giờ là phiên bản 4.5 Tháng

03.2002 sản phẩm Voyager được nhượng lại cho Recursion Software, một công ty chuyên về các sản phẩm viết trên C++ và Java để đảm bảo cho việc phát triển Voyager sau này Các phiên bản từ 1.0 đến 3.3 Voyager được phân phối cho các nhà phát triển như một freeware Hiện tại Voyager đã có phiên bản 4.5 Evaluation hoàn toàn tương thích với JDK1.3, JDK1.2 và JDK1.1 Phiên bản này bao gồm 6 sản phẩm, trong đó sản phẩm chính yếu dùng cho các ứng dụng mobile agent là Voyager ORB

Professional [2]

Voyager sử dụng ngôn ngữ lập trình Java với cú pháp chuẩn để tạo dựng các đối tượng ở xa một cách rất dễ dàng, cho phép các đối tượng này trao đổi thông điệp với nhau, và di chuyển các đối tượng giữa các máy tính có hỗ trợ môi trường Voyager Voyager hỗ trợ mạnh về tính di động với khả năng mang toàn bộ mã chương trình và

dữ liệu di chuyển từ máy ảo Java này sang máy ảo Java khác nếu các máy ảo có hỗ trợ Voyager Trạng thái hoạt động của agent cũng sẽ được bảo toàn và tiếp tục thực thi tại nơi agent đến

Một trong những đặc điểm nổi trội khác của Voyager là tính phổ quát Các chương trình viết trong Voyager có thể trao đổi thông tin hai chiều với các chương trình viết bằng SOAP, CORBA, RMI và DCOM Các dạng thông tin được trao đổi có thể là các lời gọi hàm từ xa, các dịch vụ đặt tên, dịch vụ thư mục Voyager có thể được xem là một cửa ngõ, một cầu nối làm cho các chương trình theo chuẩn khác trở nên liên thông với nhau Hơn nữa, tất cả các chương trình và đối tượng có thể được tổ chức thành một không gian chung, nhờ vậy việc liên lạc sẽ trở thành một–nhiều một cách tự động

Phiên bản 4.5 của Voyager đã được bổ sung thêm các tính năng rất quan trọng

hỗ trợ cho các chuẩn dịch vụ Web [2] SOAP và WSDL cũng đã được phát triển trong phiên bản này giúp cho các nhà phát triển có khả năng triển khai các ứng dụng truy cập tới các dịch vụ Web từ xa và các chương trình Voyager có thể truy cập nhau thông qua các dịch vụ Web Thế mạnh thật sự của Voyager nằm ở sự đơn giản và dễ dùng Sự

“trong suốt” hay cách mà Voyager che dấu các kỹ thuật lập trình phân tán phức tạp đã làm cho việc xây dựng các ứng dụng mobile agent trở nên dễ dàng hơn rất nhiều Việc tích hợp các công nghệ mới và các chuẩn mới vào cùng một sản phẩm tạo cho Voyager

sự hấp dẫn rất riêng biệt

Trang 28

2.7.3 Mole

Mole là hệ thống Mobile Agent được xây dựng với ngôn ngữ Java tại đại học Stuttgart (CHLB Đức) Phiên bản đầu tiên (Release 1.0) đã hoàn thành vào năm 1995, năm 1997 phiên bản Release 2.0 được hoàn thành, bản Release 3.0 được hoàn tất vào năm 1998 và đề án đã kết thúc với kết quả là môi trường ổn định để xây dựng ứng dụng theo mô hình agent trên các hệ phân tán Được xây dựng trên Java, Mole có khả năng thực thi trên tất cả các môi trường có hổ trợ JDK1.1.x (Jdk1.1.7 và Jdk1.1.8), sử dụng giao thức TCP/IP trong quá trình giao tiếp Mole hỗ trợ di chuyển yếu - weak migration [2]

Để thực hiện giao tiếp giữa các agent Mole sử dụng các cơ chế truyền thông điệp, gọi hàm từ xa RPCs, và cơ chế đặc trưng của Mole là session, badge Ngôn ngữ giao tiếp giữa các agent được Mole hỗ trợ là KQML Việc trao đổi dữ liệu giữa các agent được thực hiện theo nghi thức TCP/IP Mole cho phép đa tiểu trình/agent và quản lí tài nguyên và lập lịch các tiểu trình trong hệ thống thông qua bộ lập lịch trung tâm MCP Khả năng bảo mật của Mole được đánh giá khá tốt trong các hệ thống agent Mole tuân theo mô hình bảo mật sandbox của java

Agent trong hệ thông Mole được chia làm hai loại: user agent và system agent User agent là những agent di động được kích hoạt bởi người dùng và không thể truy cập trực tiếp tài nguyên hệ thống Ngược lại, system agent (service agent) - được khởi động bởi người quản trị - không có tính di động và được phép truy cập tài nguyên hệ thống

Môi trường Mole phù hợp cho phát triển những ứng dụng trong các lĩnh vực: Truyền thông, ứng dụng thuộc lĩnh vực hệ thống thông tin điện tử Một số ứng dụng được phát triển trên môi trường Mole: AIDA - Infrastructure for Mobile Agents, ASAP, ATOMAS, FESTIVAL (Mole office, Mole shopping), HAWK

Với hệ thống mã nguồn mở của Mole, ta có thể tiến hành cải tiến, nâng cấp những chức năng hiện có, và bổ sung những chức năng mới như các chức năng về công cụ hỗ trợ lập trình agent để Mole trở thành hệ thống agent hiện đại hổ trợ tốt cho việc phát triển các ứng dụng dựa theo mô hình agent

2.7.4 ZEUS

Zeus là môi trường do British Telecommunication phát triển để hỗ trợ xây dựng các hệ thống đa agents Ngoài các tính năng thông thường trong việc tạo lập và quản lý các agent, Zeus đặc biệt chú trọng việc hỗ trợ một phương pháp luận và một bộ công

cụ mạnh để phát triển ứng dụng đa agent trên môi trường phân tán [2]

Zeus định nghĩa một phương pháp luận để phân tích, thiết kế, triển khai hệ thống và còn kèm theo các công cụ cho phép người phát triển có thể bắt lỗi hệ thống cũng như phân tích sự thực hiện của mình Hai giai đoạn phân tích và thiết kế được

Trang 29

miêu tả chi tiết trong nhưng chưa được hỗ trợ bởi các công cụ Zeus Toolkit hỗ trợ hai giai đoạn cài đặt và bảo trì Zeus toolkit qua các công cụ Zeus Agent Generator và Zeus Agent Visualiser Zeus cung cấp nhiều Editor để định nghĩa agent và các thuộc tính của agent Code Generator sẽ tự động phát sinh mã nguồn cho agent từ những thuộc tính đã đặc tả [2]

Hai đặc tính quan trọng của các Zeus agents là tính tự trị và cộng tác Bộ phận Planner trong mỗi agent sẽ hỗ trợ agent thể hiện tính tự trị Khả năng thương lượng và cộng tác giữa các agent cũng được Zeus tích hợp vào trong toolkit thông qua một thư viện các giao thức, cùng các chiến lược thương lượng và cộng tác Do có mã nguồn

mở, người dùng có thể thêm vào thư viện này các chiến lược riêng phù hợp với ứng dụng của mình [2]

Các Zeus agent truyền thông theo point-to-point socket TCP/IP với mỗi

message là một chuỗi các kí tự mã ASCII Ngôn ngữ truỵền thông Zeus sử dụng là FIPA ACL (http://www.fipa.org) Nhằm cung cấp khả năng “hiểu” lẫn nhau cho các agent, Zeus cung cấp các công cụ cho việc định nghĩa các ontology-cơ sở khái niệm chung cho cộng đồng agent [2]

Các agent của Zeus được phân tán qua mạng và có thể thực hiện các tác vụ đồng thời Chính vì thế, việc quản lí các agent cũng là một vấn đề mà môi trường đặt

ra Visualiser của Zeus cung cấp các công cụ để kiểm tra các quan hệ giao tiếp giữa các agent, trạng thái tác vụ những agent đang thực hiện và trạng thái bên trong của agent Đồng thời, Zeus Statistic Tool cho phép người dùng so sánh các thống kê khác nhau về cộng đồng agent, chẳng hạn những loại thông điệp nào agent đã gửi và tỉ lệ là bao nhiêu, một cách trực quan dưới những dạng đồ thị khác nhau Cũng nhằm quản lí agent, Zeus cung cấp những agent tiện ích như Agent Name Server hoạt động như một Yellow Page, Facilitator như một White Page, Visualiser và Database Proxy [2]

Một hạn chế của Zeus là tuy được liệt kê vào một trong những môi trường mobile agent nhưng hiện hướng nghiên cứu về tính di động của Zeus chỉ mới ở bước đầu, chưa được cài đặt Do đó mà tính bảo mật của Zeus cho các agent hầu như không có Điều này có thể sẽ được khắc phục trong các phiên bản sau [2]

Zeus đã và đang được triển khai trong một số ứng dụng như Agent Based flow Management, PTA: Personal Travel Assistance, Personal Computer Manufacture, Agent-based Electronic Commerce, Network Management (VPNP), Home Shopping [2]

Work-2.8 Các tính năng hỗ trợ của hệ thống Mobile Agent

Để đánh giá các tính chất của một môi trường phát triển ứng dụng agent cần chú

ý nhiều đến các đặc tính của agent: tính di động, tính tự trị và khả năng bảo mật mà môi trường hỗ trợ Khi tiến đến mức phối hợp hoạt động nhằm tăng hiệu quả công việc đến mức tối đa, các agent phải có khả năng thông tin liên lạc với nhau, cộng tác, chia

Trang 30

sẻ công việc, học hỏi lẫn nhau Riêng đối với các nhà phát triển hệ thống, một phương pháp luận rõ ràng và các công cụ trực quan trong bước thiết kế, cài đặt sẽ góp phần làm tăng tốc độ phát triển hệ thống cũng như gia tăng độ tin cậy đối với sản phẩm làm

ra Vì vậy, đây cũng là một trong những tiêu chí cần được định giá

2.8.6 Phương pháp luận và công cụ phát triển agent

Mô hình agent tương đối mới mẻ, nên việc hỗ trợ các phương pháp luận giúp cho việc phân tích, thiết kế và triển khai ứng dụng cũng là một yêu cầu cần thiết Kèm theo các phương pháp luận này, những môi trường cung cấp bộ công cụ phát triển trực

Trang 31

quan luôn luôn được đánh giá cao Việc sử dụng các công cụ trực quan sẽ giảm thiểu thời gian thiết kế, cài đặt và gỡ rối cho ứng dụng Đối với tất cả các hệ thống, tiêu chuẩn hỗ trợ công cụ trực quan sẽ được chú ý ở các mức thiết kế, cài đặi và gỡ rối

2.9 So sánh các hệ thống Mobile Agents

Tính năng cơ bản của Agent

Tính di động Di chuyển yếu Di chuyển yếu Di chuyển yếu

Tính tự trị Hỗ trợ đơn

giản

Hỗ trợ đơn giản

Hỗ trợ đơn giản

Tính thích ứng

Bảo mật Sandbox Sandbox, phân

loại agent

Sandbox, Voyager Security

Khả năng giao tiếp

Mô hình cộng

tác

Space, Subspace

Giao tiếp với các agent theo chuẩn FIPA

Trang 32

2.10 Bảo đảm an ninh trên Mobile Agent

Kỹ thuật Mobile Agent cung cấp một mô hình xử lý mới mà có thể tạm ngưng việc thi hành của nó tại một host và di chuyển nó đến một host khác trên mạng Sự phức tạp của Mobile Agent gia tăng theo thời gian, vì vậy có quá nhiều mối đe dọa liên kết với nhau cùng ảnh hưởng đến vấn đề an toàn bảo mật Trong chương này sẽ cung cấp khái quát về phạm vi của các mối đe dọa đối phó với những người thiết kế Agent Platform và những người phát triển những ứng dụng dựa trên Agent Chương này cũng nhận dạng mục tiêu bảo mật chung

2.10.1 Đe dọa sự an toàn an ninh (Security Threats)

Khả năng đe dọa đối với sự bảo mật nói chung rơi vào 3 loại chủ yếu: sự phơi bày thông tin (disclosure of information), sự từ chối của dịch vụ (denial of service), sự sửa đổi làm sai lạc thông tin (corruption of information) Có nhiều cách khác nhau để khảo sát những sự đe dọa này chi tiết hơn khi chúng áp dụng đối với hệ thống Agent

Ở đây chúng ta chỉ dùng các thành phần (components) của một hệ thống Agent để phân loại sự đe dọa như là cách để nhận biết nguyên nhân và mục đích của một sự tấn công

Hình 2.7: Các hình thức đe dọa an ninh của Mobile Agent

Có nhiều mô hình hiện có cho việc mô tả hệ thống Agent, tuy nhiên đối với vấn

đề an toàn bảo mật này ta chỉ dùng một mô hình đơn giản bao gồm chỉ hai thành phần chính: Agent và Agent Platform Ở đây, một Agent gồm có mã nguồn (code) và thông tin trạng thái (state information) cần thiết để tiến hành một vài sự tính toán Tính di động cho phép một Agent có thể di chuyển giữa các Agent Platform Agent Platform cung cấp môi trường xử lý cho Agent hoạt động Agent Platform mà ở đó một Agent được hình thành được xem như là Home Platform và thông thường Home Platform được xem như là môi trường tin cậy nhất cho một Agent mà nó tạo ra Một hoặc nhiều

Trang 33

hơn các host có thể bao gồm một Agent Platform và một Agent Platform có thể hổ trợ nhiều môi trường xử lý nơi mà các Agent có thể tác động lẫn nhau

Bốn loại đe dọa được định nghĩa: đe dọa xuất phát từ sự tấn công của một Agent đến một Agent Platform, một Agent Platform tấn công một Agent, một Agent tấn công một Agent khác trong một Agent Platform và những thực thể khác tấn công vào hệ thống Agent Trong đó loại cuối cùng bao gồm các trường hợp một Agent tấn công một Agent trên một Agent Platform khác và một Agent Platform tấn công vào các Agent Platform khác Những sự tấn công này tập trung trước hết vào khả năng liên lạc của các Agent Platform để lợi dụng những tiềm năng không được bảo vệ Loại đe dọa cuối cùng cũng bao gồm nhiều sự tấn công theo tập quán chống lại hệ điều hành bên dưới của AgentPlatform

2.10.1.1 Sự tấn công từ một Agent đến Agent Platform (Agent-to-Platform)

Agent-to-Platform mô tả sự nguy hiểm khi các Agent khai thác vấn đề bảo mậtyếu ớt của một Agent nền (Agent Platform) hoặc có một sự tấn công chống lại mộtAgent Platform Vấn đề này bao gồm: mạo danh (masquerading), từ chối dịch vụ (denialof service) và truy xuất bất hợp pháp (unauthorized access)

2.10.1.2 Sự tấn công từ một Agent đến một Agent khác trong cùng một Platform

(Agent to Agent)

Agent to Agent mô tả sự nguy hiểm khi các Agent khai thác vấn đề bảo mật yếu

ớt của các Agent khác và tấn công chống lại các Agent khác Vấn đề này bao gồm: Mạo danh (masquerading), tấn công từ chối dịch vụ (denial of service), truy xuất bất hợp pháp (unauthorized access), và từ chối quan hệ giao tiếp (repudiation)

2.10.1.3 Sự tấn công từ Platform đối với Agent (Platform-to-Agent)

Loại tấn công này diễn tả một bộ các mối đe dọa mà trong đó các Agent

Platform làm tổn thương đến sự an toàn của Agent Phần này bao gồm các vấn đề: mạo danh (masquerading), tấn công từ chối dịch vụ (denial of service), nghe trộm

(eavesdropping),và sửa đổi (alteration)

2.10.1.4 Những thực thể khác tấn công vào hệ thống Agent Platform (Other-to- Agent Platform)

Sự tấn công này diễn tả một bộ các mối đe dọa mà trong đó các thực thể bên ngoài bao gồm các Agent và Agent Platform đe dọa đến sự bảo mật của Agent

Platform Các mối đe dọa là: Mạo danh (masquerading), từ chối dịch vụ (denial of service), truy xuất bất hợp pháp (unauthorized access), và sao chép và truyền lại (copy

Trang 34

and replay)

2.10.2 Những yêu cầu về an toàn, an ninh (Security Requirements)

Các người dùng trong hệ thống mạng máy tính có bốn yêu cầu bảo mật chính sau: sự cẩn mật (confidentiality), tính toàn vẹn (integrity), tính sẵn sàng (availability),

và trách nhiệm giải trình (accountability) Các người dùng của Agent và Mobile Agent cũng có các yêu cầu bảo mật giống như vậy

2.10.2.1 Sự cẩn mật (Confidentiality)

Mọi dữ liệu được chứa trên Agent Platform hay được mang theo bởi một Agent phải được giữ nguyên tính cẩn mật Agent Frameworks phải bảo đảm rằng sự liên lạc bên trong hoặc ngoài Agent Platform phải giữ nguyên tính cẩn mật Những kẻ nghe trộm có thể lấy thông tin về các hoạt động của một Agent không chỉ từ nội dung của thông điệp (message) được trao đổi mà còn từ các luồng tin nhắn (message flow) từ một Agent đến một hay nhiều Agent khác Việc giám sát các luồng tin nhắn có thể suy luận ra được các thông tin có ích mà không cần phải truy xuất vào nội dụng các tin nhắn thực đó Một Agent nghe trộm có hay một thực thể ngoài (external entity) có thể dùng các thông tin này để kiếm lợi bất chính Các Agent có thể dò tìm ra ngôn ngữ kết nối Agent (Agent Communication Language-ACL) trong cuộc đàm thoại giao dịch giữa các Agent khác, từ đó có thể suy ra ý nghĩa xa hơn từ cuộc đàm thoại đó

Các Agent di động (Mobile Agent) cũng muốn giữa kín vị trí của chúng Các Mobile Agent có thể kết nối thông qua một proxy của nó nếu nó muốn che giấu sự hiện diện trên Agent Platform Các Agent phải được phép quyết định nếu sự hiện diện của chúng được công khai một cách sẵn sàng thông qua sự chỉ dẫn của Agent

Platform, và Agent Platform có thể buộc Agent phải tuân theo các chính sách bảo mật khác nhau

2.10.2.2 Tính toàn vẹn (Integrity)

Agent Platform phải bảo vệ các Agent không được phép sửa đổi mã (code), trạng thái (state) và dữ liệu (data) của Agent Agent tự nó không thể ngăn cản các Agent Platform nguy hiểm can thiệp vào mã (code), trạng thái (state) hay dữ liệu (data), nhưng Agent có thể theo dõi được sự xâm hại này Sự hoạt động an toàn của hệ thống Mobile Agent cũng phụ thuộc vào tính toàn vẹn của chính các Agent Platform cục bộ và từ xa

Một host nguy hiểm có thể dễ dàng làm hại đến tính toàn vẹn của Mobile Agent trong khi nó đến một Agent Platform ở xa Một Agent Platform nguy hiểm có thể làm thay đổi nhỏ trong luồng thực thi mã (code) của Agent, và làm thay đổi đến kết quả tính toán mà điều này thì rất khó phát hiện

Trang 35

Một Agent Platform nguy hiểm cũng có thể gây trở ngại cho các Agent trong việc liên lạc trao đổi thông tin

Các hệ thống điều khiển truy xuất phải được đưa ra để bảo vệ tính toàn

vẹn(integrity) của Agent Platform tránh các user truy cập bất hợp pháp Các việc cố ý sửa đổi hay xâm hại đến Agent Platform bởi các user hợp pháp hay bất hợp pháp đều làm tăng khó khăn cho Mobile Agent có thể được phát hiện và loại bỏ

2.10.2.3 Trách nhiệm giải trình (Accountability)

Mỗi xử lý (process), người dùng, hay Agent trên Agent Platform phải có trách nhiệm cho các hoạt động của mình Để giữ trách nhiệm đó thì mỗi xử lý, người dùng, hay Agent phải có ID duy nhất, được xác thực, và được kiểm tra Thí dụ, các hoạt động

mà chúng phải có trách nhiệm bao gồm: truy xuất tới một đối tượng, như là một tập tin, hay làm một sự thay đổi thuộc quyền quản trị đến cơ cấu bảo mật của Agent

Platform

Trách nhiệm giải trình (accountability) yêu cầu giữ một sổ nhật ký kiểm tra (audit log) của các sự kiện bảo mật có liên quan mà các sự kiện đó đã xảy ra, và lắng nghe mỗi sựkiện và Agent hay xử lý (process) chịu trách nhiệm cho sự kiện đó Các sự kiện có liên quan đến bảo mật được định nghĩa trong chính sách bảo mật của Agent Platform, ví dụ như: tên user/Agent (user/Agent name), thời gian của sự kiện (time of event), loại của sự kiện (type of event) và thành công hay thất bại của sự kiện (success

sổ nhật ký phân tán (distributed audit log) thì phải duy trì được một khái niệm thuộc thời gian chung (globlal time) hoặc thứ tự của các sự kiện (ordering of events)

Sổ nhật ký ghi các hành động của Agent (audit log Agent actions) thì rất quan trọng xem như một trách nhiệm pháp lý Sổ ghi nhật ký (audit log) cũng rất cần thiết

và có giá trị khi AgentPlatform phải phục hồi (recover) từ một lỗi bảo mật, hay một phần mềm (software) hay phần cứng (hardware) bị lỗi Audit log thì cũng cần thiết trong trường hợp các Agent chối bỏ nhiệm vụ cho các hành động của mình và cho trách nhiệm pháp lý sau này Các cơ chế xác nhận đúng (Authentication mechanisms) cung cấp trách nhiệm cho các hành động của người dùng Các Agent phải có thể xác thực đúng ID của chúng với các Agent Platform và với các Agent khác, trong khi đó

Trang 36

các Agent Platform phải xác thực đúng ID của chúng đến các Agent và các Agent Platform khác

2.10.2.4 Tính sẵn sàng (Availability)

Agent Platform phải bảo đảm tính sẵn sàng cả về dữ liệu (data) và dịch vụ (service) cho các Agent cục bộ và Agent ở xa Agent Platform phải có thể cung cấp các điều khiển đồng thời, hỗ trợ các truy xuất đồng thời, quản lý sự đình trệ (deadblock)

Dữ liệu chia sẽ cũng phải được sẵn sàng để sử dụng, sức chứa (capacity) cũng sẵn sàng cho các dịch vụ khi cần, và các chuẩn bị về tài nguyên hợp lý và các dịch vụ đúng lúc cũng phải được thực hiện Agent Platform phải có thể phát hiện và phục hồi được từ các hỏng hóc của phần mềm và phần cứng Trong khi Agent Platform có thể cung cấp một số khả năng chịu đựng lỗi và khả năng phục hồi thiếu (fault-tolerance and fault-recovery), thì các Agent phải được yêu cầu chịu trách nhiệm cho các fault-recovery của chính nó Agent Platform phải có thể tiếp nhận được các yêu cầu của hàng trăm hay hàng ngàn các Agent đến hay Agent ở xa

2.10.3 Biện pháp đối phó (Countermeasures)

Nhiều kỹ thuật bảo mật thường dùng trong các ứng dụng phân tán đương thời, cũng có ứng dụng trong phạm vi mô hình Mobile Agent Ngoài ra, có một số mở rộng của kỹ thuật thông thường và kỹ thuật được phát minh (devised) đặc biệt cho việc điều khiển mã di động (mobile code) và nội dung có thể thực thi (executable content) mà có thể ứng dụng cho việc bảo mật của hệ thống Mobile Agent Chúng ta xem lại các biện pháp đối phó và xem như các kỹ thuật đó có thể được dùng để bảo vệ Agent Platform

2.10.3.1 Việc bảo vệ Agent Platform (Protecting the Agent Platform)

Một trong những vấn đề chính liên quan đến việc thực thi một hệ thống Agent

là việc đảm bảo rằng các Agent không thể gây trở ngại đến một Agent khác hoặc với AgentPlatform Một sự thăm dò chung để hoàn thiện điều này là thiết lập các phạm vi

cô lập cho mỗi Agent và mỗi Agent Platform và quản lý tất cả các truy xuất trong phạm vi đó

Những kỹ thuật được phát triển gần đây nhằm vào mã lệnh di chuyển (mobile code) và bảo mật trên Mobile Agent, được phát minh cho việc bảo vệ các Agent

Platform, bao gồm:

 Phần mềm dựa trên sự cô lập khuyết điểm (Software-Based Fault

Isolation)

 Sự trình diễn mã lệnh an toàn (Safe Code Interpretation)

 Đánh dấu mã lệnh (Signed Code)

Trang 37

 Sự đánh giá trạng thái (State Appraisal)

 Lịch sử đường đi (Path Histories)

 Sự kiểm chứng mang theo mã lệnh (Proof Carrying Code)

2.10.3.2 Việc bảo vệ các Agent (Protecting Agents)

Một số kỹ thuật để bảo vệ Agent bao gồm:

 Tóm lược kết quả từng phần (Partial Result Encapsulation)

 Ghi lại hành trình chung (Mutual Itinerary Recording)

 Ghi lại hành trình bằng việc tạo bảng sao và biểu quyết (Itinerary Recording with Replication and Voting)

 Lần theo dấu vết của sự thực thi (Execution Tracing)

 Sự phát sinh khóa môi trường (Environmental Key Generation)

 Xử lý chức năng mã hóa (Computing with Encrypted Functions)

 Mã lệnh khó hiểu (Obfuscated Code)

2.10.3.2.1 Tóm lược kết quả từng phần

Phương pháp này dùng để phát hiện sự can thiệp vào bởi các host nguy hiểm (malicious hosts), mà nó được tóm lược trong các kết quả của các hành động của Agent.Việc tóm lược này có thể được làm cho các mục đích khác với các cơ chế khác nhau,như là cung cấp sự cẩn mật dùng cho mã hó, hay cho tính toàn vẹn và trách nhiệm giải trình, dùng chữ ký số Thông tin đã tóm lược phụ thuộc vào những gì trên các đích của Agent (goals of Agent) Có ba phương pháp để tóm lược các kết quả:

 Cung cấp cho Agent một cách cho việc tóm lược thông tin,

 Dựa vào bảng tóm lược của Agent Platform,

 Dựa vào một sản phẩm thứ ba (third-party) để lấy bảng kết quả

Phương pháp khác cho một Agent tóm lược kết quả thông tin là dùng

PartialResult Authentication Codes (PRAC), nó bằng mật mã, sử dụng khóa mật mã kín (secretkey cryptography)

Kỹ thuật này yêu cầu Agent và nơi khởi tạo (originator) duy trì hoặc tăng thêm một danh sách các khóa kín (a list of secret keys) được dùng trong sự tính toán

PRAC Một khi một khóa (key) thì được ứng dụng để tóm lược thông tin thu thập được,Agent hủy nó (key) trước khi di chuyển đến Agent Platform kế tiếp để chắc chắn tính toàn vẹn về sau Tính toàn vẹn về sau bảo đảm rằng nếu có một trong các server đến gặp nguy hiểm thì các kết quả tóm lược đó vẫn còn đúng Tuy nhiên chỉ có nơi khởi tạo (originator) mới có thể kiểm tra những kết quả,vì không có ai khác giữ khóa kín

Ngày đăng: 25/03/2015, 09:50

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Đoàn Văn Ban, Quách Xuân Trưởng, Công nghệ đa tác tử di động và ứng dụng để thương lượng trong thương mại điện tử, Viện Công nghệ thông tin – Viện KH&CN Việt Nam Sách, tạp chí
Tiêu đề: Công nghệ đa tác tử di động và ứng dụng để thương lượng trong thương mại điện tử
2. Trần Hạnh Nhi, Lê Đình Duy, Nguyễn Đông Hà, Thái Trí Hùng, Văn Trọng Nam, Huỳnh Tấn Năng, Nguyễn Huy Thẩm, Nguyễn Thái Huy, Phan Đình Thế Huân, Hồ Thị Mỹ Huyền, Lê Văn Triều (2004), Tổng quan về Mobile Agent, Đại học Khoa học Tự nhiên, Đại học Quốc gia TP.HCM Sách, tạp chí
Tiêu đề: Tổng quan về Mobile Agent
Tác giả: Trần Hạnh Nhi, Lê Đình Duy, Nguyễn Đông Hà, Thái Trí Hùng, Văn Trọng Nam, Huỳnh Tấn Năng, Nguyễn Huy Thẩm, Nguyễn Thái Huy, Phan Đình Thế Huân, Hồ Thị Mỹ Huyền, Lê Văn Triều
Năm: 2004
3. Nguyễn Cửu Long (2006), Giáo trình thương mại điện tử, Sở Giáo dục và Đào tạo, Hà NộiTiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình thương mại điện tử
Tác giả: Nguyễn Cửu Long
Năm: 2006
4. DANNY B.LANGE, MITSURU OSHIMA (1998), Programming and Deploying Java Mobile Agents with Aglets, Addison Wesley Longman Sách, tạp chí
Tiêu đề: Programming and Deploying Java Mobile Agents with Aglets
Tác giả: DANNY B.LANGE, MITSURU OSHIMA
Năm: 1998
5. MasterCard. (1997). SET Secure Electronic Transaction specification (Book 1: Business Description). Purchase, NY: MasterCard Inc Sách, tạp chí
Tiêu đề: SET Secure Electronic Transaction specification (Book 1: "Business Description)
Tác giả: MasterCard
Năm: 1997
6. MEHDI KHOSROW-POUR (2006), Encyclopedia of E-Commerce, E- Government, and Mobile Commerce, Idea Group Reference, USA Sách, tạp chí
Tiêu đề: Encyclopedia of E-Commerce, E-Government, and Mobile Commerce
Tác giả: MEHDI KHOSROW-POUR
Năm: 2006
8. Cambridge University Press (1996), Software Agents: An Overview, Ipswich, U.K Sách, tạp chí
Tiêu đề: Software Agents: An Overview
Tác giả: Cambridge University Press
Năm: 1996
9. Rahul Jha, Mobile agents for e-commerce, KR School of Information Technology Indian Institute of Technology, Bombay, India Sách, tạp chí
Tiêu đề: Mobile agents for e-commerce
10. Sheng-Uei Guan, Sin Lip Tan and Feng Hua, A Modularized Electronic Payment System for Agent-based E-commerce, Department of Electrical &Computer Engineering National University of Singapore 10 Kent Ridge Crescent, Singapore Sách, tạp chí
Tiêu đề: A Modularized Electronic Payment System for Agent-based E-commerce
Tác giả: Sheng-Uei Guan, Sin Lip Tan, Feng Hua
Nhà XB: Department of Electrical & Computer Engineering National University of Singapore
11. Lange D (1997), Java Aglet Application Programming Interface. IBM Tokyo Research Laboratory Sách, tạp chí
Tiêu đề: Java Aglet Application Programming Interface
Tác giả: Lange D
Nhà XB: IBM Tokyo Research Laboratory
Năm: 1997
12. F. Hohl (1998), Model of Attacks of Malicious Hosts Against Mobile: Protecting Mobile Agents From Malicious Hosts, University of Stuttgart Sách, tạp chí
Tiêu đề: Model of Attacks of Malicious Hosts Against Mobile: "Protecting Mobile Agents From Malicious Hosts
Tác giả: F. Hohl
Năm: 1998

HÌNH ẢNH LIÊN QUAN

Hình 1.2: Phân loại Agent - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 1.2 Phân loại Agent (Trang 13)
Hình 2.4: Vòng đời một tác tử di động - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 2.4 Vòng đời một tác tử di động (Trang 19)
Hình 2.5: Cơ chế di chuyển của mobile agent - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 2.5 Cơ chế di chuyển của mobile agent (Trang 20)
Hình 2.6: Kiến trúc của một hệ thống mobile agent - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 2.6 Kiến trúc của một hệ thống mobile agent (Trang 21)
Hình 2.7: Các hình thức đe dọa an ninh của Mobile Agent - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 2.7 Các hình thức đe dọa an ninh của Mobile Agent (Trang 32)
Hình 3.1:  Kiến trúc của mô hình SAFER - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 3.1 Kiến trúc của mô hình SAFER (Trang 52)
Hình 3.2: Giao thức thanh toán của hệ thống thanh toán nhà hàng - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 3.2 Giao thức thanh toán của hệ thống thanh toán nhà hàng (Trang 53)
Hình 3.3: Cài đặt hệ thống thanh toán nhà hàng - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 3.3 Cài đặt hệ thống thanh toán nhà hàng (Trang 54)
Hình 3.4: Vòng đời Aglet - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 3.4 Vòng đời Aglet (Trang 57)
Hình 3.5: Aglet API - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 3.5 Aglet API (Trang 58)
Hình 3.6: Kiến trúc Aglet - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 3.6 Kiến trúc Aglet (Trang 60)
Hình 3.7:  Máy chủ aglet phía khách hàng - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 3.7 Máy chủ aglet phía khách hàng (Trang 61)
Hình 3.11: Màn hình đăng nhập - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 3.11 Màn hình đăng nhập (Trang 69)
Hình 3.12: Màn hình thanh toán - Mobile agent và ứng dụng trong thanh toán điện tử
Hình 3.12 Màn hình thanh toán (Trang 70)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w