Bảo vệ Tác tử Platform
- Cách ly lỗi dựa trên phần mềm: Kỹ thuật cho phép các chương trình không được tin cậy, viết với các ngôn ngữ không an toàn (như ngôn ngữ C),
được thực thi an toàn trong một vùng địa chỉ ảo của một ứng dụng. Kỹ thuật này thường được biết đến với tên sandbox.
- Thông dịch mã an toàn: Các hệ tác tử thường được phát triển bởi một ngôn ngữ lập trình hay script thông dịch. Động cơ chính của việc này là hỗ trợ tác tử platform trên nhiều hệ thống máy tính không đồng nhất. Ý tưởng của phương pháp này là các lệnh được xem là có hại có thể được làm cho an toàn hoặc bị từ chối. Ví dụ, lệnh thi hành một chuỗi dữ liệu như một phân đoạn chương trình thường bị từ chối.
- Mã được ký: Một kỹ thuật cơ bản để bảo vệ một hệ thống tác tử là việc ký mã hay các đối tượng với chữ ký số. Một chữ ký số xác nhận tính xác thực của một đối tượng, sự toàn vẹn và nguyên gốc của nó. Thông thường người ký mã là người tạo agent, người sử dụng tác tử và một vài thực thể xét duyệt agent. Do một tác tử hoạt động với tư cách của một người dùng cuối hay một tổ chức, các hệ thống Tác tử di động thường sử dụng chữ ký của người dùng để xác thực thẩm quyền của agent.
- Đánh giá trạng thái: Mục đích là để đảm bảo một tác tử không bị biến chất với việc sửa đổi thông tin trạng thái của nó.
- Lịch sử đường dẫn: Ý tưởng là duy trì một bản ghi có thể xác thực của các paltform mà trước đó tác tử đã viếng thăm, nhờ đó một platform có thể xác định có xử lý tác tử hay không và các dàng buộc dữ liệu nào cần được áp dụng. Kỹ thuật này đòi hỏi mỗi platform thêm một mục nhập được ký vào đường dẫn, xác định định danh của nó và định danh của platform tiếp theo để cung cấp toàn bộ lịch sử đường đi cho platform kế tiếp.
- Kiểm chứng mã mang theo: do việc ký mã là kỹ thuật để xác thực và nhận dạng nhưng không ngăn cấm các mã không an toàn. Đây là một kỹ thuật phòng ngừa, buộc người sản sinh mã chính thức chứng thực rằng chương trình có tính chất an toàn, trước khi được đặt bởi người dùng mã.
Bảo vệ các Agent
- Đóng gói kết quả từng phần: Là phương pháp được sử dụng để ngăn chặn sự sửa đổi dữ liệu của các trạm ác ý, bằng cách đóng gói kết quả thực hiện tại mỗi platform mà tác tử viếng thăm ngay trước khi chuyển sang một platform khác.
- Ghi hành trình qua lại: Là phương pháp trong đó hành trình của một tác tử được ghi lại và theo dõi bởi một tác tử khác cùng cộng tác và ngược lại. Khi di chuyển giữa các platform, tác tử chuyển thông tin về platform trước, platform hiện tại và platform kế tiếp tới tác tử cùng cộng tác qua một kênh có xác thực.
Tác tử công tác duy trì một bản ghi của hành trình và thực hiện các hành động phù hợp khi nhận thấy sự mâu thuẫn.
- Ghi hành trình với sự tái tạo và bầu chọn: Ý tưởng chính là thay vì chỉ sử dụng một bản sao của một tác tử để thực hiện một tính toán, nhiều bản sao sẽ được sử dụng. Cho dù một platform ác ý có thể làm hỏng một vài bản sao, sự tái tạo đủ để đạt được việc tính toán hoàn thành.
- Theo dõi sự thi hành: Là một kỹ thuật cho phép phát hiện các sửa đổi trên tác tử bằng cách ghi lại hành vi của tác tử trên mỗi tác tử platform.
- Sự sinh khóa môi trường: Mô tả một lược đồ cho phép một tác tử thực hiện một hành động khi một điều kiện môi trường là đúng. Phương pháp tập trung vào việc xây dựng các agent, khi phát hiện một điều kiện là đúng trên môi trường thì sinh ra một khóa, có thể sử dụng để giải mã một số mã thi hành được mã hóa.
- Tính toán với các hàm được mã hóa: Mục đích là xác định một phương thức mà nhờ đó mobile code có thể tính toán an toàn bằng mật mã, thậm chí cả khi mã được thực hiện trên các môi trường không tin cậy và hoạt động tự trị không có sự tương tác với platform “nhà”. Phương pháp nhằm buộc tác tử platform thực hiện một chương trình là hiện thân của một hàm mã hóa mà không thể nhận biết hàm nguyên thủy; phương pháp đòi hỏi sự phân biệt giữa một hàm và một chương trình thực hiện nó. Chẳng hạn, tác tử có thể ký vào thông tin mà không để lộ khóa với platform,…
- Làm rối mã: là phương pháp xáo trộn mã sao cho không ai có thể hiểu toàn bộ chức năng của tác tử hay sửa đổi mã mà không bị phát hiện. Vấn đề quan trọng với kỹ thuật này là không có thuật toán hay phương pháp cung cấp sự bảo vệ như một hộp đen. Tuy nhiên, một số môi trường phát triển Java có hỗ trợ sẵn tính năng này như một công cụ.