Application of Java language Security mechanism in mobile agent

Source: Internet
Author: User
Tags object serialization

With the increasing of Internet coverage and the increasing of valuable information resources, more demands are put on the efficiency, intelligence, initiative and flexibility of the network, and the problem of how to bundle the information sources in the heterogeneous environment becomes more and more prominent. In the practical application of the network Distributed system, the server/client structure is generally used, in which the communication between processes running on server and client is realized through information transmission and remote procedure call (RPC), and is generally implemented synchronously. That is, the client suspends the local process and waits for the result when it makes a request to the server, and the remote server returns the results when the required data processing is performed as required, and resumes when the local process gets the result. The mobile agent is an extension of these concepts, a program sent by client to server that includes code, data, and execution logic. The mobile agent does not have to return the results to the client, which can migrate to other servers, pass the information back to the source client, or migrate back to the source client by proper scheduling. Therefore, the mobile agent has more autonomy than the simple process call. It solves the bottleneck problem of network communication well, increases the parallelism of task processing, enhances the flexibility, extensibility and fault-tolerant ability of the system. Therefore, mobile agent has been applied to all kinds of distributed networks, and it is believed that mobile agent will have a good prospect in future military information security and enterprise information transmission security secrecy.

The application of mobile agent technology is more and more extensive, and the system security problem is becoming more and more prominent. In this paper, the main security threats in Mobile agent system and the security mechanism of Java language are analyzed in detail, and a method of using Java security mechanism to solve the security problem of mobile agent is put forward.

The security problem of mobile agent

Although the mobile agent technology has many advantages, but a serious problem--security has hindered its application. Mobile agents can connect multiple distributed computers to form a computing infrastructure on which to run distributed applications that belong to different users and potentially untrusted users. These computers belong to different organizations and have different uses for communication through public communication facilities. In such an environment, there are various possible unsafe factors and security attacks. For example, unauthorized users can listen to network lines and eavesdrop or even modify their code or data while the agent is running, potentially attacking local hosts, intentionally consuming too much resources, or exploiting vulnerabilities in the system to attack hosts or other agents, and so on. Grouped into the following categories:

The first type of security problem is primarily malicious or faulty Agent that initiates attacks against hosts using deficiencies or deficiencies in the host's security facilities, mainly for camouflage, denial of service, and unauthorized access.

The second type of problem is that the agent may exploit the system's flaws to attack other agents running on the host, including cloaking, unauthorized access, denial of service, and repudiation. In fact, this problem can be seen as the first type of problem, first of all, because the host agent support environment may contain some agents, such as the agent responsible for communication, management agent namespace agent, etc., the attack on such agents is tantamount to the attack on the system. Second, the host can be run on the agent as a part of the resources of the host, agent to other agents attack is the attack on the host. Again, from the existing security measures, the techniques used to solve these two types of problems are very similar.

The third category, in the mobile agent environment, not only may have malicious agent, but also there will be malicious host to the agent to destroy. Because the Agent sent to the host to run on it, its code and data and Run-time communications are exposed to the host, it can be said that the host for Daozu, agent for fish, the host can take any action on the agent, so the protection agent is the most difficult of all problems. Because of this, it attracts a lot of people to spend a lot of effort on research.

Fourth, the Agent can only consume a small amount of resources on a site, its behavior is fully consistent with the site's security policy, but it secretly in the hidden way to destroy the availability of the network, which will cause some host paralysis. If the malicious mobile agent is constantly replicating itself, generating the largest mobile agent, and allowing them to flow back and forth over the network, a large number of consumption systems of communication and computing capital, and may eventually lead to the paralysis of the operating environment. The prevention of this kind of attack is also more difficult, starting from a single host obviously can not solve the problem, must be considered from the network as a whole. When the network belongs to a manager, the network between the various hosts more trust, to find a unified approach is relatively easy, otherwise, in the Internet such as without center, no authority of the network, the difficulties will be much greater.

The security mechanism of the Java language

Mobile agent needs to migrate on different hosts, in this heterogeneous environment, mobile agents need portability, can be executed on different hosts, so languages such as Java have platform independence, dynamic class loading, multithreading and object serialization features, Using the relevant Java security mechanism to solve the mobile agent security problem is the best choice.

In Java, it is safe to run various applets that pass through the Internet, and because of this, Java, unlike other languages and systems, has an afterthought to implementing security, or, as a response, inserting security components, Security mechanisms are an integral part of Java technology.

1, Java Sandbox (early security mechanism)

The focus of the Java security model is to protect end users from disruptive programs that are downloaded from the Web. To achieve this, Java provides a dedicated sandbox for running Java programs. The key to the security model is the concept of the Sandbox (sandbox). The idea is that if you allow a program to reside on the host, you must provide a "play" place for the program (that is, the running environment), but in general, you must guarantee that the program is restricted to the sandbox, and that the Java program can do anything in its sandbox, but there is no action on this boundary. For example, the sandbox of an unacknowledged Java applet prohibits many operations, including:

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.