Để 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 đồngthời đề cập đến vấn đề
Trang 1-
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
Trang 2Luậ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
Trang 3MỞ ĐẦ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ảiphá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 đồngthờ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ậtmobile agent trong các giao dịch điện tử
Trang 4CHƯƠ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ìnhclient-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áclờ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áchà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ốnggầ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
Trang 51.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 mobileagent 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 sangnú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 đượcgiao phó Khi di chuyển, các mobile agent đóng gói mã nguồn, dữ liệu và cả trạng thái thihà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, dichuyể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
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ểnthườ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
Trang 6Hì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ênngoà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ộtagent 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 là khả năng cho laptop phát hiện trạng thái kết nối mạng bênngoà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ácagent 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
Trang 7Khả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ảithí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ớisite 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, sitenà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.
để đị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ủachú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 thamkhả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âydự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 MitsubishiElectric 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ụngkhá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ưngmỗ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ồmcá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 choviệ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 đốitượ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ớimô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
Trang 8tượ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áctác tử.
Aglets Workbench được xây dựng và phát triển bởi D.B.Lange và IBM TokyoResearch 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ảnmớ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
Trang 91.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ànghiệ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ênkế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ậnlợ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ểnqua 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ácnguồ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ẽ chophé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
Trang 10mạ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ảiphá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ịchtrong 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ựcthể ở 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 sinhnhu 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ý
Trang 11CHƯƠ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 chobấ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ứachú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ếuvắ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à choviệ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ìnhbà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
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ụngphả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
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
Trang 122.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ạoagent 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ạnchế 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
Các máy ở xa đe dọa agent
Agent đe dọa agent khác
Kẻ lạ mặt đe dọa agent
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
Agent đến đe dọa hệ thống mạng
Trang 13Trướ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?
Để 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 takiể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ànhcủ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ảmthiể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ôngtin hay sử dụng các dịch vụ cung cấp bởi server