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 mobile agent và ứng dụng
trong các giao dịch điện tử” 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ử.
23 trang |
Chia sẻ: tuandn | Lượt xem: 2276 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Tóm tắt Bảo mật Mobile Agent và ứng dụng trong các giao dịch điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------
Nguyễn Tiến Đạt
BẢO MẬT 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
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI – 2013
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS. Phạm Thế Quế
Phản biện 1: ……………………………………………………………………………
Phản biện 2: …………………………………………………………………………..
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: ....... giờ ....... ngày ....... tháng ....... .. năm 2013
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
1MỞ ĐẦ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 mobile agent và ứng dụng
trong các giao dịch điện tử” 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ử.
2CHƯƠNG 1 - TỔNG QUAN VỀ MOBILE AGENT
1.1 Mở đầu
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 (Remote Procedure Call-RPC). 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 của mình 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 tiến bộ hơn
là Remote Evaluation (REV) do Stamos và Gifford đưa ra vào năm 1990. Trong mô
hình REV, 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. Mobile agents là mô hình tiến hóa tiên tiến nhất so với các mô hình trước đó.
Hình 1 cho thấy sự khác biệt của Mobile agents so với RPC và REV
Hình 1.1: Sự tiến hóa của mô hình mobile agent
31.2 Khái niệm về mobile agent
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ừ 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 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.
1.3 Các đặc tính của mobile agent
Tính tự trị (autonomous)
Tính di động
Tính thích ứng
Khả năng cộng tác
1.4 Nguyên lý hoạt động của mobile agent
1.4.1 Hỗ trợ cho các tác vụ đã dis-connect
Không giống với mô hình client/server, các agent tiếp tục hoạt động khi đã dis-
connect. Đối với các agent di chuyển vào hoặc ra khỏi laptop, hướng tiếp cận cổ điển
thường thất bại.
Để khắc phục vấn đề này, hệ thống docking laptop thành lập với mỗi laptop sẽ
thường trực kết nối với mỗi máy dock. Tất cả các máy sẽ có một agent dock – master.
4Hình 1.2 Hệ thống laptop-docking
1.4.2 Hỗ trợ việc chọn hướng di chuyển
Thế giới các agent là biến động và không chắc chắn. Các máy có thể hoạt động và
không hoạt động, thông tin có thể thay đổi và các máy đích mà agent cần di chuyển tới để
hoàn thành việc thu thập thông tin thường là không biết trước ở thời điểm agent hoạt động.
Một agent tự quản trị sẽ khập khiễng nếu agent không nhận biết dược trạng thái thế giới bên
ngoài nó. Vì nó không có một cách thức nào để nhận biết và thích nghi với những thay đổi
trong môi trường của nó. Trong phần này, ta sẽ mô tả phần cảm ứng (sensor) cho phép một
agent xác định được trạng thái bên ngoài của nó và một cơ chế sử dụng phần cảm ứng này
cho sự di chuyển thích ứng.
Network sensing
Network sensing là khả năng cho laptop phát hiện trạng thái kết nối mạng bên
ngoài của nó – là một phần của hệ thống laptop – docking đã mô tả ở phần trước.
Tuy nhiên, nó còn thực hiện nhiệm vụ quan trọng hơn nữa khi cung cấp cho các
agent thông tin về thời gian cần thiết quá cảnh trên mạng, và site nào có thể tới
được. Thông tin này cho phép các agent thích nghi với điều kiện mạng thay đổi.
5Khảo sát 1 agent cần tới tài nguyên của một số site. Một agent thông mình phải
thích ứng với một thực tế là một số site hiện tại không thể tới được, và nên tới
site khác. Một agent thông mình hơn có thể lập kế hoạch site nào tới trước, site
nào tới sau dựa vào việc đánh giá độ trễ của mạng hiện tại của mỗi site.
Navigation agent
để định vị các agent khác mà có thể phục vụ được nhu cầu của chúng, các agent
cần tham khảo tới 1 bảng chỉ mục động chứa các agent dịch vụ và vị trí của
chúng. Hệ thống này gọi là trang vàng ảo giúp đỡ các agent di chuyển đến đâu.
Các trang vàng này chứa danh sách các dịch vụ và vị trí của chúng. Qua tham
khảo dịch vụ navigation và sử dụng công cụ network sensing. Các agent có thể
hoạch định hướng di chuyển thích ứng đến các dịch vụ.
1.5 Công cụ phát triển mobile agent
Hiện nay có nhiều hệ thống tác tử di động đã được các công ty, tổ chức danh tiếng xây
dựng như Aglets của IBM, Voyager của Object Space, Mole của Đại học Stuttgart (Đức),
Telescript của General Magic, JADE của Telecom Italia Lab, Concordia của Mitsubishi
Electric Lab, …
Mỗi hệ thống đều được sử dụng cho các mục đích riêng, trong các lĩnh vực ứng dụng
khác nhau. Đa số các hệ tác tử di độngs sử dụng Java để hỗ trợ phát triển ứng dụng nhưng
mỗi hệ thống có đặc thù riêng của nó.
1.5.1 Java – ngôn ngữ hiệu quả dùng để phát triển tác tử
Có nhiều yêu cầu về công nghệ để cài đặt các hệ tác tử di động. Cơ bản bao gồm
các yêu cầu về cấu trúc của phương tiện tính toán, môi trường mà các tác tử đó hoạt động.
Các host phải được thiết kế, cài đặt và triển khai không chỉ cho phép các tác tử thực hiện
mà còn phải thực hiện một cách an toàn. Hiện nay, chưa có một hệ thống nào có thể đáp
ứng được hoàn toàn các yêu cầu đề ra cho một hệ tác tử di động. Java do Sun Microsystem
phát triển được xem là môi trường tốt nhất hiện nay chứa những đặc tính cần thiết cho
việc xây dựng các hệ thống tác tử di động. Java là một ngôn ngữ lập trình hướng đối
tượng cho mạng hay được gọi là ngôn ngữ của Internet. Một số đặc điểm (như độc lập với
môi trường, nạp lớp động, lập trình đa luồng, hỗ trợ đối tượng phân tán, tuần tự hoá đối
6tượng, thi hành an toàn, …) cho thấy Java là một ngôn ngữ hiệu quả dùng cho lập trình các
tác tử.
1.5.2 Công cụ phát triển Aglets Workbench.
Aglets Workbench được xây dựng và phát triển bởi D.B.Lange và IBM Tokyo
Research Laboratory. Aglets Workbench bao gồm: bộ công cụ phát triển aglets (ASDK) và
platform để các aglet thi hành trên đó. Hiện nay bộ Aglets Software Development Kit
(ASDK) do IBM phát triển đã dừng lại ở phiên bản 1.1beta3 trên nền JDK1.1. Phiên bản
mới nhất của ASDK là 2.0.2 do SourceForge phát triển trên nền JDK1.3
1.6 Lợi ích cùa mobile agent
Có bảy lợi ích chính đối với việc ứng dụng mobile agent:
1.6.1 Giảm tải mạng
Kỹ thuật mobile agent cho phép người dùng đóng gói cuộc hội thoại, 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ư thế sẽ góp phần làm giảm những
dòng dữ liệu thô trên mạng ; và như thế, tải mạng sẽ giảm đáng kể. Phương châm thực hiện của
kỹ thuật mobile agents là: mang xử lý đến nơi chứa dữ liệu hơn là mang dữ liệu về chỗ xử lý.
1.6.2 Khắc phục sự trễ mạng
Mobile agents tỏ ra hữu ích trong việc khắc phục độ trễ nhờ vào việc các agent có thể
được gửi đi từ mộ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.
1.6.3 Đóng gói các giao thức
các agents 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.
1.6.4 Thi hành không đồng bộ và tự trị
Giải pháp mobile agents giải quyết vấn đề này bằng cách nhúng tác vụ cần thực hiện vào
agent, rồi gửi lên mạng. Sau khi được gửi đi, agent trở nên độc lập thi hành không đồng bộ và
có khả năng tự trị. Các thiết bị di động sau đó có thể kết nối trở lại để đón agent về.
71.6.5 Thích ứng nhanh
Các agent có khả năng cảm nhận những thay đổi của môi trường thi hành và tác động trở
lại những thay đổi ấy một cách tự động. Việc thay đổi của agent sẽ xử lý các vấn đề ngày càng
hiệu quả hơn, khắc phục được những vướng mắc trước đó.
1.6.6 Khắc phục tình trạng không đồng nhất
Do mobile agent độc lập với máy tính (phần cứng và hệ điều hành) và tầng vận chuyển,
chỉ phụ thuộc vào môi trường thi hành, nên chúng 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 gì lại với nhau.
1.6.7 Mạnh mẽ và có khả năng chế ngự lỗi cao
Khả năng phản ứng lại của mobile agent đối với các tình huống và sự kiện không thuận
lợi. Vì vậy làm cho nó dễ xây dựng các hệ thống phân tán tự sửa sai. Nếu có một host bị tắt, tất
cả các agent thực hiện trên máy đó sẽ được cảnh báo và có một khoảng thời gian để di chuyển
qua host khác và tiếp tục thực hiện phép toán trên host khác.
1.7 ỨNG DỤNG MOBILE AGENT
1.7.1 Thu thập thông tin 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 qua đến nhiều
nguồn dữ liệu phân tán, không đồng nhất, việc cử các tác tử di động di chuyển đến các
nguồn tin để khai thác tại chỗ và cuối cùng là quay về với những thông tin cần thiết sẽ cho
phép giảm tải mạng và giải quyết tốt hơn bài toán tương thích
1.7.2 Quản trị hệ thống mạng
Đối với những hệ thống mạng lớn, việc chuẩ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 tác tử di động 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.
1.7.3 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 tác tử di động với khả năng di chuyển đến các máy tính có cấu hình
8mạ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.
1.7.4 Thương mại điện tử
Mobile agent rất phù hợp với thương mại điện tử. Mobile agent có thể giúp chúng ta
từ việc lựa chọn hàng hóa, đặt đơn hàng cho đến thanh toán tiền.
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ệ tác tử di động là
một giải pháp rất hấp dẫn cho lĩnh vực này.
Kết luận chương:
Chương này đã đề cập đến các khái niệm cơ sở của mobile agent, đó là các agent có
thêm đặc tính di động. Qua đó mobile agent mang đến nhiều lợi ích như: giảm tải mạng,
khắc phục độ trễ, thi hành tự trị và không đồng bộ. Từ những lợi ích này mà mobile agent
được ứng dụng trong các lĩnh vực như thương mại điện tử, thu thập thông tin phân tán,
Quản trị hệ thống mạng, Hỗ trợ các thiết bị di động, phổ biến thông tin, xử lý song song,
theo dõi và thông báo, đóng vai trò người trợ lý.
9CHƯƠNG 2: NHỮNG VẤN ĐỀ BẢO MẬT TRONG MOBILE
AGENT
2.1 Đặt vấn đề
Vấn đề bảo mật là một trong những nhân tố quan trọng của công nghệ mobile agent.
Giống như các chương trình được tải về từ mạng, mobile agent là mối đe dọa tiềm tàng cho
bất kỳ hệ thống nào. Không những thế, chúng còn được trưng ra bởi các hệ thống chứa
chúng, một tính huống chưa được giải quyết bởi các hệ thống an toàn truyền thống. Sự thiếu
vắng một cơ chế an toàn đơn giản nhưng toàn diện sẽ làm người dùng không mặn mà cho
việc sử dụng các agent cũng như cho các agent thi hành trên các máy tính của họ. Từ đó
việc triển khai các ứng dụng của mobile agent sẽ không được mở rộng. Phần này, sẽ trình
bày về vấn đề bảo mật trong mobile agent.
2.2 Các phương thức tấn công trong mobile agent
Ta chia các dạng tấn công đối với agent và các máy chứa chúng thành hai loại chính:
- Tấn công tiêu cực
- Tấn công tích cực
2.2.1 Các dạng tấn công tiêu cực
Các dạng tấn công tiêu cực thường tấn công vào sự liên lạc giữa các hệ agent và các
agent đang được di chuyển trên mạng. Bởi vì không có sự thay đổi nào đối với các agent
nên các dạng tấn công này thường khó dò ra manh mối. Để tự bảo vệ mình, người sử dụng
phải sử dụng mật mã. Ta hãy xem xét hai dạng tấn công tiêu cực sau:
Nghe trộm
Phân tích sự chuyển động
2.2.2 Các dạng tấn công tích cực
Các dạng tấn công tích cực chứa đựng nhiều nguy cơ đe dọa sự an toàn trải từ những
thay đổi đơn giản dữ liệu của agent tới việc đưa các agent phá hoại vào các server. Sau đây
là một số kiểu tấn công tích cực
Truy cập bất hợp pháp
10
Giả mạo
Trojan
Sự sửa đổi
Làm lại
Làm cạn kiệt tài nguyên
Sự phủ quyết
2.3 Những trường hợp có thể gây lỗi
Giả sử bạn gửi một agent đặt chỗ vé máy bay tới văn phòng bán vé. Điều mạo hiểm ở
đây là gì? Trước tiên, agent của bạn có thể bị giả mạo. Hậu quả là nó sẽ trả về kết quả sai.
Ví dụ như nó có thể báo cáo với bạn rằng việc đặt chỗ đã hoàn thành nhưng thực tế thì
không phải vậy. Một máy phá hoại cũng có thể ăn trộm và sử dụng các thông tin bí mật từ
agent của bạn. Thậm chí ghê gớm hơn, một người nào đó, một người nào đó có thể giả mạo
agent của bạn để gây hại máy ở xa mà nó ghé đến. Trong trường hợp đó, bạn có thể bị hạn
chế việc sử dụng các dịch vụ trong tương lai. Làm thế nào để bạn chứng tỏ là mình vô tội?
Trên đây là một số ví dụ những gì có thể gây lỗi cho các mobile agent. Chúng ta có
thể chia các nguy cơ đe dọa an toàn từ mobile agent thành các loại sau.
2.3.1 Sự bảo vệ agent
Các máy ở xa đe dọa agent
Agent đe dọa agent khác
Kẻ lạ mặt đe dọa agent
2.3.2 Sự bảo vệ máy phục vụ
Các agent đến đe dọa các máy phục vụ
Kẻ lạ mặt đe dọa các máy
2.3.3 Sự bảo vệ hệ thống mạng
Agent đến đe dọa hệ thống mạng
11
2.4 Các dịch vụ an toàn
Các dịch vụ an toàn đóng vai trò rất quan trọng nếu muốn bảo vệ các agent và các
server của bạn không bị tấn công. Sau đây là danh sách các dịch vụ có sẵn cho các hệ thống
an toàn của agent
2.4.1 Xác nhận
Trước khi chấp nhận một agent đến, chúng ta cần phải biết ai là người gửi nó. Quá
trình này bao gồm kiểm tra sự tồn tại của thực thể phát triển agent và thực thể hiện thực của
nó và gửi nó cho chúng ta. Trước khi gửi một agent, chúng ta cũng phải gửi server đích thực
sự là server mà nó nói chuyện không?
Xác nhận người dùng
Xác nhận máy
Xác nhận máy thi hành
Xác nhận agent
2.4.2 Tính toàn vẹn
Để tin tưởng một agent, chúng ta cần chắc rằng không có agent nào bị xâm phạm
trạng thái và mã thi hành của nó. Kiểm tra tính toàn vẹn của agent là kỹ thuật để chúng ta
kiểm chứng rằng không có sự thay đổi bất hợp pháp nào đối với trạng thái và mã thi hành
của agent
2.4.3 Bảo mật
Một agent có thể mang các thông tin mật chỉ được dùng cho các server hay các agent
xác định nào đó mà thôi. Những thông tin như vậy cần được giữ bí mật đối với các server và
các agent khác. Một agent có thể yêu cầu server chuyển chúng theo cách bí mật để giảm
thiểu mối đe dọa bị nghe trộm.
2.4.4 Cấp phép
Một agent đến cần cấp cho một quyền truy cập các thông tin tùy vào chủ nhân của
nó. Sự cấp phép truy cập, là cách để xác định khả năng của agent có thể truy cập các thông
tin hay sử dụng các dịch vụ cung cấp bởi server.
12
2.4.5 Không chối bỏ
Một agent hay server không thể phủ nhận một sự trao đổi, liên lạc đã xảy ra. Việc
không chối bỏ của agent hay server đảm bảo cho tính toàn vẹn của dữ liệu.
2.4.6 Kiểm toán
Dịch vụ kiểm toán ghi lại các hoạt động liên quan đến an toàn của một agent phục vụ
cho việc kiểm tra lại sau này.
2.5 Các vấn đề liên quan đến sự bảo vệ agent
Dễ dàng nhận ra rằng vấn đề an toàn cho agent có một số hạn chế cố hữu. chúng ta sẽ
xem xét vấn đề này theo hai quan điểm:
Bảo vệ agent
Bảo vệ máy chủ
2.5.1 Sự thi hành agent
Nên nhớ rằng agent hoàn toàn nằm trong tay server chứa nó. Mặc dù chúng ta thường
đòi hỏi agent phải tự trị, chúng không phụ thuộc vào các bộ xử lý mà thi hành chương trình
của chúng. Server hoàn toàn chịu trách nhiêm trong việc thi hành các agent, và agent được
rời khỏi server dù cho nó có được thi hành đúng hay không. Server cũng có thể cung cấp
cho agent các thông tin sai lệch làm lệch hướng nó.
2.5.2 Các thông tin agent cần bảo mật đối với server
Vì tất cả các thông tin cần cho việc xử lý một agent phải là đọc được đối với server,
server có tiềm ẩn khả năng ăn trộm, xâm phạm hay tiết lộ bất kỳ thông tin nào của agent.
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
Thậm chí ngay cả khi bạn mong rằng agent của bạn được bảo vệ trước các agent
khác, server có thể cho phép các agent khác lấy thông tin từ agent của bạn. Các agent khác
cũng vậy, nếu được phép bởi server, xâm phạm một agent đã cho. Điều này có nghĩa rằng
nếu bạn không tin tưởng một server, bạn không thể mong đợi những biện pháp an toàn cho
agent của bạn khi nó ghé tới. Nếu bạn muốn thi hành an toàn, bạn nên gửi agent đến những
server mà bạn tin tưởng.
13
2.6 Các vấn đề liên quan đến sự bảo vệ máy chủ
Giả sử rằng bạn là nhà quản trị server giao dịch cho phép các agent ghé đến truy cập
cơ sở dữ liệu các sản phẩm. Nếu một người nào đó gửi một agent đến một server và bạn
thấy rằng agent trình ra chủ sở hữu hợp pháp, bạn mong muốn rằng nó không phá hoại
server và thi hành các tác vụ của nó theo cách đã dự định từ trước và đáng tin cậy. Với vai
trò là người chịu trách nhiệm cho server, chúng ta cần xem xét các vấn đề sau:
2.6.1 Agent giả dạng như là một người dùng được tin tưởng
Dù các hành động bởi một agent đã cho được điều khiển bởi quyền của chủ sở hữu,
nên rất quan trọng khi agent trình ra chủ sở hữu đúng của nó. Nếu một agent ghé đến giả
dạng như là một agent được tin tưởng, nó có thể làm bất cứ việc gì mà một người dùng được
tin tưởng thực hiện.
Nếu bạn chỉ muốn biết người nào đã tạo ra chương trình agent, điều này rất đơn giản.
Chữ ký điện tử có thể chứng minh một cách hiệu quả nhận dạng của nhà sản xuất hoặc của
nhà lập trình. Tuy nhiên kỹ thuật này không thể áp dụng cho trạng thái của agent bởi vì
trạng thái sẽ luôn thay đổi trong thời gian tồn tại của nó. Sẽ không có cách nào để kiểm tra
trạng thái hiện hành, bởi vì nó là kết quả của sự thi hành chương trình, do đó rất khó để xác
định.
2.6.2 Agent bị can thiệp, xâm phạm
Các biện pháp này không chỉ can thiệp đến mã của agent mà còn sửa đổi trạng thái
của agent. Giả sử rằng bạn gửi agent đến các site ở xa để thi hành một câu truy vấn cơ sở dữ
liệu. Nếu site đích đơn giản đổi thông tin của server đích của agent và server nguồn và gửi
lại nó cho server mà nó xuất phát, agent có thể lấy thông tin từ các cơ sở dữ liệu của bạn
trước khi nó quay trở về server đích. Ngoài ra, nếu bạn muốn thẩm tra một chương trình,
điều này thật đơn giản. Nhưng nếu bạn muốn thẩm tra trạng thái theo cách thông thường,
điều này rất khó. Một giải pháp thường gặp là tiếp cận theo tổ