Tải bản đầy đủ (.pdf) (23 trang)

Bảo mật mobile agent và ứng dụng trong các giao dịch điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 23 trang )

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




1
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 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ử.
2
CHƯƠ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

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

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

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
3
1.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

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.
4
Hì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.
5
Khả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
6
tượ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ề.
7
1.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
8
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.
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ý.
9
CHƯƠ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ổ chức. Theo cách này, bạn tạo
một nhóm server tin tưởng lẫn nhau. Bất kỳ server nào trong nhóm phải được xác nhận như
là thành viên của nhóm đó để liên lạc và gửi agent tới một thành viên khác trong nhóm.
14
2.6.3 Agent vượt quá quyền hạn của nó và làm hại đến server
Thậm chí ngay khi agent trình mà nhận dạng đúng, vẫn còn những nguy cơ bị tấn
công. Chương trình có thể bị xâm hại để thâm nhập bất hợp pháp tới các thông tin cá nhân
hay một agent lỗi có thể làm hại server.
Như chúng ta đã đề cập, bạn có thể sử dụng chữ ký điện tử để thẩm tra rằng không có
những mưu hại xâm phạm agent. Việc thẩm tra này, tuy nhiên không đảm bảo các hành

động của agent và không đảm bảo cho các hệ agent khỏi truy cập bất hợp pháp. Do đó, hệ
thống agent phải được trang bị các thuộc tính sau:
 Diễn đạt an toàn
 Thi hành việc xác nhận
2.7 Mô hình an toàn của Aglet
Mô hình này hõ trợ các định nghĩa về các chính sách an toàn và mô tả cách làm thế nào
và ở đâu hệ thống an toàn Aglet thi hành các chính sách này.
Chúng ta bắt đầu bằng mô tả các chủ nhân của mô hình này, nghĩa là các thực thể mà
mã nhận dạng của nó phải được xác nhận. Sau đó chúng ta sẽ đề cập đến tiến trình xác nhận,
rồi kết thúc bằng việc mô tả cơ chế kiểm soát truy nhập. Cơ chế này định nghĩa chính sách
cho phép những gì aglet được làm và không được làm.
2.7.1 Các chủ sở hữu
Mô hình này đưa ra năm chủ sở hữu cơ bản:
 Aglet
 Chủ sở hữu Aglet
 Người tạo ra aglet
 Ngữ cảnh thi hành
 Miền và quyền truy cập trên miền
2.7.2 Sự cấp phép
Sự cấp phép định nghĩa khả năng thi hành aglet bằng cách đặt các giới hạn lên các tài
nguyên mà aglet sử dụng. Một sự cấp phép bao gồm một tài nguyên, như là một tập tin cục
bộ, kết hợp với các hành động tương ứng như là đọc hay ghi lên tập tin, đọc port mạng hay
15
là tạo một cửa sổ trên màn hình. Một cú pháp trừu tượng cho sự cấp phép trong Aglet dựa
trên cách giải quyết của JDK 1.2, [permission name action].
2.7.3 Các biện pháp bảo vệ
Mặc dù aglet có thể được cấp quyền truy cập tới một tài nguyên hay một aglet khác,
nó cũng có thể muốn bảo vệ chính nó khỏi các truy cập từ các thực thể khác.
2.7.4 Chính sách an toàn và thi hành
Tất cả các thân chủ mà chúng ta đã đề cập có thể được dùng để định nghĩa các chính

sách an toàn. Một chính sách an toàn được mô hình bằng một tập các luật chứng tỏ bằng các
thân chủ và bằng các đặc quyền. Tập tin định nghĩa chính sách an toàn của aglet dựa trên
JDK 1.2
Một chính sách an toàn bao gồm một cá nhân hay tổ chức có trách nhiệm đối với các
tài nguyên được sử dụng bởi các thực thể khác.
Kết luận chương
Vấn đề an toàn là một trong những nhân tố quan trọng của công nghệ mobile agent.
Việc nghiên cứu về các biện pháp an toàn đảm bảo tính khả thi khi triển khai các ứng dụng
dựa trên công nghệ này. Có thể chia các biện pháp an toàn thành hai dạng chính đó là: an
toàn cho các mobile agent và an toàn cho các máy phục vụ.
Mối đe dọa đầu tiên mà các mobile agent gặp phải là khi chúng đang di chuyển trên
mạng. Chúng có thể bị đánh cắp các thông tin mật dành riêng, hay có thể bị can thiệp vào
nội dung bên trong để làm thay đổi hoàn toàn hoạt động của mình. Mối đe dọa tiếp theo đến
từ các môi trường thi hành mà mobile agent hoạt động trong đó. Các máy này có thể làm sai
lệch các dịch vụ mà agent đòi hỏi, hay thăm dò để ăn cắp thông tin, …Ngoài ra các mobile
agent còn phải đối đầu với các nguy cơ phá hoại thông tin và ăn cắp từ các agent khác.
Máy phục vụ một mặt cung cấp các dịch vụ cho các mobile agent hoạt động, mặt
khác phải bảo vệ nó khỏi bất kỳ cuộc tấn công nào của các mobile agent hoạt động trong đó.
Các mobile agent có thể lợi dụng các dịch vụ mà máy phục vụ cung cấp, cũng như những
sơ hở trong biện pháp bảo vệ để truy cập bất hợp pháp và phá hoại tài nguyên dành riêng
của hệ thống, cũng như phá hoại các mobile agent khác đang hoạt động trong cùng một môi
trường thi hành.
16
Các biện pháp an toàn cho các hệ thống mobile agent kế thừa từ các biện pháp an
toàn cho các hệ thống phân tán hiện có như sử dụng hệ thống an toàn SSL khi di chuyển
cũng như sử dụng các biện pháp mã hóa dữ liệu an toàn như mã hóa công khai,…Đối với
các máy phục vụ cần phải đưa ra các chính sách an toàn bao gồm xác nhận người dùng, xác
nhận máy gửi agent đi, định các quyền truy cập trên các tài nguyên cũng như các dịch vụ mà
nó cung cấp.
17

CHƯƠNG 3: ỨNG DỤNG BẢO MẬT MOBILE AGENT TRONG
CÁC GIAO DỊCH ĐIỆN TỬ
3.1 Đặt vấn đề
Giao dịch trên mạng đang phát triển mạnh mẽ nhờ các đặc tính thuận lợi của nó. Tuy
nhiên giao dịch trên mạng vẫn còn bị dè dặt bởi sự an toàn của nó khi mà các gian lận hay
các cuộc tấn công giao dịch ngày càng tăng và tinh vi hơn. Trong chương này, chúng ta sẽ
cùng tìm hiểu về việc bảo mật mobile agent nhằm làm tăng tín an toàn và tin cậy của các
giao dịch điện tử.
3.2 Bảo mật trong giao dịch mua bán trực tuyến
Dựa trên mô hình tác tử di
động, một hệ thống thương mại điện tử cơ bản bao gồm
hai module chính:
- Hệ thống bán
- Hệ thống mua.
Các tác tử bán đưa ra các sản phẩm và dịch vụ của nhà cung cấp. Tác tử này tĩnh và
nằm ở bên trong site của nhà cung cấp. Các tác tử mua thu thập thông tin từ các tác tử bán.
Chúng có khả năng di động để di
chuyển từ site của nhà cung cấp này sang site của
nhà cung cấp khác. Các tác tử mua có khả năng giao tiếp với các tác tử bán
bằng các truy
vấn SQL đến CSDL thông qua giao diện JDBC.
3.3 Bảo mật trong giao dịch đấu giá trực tuyến
Hệ thống đấu giá trực tuyến bao gồm ít nhất hai phần tử đó là
- Node đấu giá
- Node mua
Node đấu giá cung cấp sản phẩm dịch vụ để đem đấu giá trên mạng và cung cấp các
thông tin, thuộc tính, quy định của sự kiện đấu giá đó.
Node mua có thể từ 1 đến nhiều phần tử. node mua do bên mua cử đến để tham dự
buổi đấu giá với mục đích mua được sản phẩm dịch vụ trên theo các tiêu chí do bên mua
cung cấp trước. Sau buổi đấu giá kết thúc, node mua sẽ quay trở lại vị trí ban đầu và cung

cấp thông tin về buổi đấu giá cho bên mua.
18
Các nguy cơ mất an toàn trong quá trình mua bán trực tuyến bao gồm việc:
- Mất an toàn khi mobile agent bên mua GetListChild và BuyerChild di chuyển trên mạng.
Chúng sẽ phải đối mặt với các nguy cơ như mất thông tin hay bị can thiệp vào nội dung của
các mobile agent này.
Biện pháp đảm bảo an toàn là sử dụng SSL (Secure Socket Layer):
Khi Website gởi cho trình duyệt một chứng chỉ SSL, Trình duyệt sẽ gởi chứng chỉ
này đến một máy chủ lưu trữ các chứng chỉ số đã được phê duyệt. Các máy chủ này được
thành lập bởi những công ty uy tín như GlobalSign, VeriSign.
Về mặt kỹ thuật, SSL sử dụng mã hóa công khai. Kỹ thuật này giúp cho Website và
Trình duyệt tự thỏa thuận một bộ khóa sẽ dùng trong suốt quá trình trao đổi thông tin sau
đó. Bộ khóa sẽ thay đổi theo trong mỗi lần giao dịch kế tiếp, một người khác sẽ không thể
giải mã ngay cả khi có được dữ liệu của máy chủ lưu trữ chứng chỉ số nói trên.
- Mất an toàn trên môi trường thi hành mà agent hoạt động trong đó. Nguy cơ xảy ra đó là
việc làm sai lệch các dịch vụ mà agent đòi hỏi hay việc thăm dò để ăn cắp thông tin của
mobile agent
Biện pháp đảm bảo an toàn đó là việc xác nhận máy chủ mà agent sẽ di chuyển tới,
sử dụng các mã khóa an toàn để xác thực tính tin cậy của máy chủ, website đó.
Ngoài ra, để đảm bảo cho agent không gây hại cho máy chủ phục vụ thì cần thực
hiện định các quyền cho agent ghé đến một host bán, quyền này bao gồm quyền truy cập các
tài nguyên và quyền với các dịch vụ mà nó cung cấp.
3.4 Bảo mật trong giao dịch thanh toán qua mạng
Trong thanh toán qua mạng, thì mobile agent có nhiệm vụ di chuyển đến máy chủ
thanh toán của nhà cung cấp hàng hóa. Để đảm bảo bảo mật này, thì hệ thống bảo mật cần
bảo vệ các agent gửi đi thanh toán cần đảm bảo không bị làm sai lệch thông tin mà nó đang
mang theo, cũng như bảo mật thông tin này không bị câu trộm trong hành trình của mobile
agent.
Khi mobile agent di chuyển đến site để làm tác vụ thanh toán, cần bảo mật cho nền
tảng để xác thực mobile agent chuyển đến xuất phát từ một host an toàn. Ngược lại mobile

19
agent cũng cần xác thực nền tảng nó di chuyển đến là tin cậy, việc xác thực dựa vào áp dụng
mã hóa an toàn như đề cập ở mục 4.2 và 4.3.
Nền tảng tại site thanh toán, khi phát hiện một mobile agent không tin cậy, nó sẽ từ
chối phục vụ agent này nhằm bảo mật cho hệ thống thanh toán của nhà cung cấp. Và khi
agent thanh toán di chuyển đến site thanh toán và phát hiện site thanh toán không tin cậy để
thực hiện tác vụ được gán thì nó sẽ quay trở lại vị trí xuất phát để đảm bảo việc thanh toán
không bị sai lệch.
3.5 Demo chương trình ứng dụng chữ ký điện tử trong thanh toán trực tuyến
Hiện nay, thanh toán trực tuyến đang được áp dụng và sử dụng ngày càng rộng rãi
trong đời sống và xã hội bởi thanh toán trực tuyến ngày càng thể hiện được sự tiện lợi cho
cả bên thanh toán và bên nhận thanh toán.
Ví dụ: chỉ cần ngồi nhà, ta có thể dễ dàng thanh toán cho các hợp đồng điện, nước,
bảo hiểm, hóa đơn mua hàng… Rõ ràng, với phương thức thanh toán này, chúng ta đã tiết
kiệm được rất nhiều thời gian, công sức và tiền bạc so với phương thức thanh toán tiền mặt
tận nơi.
Với bên nhận thanh toán, họ cũng nhận thấy sự tiện lợi. Vì so với phương thức nhận
thanh toán bằng tiền mặt: họ không tốn nhiều nhân công để đảm nhận công việc kiểm đếm
tiền mặt, tiết kiệm được thời gian và không gian.
Tuy nhiên, giao dịch thanh toán đang phải đối mặt với nhiều nguy cơ gây gại cho bên
thanh toán và bên nhận thanh toán. Các nguy cơ bao gồm: việc đánh cắp thông tin quan
trọng, giả mạo. Để tăng tính bảo mật và an toàn cho giao dịch thanh tóan điện tử, một trong
những biện pháp đó là áp dụng chữ ký điện tử vào trong giao dịch.
3.5.1 Chương trình demo thực hiện chữ ký điện tử vào văn bản pdf.
3.5.2 Kiểm tra file pdf đích
Kết luận chương
Mobile agent đã thể hiện được các tiện lợi khi ứng dụng vào lĩnh vự thương mại điện
tử như thanh toán điện tử, mua bán trực tuyến và đấu giá trực tuyến. Để đảm bảo cho các
giao dịch điện tử này được bảo mật, chúng ta đã đưa ra các biện pháp để bảo mật cho hai
đối tượng là mobile agent và bảo mật nền tảng agent. Việc bảo mật này nhằm tác dụng:

20
tránh cho agent ăn cắp thông tin, tránh cho agent bị làm thay đổi thông tin mà nó đang
mang. Đối với nền tảng agent, nó tránh cho nền tảng không bị phá hoại hay bị ăn cắp thông
tin bởi agent hay máy chủ khác.
21
KẾT LUẬN
Với các đặc tính của mobile agent như: tính tự trí, tính di động, tính thích ứng và khả
năng cộng tác.
Với các đặc tính này, mobile agent đem đến nhiều lợi ích như: giảm tải mạng, khắc
phục sự trễ mạng, đóng gói các giao thức, thi hành không đồng bộ và tự trị, thích ứng
nhanh, khắc phục tình trạng không đồng nhất, mạnh mẽ và có khả năng chế ngự lỗi cao.
Dựa vào các đặc tính và lợi ích của mobile agent như vậy, nên nó đã được ứng dụng
rộng rãi trong đời sống và trong lĩnh vực khoa học công nghệ. Các ứng dụng tiêu biểu của
mobile agent bao gồm: 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 và thương mại điện tử.
Các ứng dụng trong lĩnh vực thương mại điện tử bao gồm: giao dịch mua bán trên
mạng, giao dịch thanh toán trực tuyến và đấu giá trực tuyến.
Vấn đề lưu tâm nhất của các giao dịch trực tuyến này đó là việc bảo mật cho các bên
tham gia giao dịch. Khi các giao dịch trực tuyến này được bảo mật sẽ ngăn chặn dược các
nguy cơ với agent và nền tảng như: ăn cắp thông tin, làm sai lệch thông tin, theo dõi và phân
tích sự chuyển động của một agent tin cậy, truy cập bất hợp pháp vào một nền tảng, giả mạo
một agent hay giả mạo một máy chủ, tạo ra một trojan hay làm cạn quyệt tài nguyên của hệ
thống. Các kỹ thuật được áp dụng để bảo mật cho mobile agent và nền tảng agent bao gồm:
- việc mã hóa agent: bằng cách sử dụng các mã khóa bí mất và khóa công khai, ta
sử dụng các giao thức bảo mật như SSL hay RSA
- xác nhận tính tin cậy của máy chủ mà agent di chuyển tới
- xác nhận sự hợp pháp của agent và của chủ của agent đã gửi agent đến
- việc cấp phép cho một agent khi agent di chuển đến một máy chủ. Việc cấp phép
này sẽ gán các quyền hợp lệ để agent có thể thực hiện các tác vụ mà nó đang
mang.

Bảo mật các kết quả cục bộ mà agent thu thập được trên hành trình của nó đối với
các nền tảng agent hoặc agent khác
Phần demo chương trình sẽ thực hiện ứng dụng chữ ký điện tử vào giao dịch thanh
toán trực tuyến. chương trình demo thực hiện ký điện tử cho một văn bản pdf trước khi nó
được gửi đi trên mạng. Người nhận sẽ xác thực văn bản dựa vào chữ ký đó. Chương trình
cũng cho phép đặt mật khẩu cho văn bản pdf này.

×