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

Một phần của tài liệu Mobile agent và ứng dụng trong thanh toán điện tử (Trang 36)

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

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

Một trong những vấn đề chính liên quan đến việc thực thi một hệ thống Agent là việc đảm bảo rằng các Agent không thể gây trở ngại đến một Agent khác hoặc với AgentPlatform. Một sự thăm dò chung để hoàn thiện điều này là thiết lập các phạm vi cô lập cho mỗi Agent và mỗi Agent Platform và quản lý tất cả các truy xuất trong phạm vi đó.

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

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

 Sự trình diễn mã lệnh an toàn (Safe Code Interpretation)  Đánh dấu mã lệnh (Signed Code)

 Sự đánh giá trạng thái (State Appraisal)  Lịch sử đường đi (Path Histories)

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

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

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

 Tóm lược kết quả từng phần (Partial Result Encapsulation)  Ghi lại hành trình chung (Mutual Itinerary Recording)

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

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

 Sự phát sinh khóa môi trường (Environmental Key Generation)  Xử lý chức năng mã hóa (Computing with Encrypted Functions)  Mã lệnh khó hiểu (Obfuscated Code)

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

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

 Cung cấp cho Agent một cách cho việc tóm lược thông tin,  Dựa vào bảng tóm lược của Agent Platform,

 Dựa vào một sản phẩm thứ ba (third-party) để lấy bảng kết quả. Phương pháp khác cho một Agent tóm lược kết quả thông tin là dùng

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

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

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

2.10.3.2.2. Ghi lại hành trình chung

Một sự thay đổi đáng chú ý của “Path Hietories” là một sự sắp xếp có hệ thống tổng quát cho phép hành trình của Agent (Intierary of Agent) được ghi lại và theo dõi bởi Agent hợp tác khác, trong một sự sắp xếp hỗ trợ lẫn nhau. Khi di chuyển giữa các Agent Platform, một Agent chuyển thông tin của Agent Platform cũ, Agent Platform hiện hành và Agent Platform mới đến Agent hỗ trợ cùng cấp (ngang hàng) thông qua một kênh xác thực. Agent ngang hàng đó duy trì một bảng ghi (record) của hành trình và giữ lấy hành động thích hợp khi sự mâu thuẫn được thông báo. Một thông báo được đáp lại bởi Agent ngang hàng với nó, vì thế Agent tránh các Agent Plaform đã đi qua rồi. Điều này thì được xây dựng trên sự thừa nhận rằng chỉ có một vài Agent Platform là nguy hiểm, và thậm chí nếu một Agent gặp một Agent Platform mà Agent Platform này không thích có thể nó hợp tác với một Agent Platform nguy hiểm khác đã được đến bởi Agent ngang hàng.

Vì vậy, phân chia theo hoạt động và ứng dụng giữa hai Agent, chắc chắn hành vi nguy hiểm của Agent Platform đã được phát hiện. Sự sắp xếp theo hệ thống có thể được tổng quát hóa cho nhiều hơn hai Agent hợp tác. Kỹ thuật này có thể được đưa vào trong một ứng dụng thích hợp nào đó.

2.10.3.2.3. Ghi lại hành trình bằng việc tạo bảng sao và biểu quyết

Một Agent Platform mắc lỗi có thể đối xử giống như một Agent Platform nguy hiểm. Vì vậy, cho phép khả năng chịu đựng lỗi trong môi trường nên tính đến các ảnh hưởng của các Platform nguy hiểm. Như một kỹ thuật bảo đảm cho Mobile Agent đến đích an toàn là thông qua sự tái tạo và chọn (Replication and Voting). Ý kiến này thì tốt hơn một bảo sao của một Agent thực thi sự tính toán, nhiều bảng sao của Agent thì được dùng.

Mặc dù một Agent Platform nguy hiểm có thể làm hư hỏng một vài bản sao của Agent, đủ tái tạo để tránh đụng độ để hoàn thành trọn vẹn việc tính toán. Mỗi lần tính toán, Agent Platform bảo đảm rằng các Agent đến thì không bị ảnh hưởng, kèm theo các thông tin hợp lý.

2.10.3.2.4. Lần theo dấu vết của sự thực thi

Execution Tracing là một kỹ thuật phát hiện các sự sửa đổi bất hợp pháp củamột Agent trên một các ghi chép đúng các hành vi của Agent trong suốt quá trình thực thi của nó trên mỗi Agent Platform.

Kỹ thuật này yêu cầu mỗi Agent Platform bao gồm việc tạo ra và giữ lại một nhật ký hay dấu vết của các hoạt động thực thi bằng một Agent nội trú ở đó, và trình về (submit) một mật mã của các dấu vết trên sự kết thúc.

hợp các thông tin có liên quan với nhau giữa các thành phần liên quan, có thể bao gồm của một thành phần thứ ba được tin cậy (a trusted third party) để giữ lại các bảng tóm tắt dấu vết liên tiếp của toàn bộ hành trình của Agent. Nếu bất kỳ kết quả nghi ngờ nào xảy ra, thì các dấu vết riêng và các dấu vết trong bảng tóm tắt có thể được lấy lại và kiểm tra, và một host nguy hiểm được nhận ra.

2.10.3.2.5. Sự phát sinh khóa môi trường

Kỹ thuật này mô tả một sự sắp xếp có hệ thống cho phép một agent giữ hành động được định nghĩa trước khi điều kiện môi trường đúng.

Kỹ thuật này bảo đảm rằng Agent Platform hay một người theo dõi Agent không thể phát hiện các tin nhắn (message) xảy ra hay các phản ứng hành động bằng cách đọc trực tiếp trên code của Agent. Thủ tục này gần giống như “password” trong hệ điều hành.

2.10.3.2.6. Xử lý chức năng mã hóa

Mục đích của việc xử lý chức năng mã hóa là xác định một phương pháp nào cho mã di động (mobile code) có thể an toàn tính toán mật mã, như là một chữ ký số (digital signature), thậm chí thông qua mã đã được thực thi trong môi trường tính toán không tin cậy và hoạt động tự trị mà không ảnh hưởng lẫn nhau với Platform chủ (Home Platform).

Gần như là Agent Platform thực thi một chương trình kể cả một hàm được mã hóa mà không thể nhận được hàm gốc; gần như yêu cầu sự phân biệt giữa một hàm và một chương trình mà chương trình thực thi hàm.

Kỹ thuật này, trong khi rất mạnh, không ngăn cản từ chối dịch vụ (denial of service), replay, và một số kiểu tấn công khác chống lại Agent.

2.10.3.2.7. Mã lệnh làm khó hiểu

Một khái quát ngắn gọn về các mối đe dọa xuất phát từ một Agent đụng độ với một host nguy hiểm được đề cập đến như sự thúc đẩy đối với cơ chế bảo mật hộp đen (Blackbox-Security). Chiến lược bên dưới kỹ thuật này thì đơn giản, sự tranh giành mã lệnh, một cách mà không ai có thể đạt tới một sự hiểu biết hoàn chỉnh về chức năng của nó hoặc sửa đổi kết quả của mã lệnh mà không cần đến sự dò tìm. Một vấn đề nghiêmtrọng với kỹ thuật này là không có thuật toán nào được biết hoặc thăm dò việc cung cấp sự bảo vệ hộp đen.

Một lần, sự biến đổi giới hạn của cơ chế bảo mật hộp đen được đưa ra như là một cách lựa chọn hợp lý, bằng cách đó sức mạnh của sự tranh giành không nhất thiế tbao hàm sự mã hóa đối với đối tượng không đủ tư cách, nhưng phần lớn dựa trên những thuật toán khó hiểu. Từ đó, một Agent có thể trở nên vô hiệu hóa trước khi hoàn

tất công việc xử lý của nó. Mã lệnh khó hiểu này phù hợp cho những ứng dụng không vận chuyển thông tin mong đợi cho sự che dấu lâu dài.

2.11. Kết luận

Trong chương này chúng ta đã giới thiệu các lý do mà ta sử dụng mobile agent trong lập trình, cũng như giới thiệu một số khái niệm cơ sở của mobile agent, các mô hình trong một mobile agent, các hệ thống mobile agent hiện nay như Aglet, Voyager, Mole, Zeus.

Qua chương này ta cũng tìm hiểu một mobile agent không bị ràng buộc với hệ thống mà nó bắt đầu vòng đời. Nó có khả năng độc đáo là tự gửi mình đi từ một host này đến một host khác trong mạng. Ta cũng tìm hiểu 7 lợi ích của mobile agent như: giảm tải băng thông, khắc phục độ trễ mạng, gói gọn các giao thức, thực hiện một cách không đồng bộ, thích nghi, tự sửa sai, khắc phục tình trạng không đồng nhất. Ta cũng tìm hiểu các lĩnh vực mà mobile agent có khả năng ứng dụng như: thu thập dữ liệu phân tán, thương mại điện tử, quản trị mạng.

Ngoài ra chúng ta cũng tìm hiểu về các nguy cơ an ninh liên quan đến mobile agent, ta đã tìm hiểu các hình thức tấn công của agent đến agent khác hoặc đến agent platform và các biện pháp đối phó.

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

Với sự lớn mạnh không ngừng của WWW và sự nổi lên của những ứng dụng TMĐT đã dẫn đến sự ra đời của các mô hình kinh doanh mới lấy Internet làm trung tâm. Hỗ trợ cho mua bán trực tuyến đã tạo ra những chương trình có cấu trúc mới cung cấp hiệu quả kinh tế và những mô hình linh hoạt. Triển vọng nhất là sử dụng các agent trong TMĐT. Rất nhiều công việc sử dụng các ứng dụng mang khái niệm “agent trong TMĐT”. Tuy nhiên chưa có nhiều ứng dụng được thiết kế cho TMĐT sử dụng mobile agent đã được hoàn hành

Một phần của tài liệu Mobile agent và ứng dụng trong thanh toán điện tử (Trang 36)

Tải bản đầy đủ (PDF)

(74 trang)