Summary of the invention
Technical problem: the purpose of this invention is to provide a kind of method for security protection towards mobile agent network management; solution is based on safety problem that mobile agent network management occurred; make up a Security Architecture, utilize smart card techniques and encryption technology to implement the safeguard protection of hardware and software to Network Management Station, by management node, mobile agent and network management process.
Technical scheme: method of the present invention is a kind of improvement and comprehensive method; by to based on the improvement of that detect, hardware based, initiatively safety precautions with comprehensively propose; on hardware, adopt Java card (a kind of smart card that can move java applet; it defers to all smart card standard) as the reliable execution environment of mobile agent, on the software level, adopt encryption technology to ensure the confidentiality and the reliability of mobile agent and network management information.
One, architecture
In the mobile agent network management scheme, mobile agent is finished management role by management node moving to each, code that it is performed and data (here, data are refered in particular to the information except that run time version) may be identical (we are called common code and data); Also may be different (we are called privately owned code and data).Wherein, common data also comprises the access node catalogue of wanting, routing iinformation and the relevant safe data etc. of mobile agent.
The mobile agent network management Security Architecture is made up of two parts, and a part is in Network Management Station, and another part is by management node.
1. Network Management Station safety is formed
Network Management Station is the center of implementing the network management security protection, is responsible for coordinating the safe operation of whole management; According to different webmaster tasks, generation corresponding mobile agency also sends by management node and carries out concrete management role in this locality.Network Management Station safety is formed and is mainly comprised four parts.
(1) Java card manager
The Java card manager loads every necessary function and data for the Java card of each node, and corresponding Java card certificate is provided.Comprise following message in the Java card certificate: security strategy that the manufacturer of Java card, the type of Java card, Java card provide and relevant key etc.Distribute to by management node when a Java card, its Java card certificate will offer catalog manager.
(2) catalog manager
Catalog manager provides a kind of directory service.Network Management Station and each need be registered following reference information at the catalog manager place by management node: identifier of place node (for example machine name or other unique identifiers) and physical network address, provide which kind of security strategy.The Java card manager provides the Java card certificate of each node for catalog manager.These information are used to Network Management Station to locate by management node, mobile agent is carried out cryptographic services.
(3) mobile agent execution environment (Mobile Agent Execution Environment is called for short MAEE later on)
In the webmaster process, mobile agent is finished management role by mutual by management node with each, returns the management result.MAEE provides various function supports to mobile agent, aspect safety management, it utilizes Java card to carry out the validity management for mobile agent on the one hand and encrypts, on the other hand, the mobile agent of management station is returned in deciphering, the extract management object information mainly comprises four parts: mobile agent receiving interface, management information are handled module, cipher control module, mobile agent transmission interface.
Described mobile agent receiving interface is responsible for mobile agent is input to the Java card of Network Management Station.
Described management information is handled the management object information that Java card extracted at module statistics, filtration and Integrated Network Management station.
Described cipher control module and catalog manager are mutual, for Java card provides the password of necessity (in the management station, the related password of mobile agent encryption and decryption is a lot, consider the memory limitations of Java card and the security reliability of management station, these passwords are all offered the Java card of management station by the mobile agent execution environment by catalog manager; And by management node, the password of encryption and decryption is kept in the Java card of this node).
Described mobile agent transmission interface is responsible for sending the mobile agent through encryption that is obtained from the Java card of Network Management Station.
(4) Java card
In Network Management Station, Java card is undertaken alternately by clear and definite interface and mobile agent execution environment, on the one hand, its transmission path that the mobile agent that is about to carry out the webmaster task is carried out validity management (add and stab unique identifier, effective time) and every encryption and the agency is set; On the other hand, Java card also is decrypted the mobile agent that returns management station, check its validity (whether retransmit by the unique identifier inspection, check by stabbing effective time whether it is expired) then, last Java card is a Network Management Station extract management object information.
Java card provides a platform, and the activity of encryption, deciphering, validity management and information extraction can both move therein safely.Bottom code is the device driver of reference to storage (comprising RAM, ROM and EEPROM) and I/O among the Java card ROM, as required, also may comprise the driver of visiting encryption processor.Java card virtual machine on this is responsible for controlling the visit of upper level applications to the Java card hardware drive program.It on the Java card virtual machine Java intermediary bytes sign indicating number of having realized various application programming interfaces (the basic Java card application programming interfaces and the application programming interfaces of network management special use).At last, the application program that has realized the Java card special function is positioned at the superiors.In the methods of the invention, these application programs comprise decipher, validity administration module, information extraction modules, encryption and transmission process module.
Described decipher is with the common data of conventional decipherment algorithm deciphering mobile agent, be decrypted with the decipherment algorithm of the public-key encryptosystem private data to all nodes.
Described validity administration module is that mobile agent and each privately owned code distribute a unique identifier respectively, put into timestamp in the common data of mobile agent, checks that perhaps the unique identifier guarantee information in the mobile agent does not repeat, review time stamp guarantee information does not have expired.
Described information extraction modules extracts common data from pass through the legal mobile agent of validity admin-authentication and each is by the private data of management node.
Described encryption and transmission process module are encrypted the common code and the data of mobile agent with conventional cryptographic algorithm, cryptographic algorithm with public-key encryptosystem is encrypted the privately owned code and the data of each node, and the transmission path that mobile agent will pass through when carrying out network management task is set.
2. formed by management node safety
(1)MAEE
In by management node, MAEE provides foothold for the mobile agent of carrying out the webmaster task, but it does not need to handle the management object information, does not need cipher control module (password that is related to by management node all is encapsulated in the Java card of this node) yet.Aspect safety management, it comprises three parts: mobile agent receiving interface, mobile agent transmission interface, local resource control module.
Described mobile agent receiving interface is responsible for mobile agent is input to local by the Java card of management node.
Described mobile agent transmission interface is responsible for sending the local mobile agent of being submitted to by the Java card of management node.
Described local resource control module control Java card by the visit of management node resource, to the read-write of managed object, assists Java card to finish management role to this locality, and protection is local by the resource of management node.
(2) Java card
In by management node, the function that Java card is realized is different from the Java card of management station, and it mainly implements local network management.Comprised decipher, validation verification module, function extraction module, task actuator, encryption and transmission process module by the Java card application program of management node.
Described decipher is with the common code of conventional decipherment algorithm deciphering mobile agent and data, be decrypted by the privately owned code and the data of management node this locality with the decipherment algorithm of public-key encryptosystem.
Described validation verification module by check mobile agent and in local node the unique identifier of privately owned code verify whether it legal, stab checking by the review time and look into whether it expired.If the verification passes, write down unique identifier and this locality of this agency and submit to the processing of function extraction module by the unique identifier of management node run time version and data and with this agency, otherwise to MAEE reporting errors information.
Described function extraction module is extracted in local code and the data of being carried out by management node from the mobile agent that checking is passed through.
Described task actuator is carried out the webmaster task under the assistance of MAEE.
Described encryption and transmission process module: unload and separate a discarded code and data (a code in the execution of this node, common code that some do not re-use and data), reconfigure mobile agent, changing unit and execution result are encrypted again, and provide information for MAEE transmits this agency.
Two, security mechanism
1. hardware protection mechanism
The inventive method adopts hardware protection mechanism, gives hardware of mobile agent optional equipment, and this hardware is not subjected to the control of node and mobile agent execution environment, but can carry out mobile agent, finishes management role by message and untrustworthy environmental interaction.This mechanism provides the running environment of a safety for mobile agent, and has protected the resource of node.
The hardware that the inventive method adopts is Java card, it has realized a Java Virtual Machine in smart card ROM, this virtual machine will be carried out the subclass of a Java bytecode, and the function that provides the outside to visit is responsible for the visit (as internal memory and I/O) of control to smart card resource.
The function that Java card is finished has
(1) encryption and decryption mobile agent,
(2) legal identity, uniqueness and the time validity of checking mobile agent,
(3) carry out the webmaster task,
(4) extract management object information (in Network Management Station).
No matter in Network Management Station, still in by management node, Java card is not controlled by local node, by with the webmaster task of finishing alternately of MAEE; Can not be changed the code and the data of mobile agent by management node, mobile agent also can only obtain the resource of node according to the authority of oneself, carries out legal network management.
2. encrypt and data signature mechanism
The inventive method adopts the encrypting and decrypting algorithm of conventional secret key cipher system and the encrypting and decrypting algorithm of public-key encryptosystem that mobile agent different code and data division are encrypted, and realizes digital signature.
(1) common code and data will be by all being carried out by management node, and only the encrypting and decrypting algorithm with conventional secret key cipher system carries out encryption and decryption;
(2) private data and code belong to each by management node, adopt the encrypting and decrypting algorithm of public-key encryptosystem that it is carried out encryption and decryption, by the privately owned code of management node and data with encryption keys after, can only legal be decrypted with decruption key by affiliated by management node (or Network Management Station, when management station need extract by the privately owned management object information of management node).By management node, when privately owned code and data and some common codes and data no longer are used, unload from mobile agent and to take off, and the private data that produces are encrypted with the encryption key of this node;
(3) encrypt again with the key of conventional encrypting and decrypting algorithm new public administration result data that produces and remaining common code and digital combination back.
Two keys that the key of conventional encrypting and decrypting algorithm and the encrypting and decrypting algorithm of public-key encryptosystem relate to have all obtained protection.These keys all are to generate and load (deposit the Java card certificate in or be saved in Java card) automatically by Network Management Station and Java card manager thereof, rather than artificial distribution; In addition, these keys can only be read by functional module, can only be visited by Java card accommodation function module (decipher, encryption and transmission process module) by the key of preserving in the management node Java card.
The inventive method also realizes the data signature mechanism of mobile agent information.The common code of mobile agent and data can only be carried out encryption and decryption by the Java card of management node by Network Management Station and each, and privately owned code and data can only legally be carried out encryption and decryption by management node or Network Management Station by affiliated.In the webmaster process, Java card is not subjected to be controlled by management node, its input is to encrypt mobile agent afterwards, do not known the key of mobile agent code and data encryption by management node and can not mobile agent be encrypted, that is to say that the mobile agent of carrying out the webmaster task can only be sent by Network Management Station at first.The inventive method mainly utilizes the data signature mechanism of this mobile agent allow Network Management Station and examined the legal identity of mobile agent by management node and prevent to forge.
3. validity mechanism
A kind of validity safety protecting mechanism that the inventive method adopts is to have put into a timestamp in the common data of mobile agent, and Network Management Station and each are verified in view of the above whether mobile agent is expired, determined that mobile agent whether may be retransmitted or distort (needing the time because retransmit and distort all) by management node.
The another kind of validity safety protecting mechanism that the inventive method adopts is to distribute a unique identifier respectively for each mobile agent and each privately owned code of carrying out the webmaster task; previous identifier is put into common data, and a back identifier is put into private data.For mobile agent and privately owned assignment of code unique identifier thereof will avoid mobile agent retransmitted or distort.In by management node, the unique identifier of the unique identifier of the mobile agent that the Java card record access is crossed and the privately owned code of carrying out is determined the legitimacy and the validity of mobile agent and privately owned code thereof by verifying these two identifiers.
The present invention towards the step that method for security protection comprised of mobile agent network management is:
Step 1). the mobile agent execution environment of Network Management Station is according to webmaster task creation mobile agent, according to travel through by management node with this agency be divided into common code and data, each is by the privately owned code and the data of management node, submits to the Java card of Network Management Station;
Step 2). the Java card of Network Management Station at first carries out the validity management to mobile agent, in the publicly-owned data of mobile agent, add unique identifier, the timestamp of mobile agent, in each private data of mobile agent, add the unique identifier of each privately owned code respectively, encrypt the common code and the data of mobile agent then with conventional cryptographic algorithm, with the cryptographic algorithm of public-key encryptosystem the privately owned code and the data of each node are encrypted respectively again, give the mobile agent execution environment at last, send to by management node;
Step 3). mobile agent arrives by behind the management node, and the mobile agent execution environment uploads to it in Java card of this node;
Step 4). at first deciphered the common code and the data of mobile agent with conventional decipherment algorithm by the Java card of management node, decipher the privately owned code and the data of local node then with the decipherment algorithm of public-key encryptosystem, from the information of deciphering, extract the unique identifier of unique identifier, timestamp and the privately owned code of mobile agent at last, mobile agent is carried out validation verification, check mobile agent and in local node the unique identifier of privately owned code verify whether it legal, whether it expired to stab checking by the review time;
Step 5). by the function extraction module of management node Java card from by the mobile agent of validation verification, extraction will be in common code and data and the privately owned code and the data of this node execution, give Java card task actuator, the task actuator is by carrying out finishing network management task alternately with the local resource control module of mobile agent execution environment;
Step 6). after being finished by the webmaster task of management node, Java card at first unloads takes off privately owned code and data and some publicly-owned code and the data that no longer need in the mobile agent, reconfigure mobile agent then, publicly-owned code and data are encrypted again with conventional cryptographic algorithm, and new private data is encrypted again with the cryptographic algorithm of public-key encryptosystem, at last, the mobile agent after Java card will reconfigure and the transmission information of next node are given by the mobile agent execution environment of management node, the mobile agent execution environment is sent to next node with mobile agent, and mobile agent is proceeded network management remaining by management node;
Step 7). mobile agent returns management station after finishing all webmaster tasks, and the mobile agent execution environment of Network Management Station is given the Java card of management station with it;
Step 8). the Java card of Network Management Station is at first deciphered the common data of mobile agent with conventional decipherment algorithm, be decrypted with the decipherment algorithm of public-key encryptosystem private data again all nodes, mobile agent to deciphering carries out validation verification then, verify by the unique identifier of checking mobile agent whether it is legal, stab checking by the review time and look into whether it expired, at last, the information extraction modules of Java card is the extract management object information from these decrypted data, submits to management station's mobile agent execution environment and does the statistical analysis processing.
Be responsible for the mobile agent execution environment of mobile agent fan-in network management station is arrived the Java card of Network Management Station by mobile agent receiving interface module, handle the management object information that the Java card of resume module Network Management Station is submitted to by management information, provide, change or abolish the used password of Java card of Network Management Station by the cipher control module, send the mobile agent that the Java card of Network Management Station is submitted to by mobile agent transmission interface module.
The Java card of Network Management Station is that mobile agent and each privately owned code distribute a unique identifier respectively, put into timestamp in the common data of mobile agent by the validity administration module, check that perhaps the not repetition of unique identifier guarantee information, review time stamp guarantee information in the mobile agent do not have expired, by encrypting and the code and the data of transmission process module encrypt mobile agent, agency's transmission path being set, by the code and the data of decipher deciphering mobile agent, extract the common data and the private data of mobile agent by information extraction modules.
Be responsible for mobile agent is input to by the Java card of management node by mobile agent receiving interface module by the mobile agent execution environment of management node, guarantee that by the local resource control module Java card Lawful access by management node system resource, read-write managed object, sends the mobile agent of being submitted to by the Java card of management node by mobile agent transmission interface module.
By code and the data of the Java card of management node by decipher deciphering mobile agent, unique identifier guarantee information by validation verification module check mobile agent does not repeat, review time is stabbed guarantee information not to be had expired, by the function extraction module from the mobile agent that checking is passed through, be extracted in code and data that this node is carried out, by the task actuator and describedly carried out the webmaster task alternately, by encrypting and the code and the data of transmission process module encrypt mobile agent by the local resource control module in the mobile agent execution environment of management node, agency's transmission path is set.
Beneficial effect
The inventive method has proposed comprehensive mobile agent network management method for security protection.The complexity of bringing during method for security protection accumulation that the method that the application of the invention proposes can be avoided disperseing, the flexibility that can improve safety method effectively reach the purpose of protection mobile agent network management.Provide specific description below.
1. the safeguard protection that combines of hardware and software
In the methods of the invention, the very strong hardware of this reliability of mobile agent execution environment and Java card combines, and helps to make mobile agent to avoid the attack of potential malicious node in webmaster.In concrete webmaster process, mobile agent is finished the webmaster task by message and untrustworthy environmental interaction, and when hardware can not Control Node, the resource of node had obtained protection.On this basis, the use of cryptographic technique will further guarantee the fail safe of mobile agent and network management information on the software level.The inventive method has guaranteed the fail safe of mobile agent network management from the comprehensive angle of hardware and software, has reduced the difficulty of safeguard protection, has increased safe configurability, and system is easy to expansion.
2. flexibility
In the methods of the invention; mobile agent is implemented safeguard protection neatly according to concrete webmaster task; in this process; mobile agent is divided into common code and data and privately owned code and data help differentially to implement safeguard protection different objects, thus the flexibility that on protection intensity, has improved system.
3. effectively protect the safety of mobile agent in the webmaster transmission
The assailant intercepts and captures the mobile agent in the managed networks transmission, and he just might distort, forges and retransmit this mobile agent.In the methods of the invention, the difficulty that the assailant faces is, he must obtain the encryption key and the decruption key of the encrypting and decrypting algorithm of the key of conventional encrypting and decrypting algorithm or public-key encryptosystem, can distort and forge this mobile agent.And these keys all are to generate and load (deposit the Java card certificate in or be saved in Java card) automatically by Network Management Station and Java card manager thereof, and anyone (comprising the keeper) all maintained secrecy; Simultaneously, each Java card of being managed node is not subjected to the control of local node, in general is impossible so the assailant obtains these keys.After the assailant intercepts and captures mobile agent in the transmission, right
It is exactly to retransmit that another of network management attacked.But in the methods of the invention, validation verification (the validity management of management station's Java card) by Java card, managed the unique identifier of privately owned code in the joint in unique identifier, timestamp and the mobile agent of inspection mobile agent, can verify whether this agency visited present node, whether once carried out by the privately owned code of management node among this agency, whether this agency is expired.As seen, the inventive method can be resisted in the transmission mobile agent to a certain extent and be distorted and forge, and also can resist multi-sending attack effectively.
4. reduce potential safety hazard to greatest extent
The assailant obtained public-key encryptosystem the encrypting and decrypting algorithm encryption key and (or) decruption key.In the methods of the invention, because the encrypting and decrypting algorithm of public-key encryptosystem be used for encrypting or decipher mobile agent each by the privately owned code and the data of management node, so when the assailant only obtains certain by the decruption key of the encrypting and decrypting algorithm of management node public-key encryptosystem, he can decipher privately owned code or the data that belong to this node in the mobile agent, but when he does not obtain encryption key, just can not distort and forge privately owned code or data, because Java card input must be privately owned code and data after encrypting, and the assailant does not know that encryption key just can't encrypt privately owned code or data after distorting and forging, so the assailant distorts and forge privately owned code or data that to carry out management role for Java card be invalid.Therefore, when the assailant knows encryption key and decruption key simultaneously, he just can be before MAEE imports Java card with mobile agent, deciphering belongs to the privately owned code or the data of this node, distort then and forge, after encrypting again, put back to mobile agent, be input in the Java card, thereby the Java card of having cheated local node is carried out illegal network management task; In addition, the assailant mobile agent finish the work be input to MAEE after, can decipher the private data of this node, distort and forge, after encrypting again then, put back to mobile agent, thus the deception Network Management Station.But divulging a secret of the encryption key of the encrypting and decrypting algorithm of public-key encryptosystem and decruption key only influences the secure network management of local nodes, and do not influence the network management of other parts safety.As seen, the inventive method, can be limited in local nodes with the potential safety hazard of network management process and reduce the diffusion of the influence of security threat at whole managed networks by the separately encipherment protection of privately owned code of management node and data each.