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