Summary of the invention:
In view of this, the invention provides a kind of software protecting equipment that uses by usage license Control Software.The present invention reaches the purpose that Control Software is used by the use of the functional module in the usage license Control Software protective device.
According to an aspect of the present invention; a kind of software protecting equipment is provided; it is characterized in that; this software protecting equipment comprises: functional module is used control module; be used to receive the call request of outer bound pair functional module; and, determine whether this functional module can be called according to the usage license of this functional module.
According to an aspect of the present invention, its feature is that also functional module uses control module also to be used to receive usage license installation kit, and installs or upgrade the usage license of the functional module of appointment.
According to an aspect of the present invention, its feature is that also functional module uses control module to check the usage license of the functional module of appointment, if the usage license of this functional module is effective, then allow this functional module to be used, otherwise do not allow this functional module to be used.
According to an aspect of the present invention, its feature also is, the usage license that the usage license effectively comprises this functional module exists and be not out of date.
According to an aspect of the present invention, its feature also is, the usage license is expired to comprise the user has surpassed this usage license to the use of software allowed band.
According to an aspect of the present invention, its feature also is, the allowed band that the use of software has been surpassed this usage license comprises above the service time of this usage license regulation or number of times etc.
According to an aspect of the present invention, its feature is that also functional module uses control module checking by after the legitimacy and validity of this usage license installation kit, for the functional module of appointment is installed or the renewal usage license.
According to an aspect of the present invention, its feature is that also the usage license of the functional module of described installation or renewal appointment comprises: functional module uses control module to check the legitimacy and the validity of this usage license installation kit;
If this usage license installation kit is legal and effective, then use the usage license of carrying in this usage license installation kit to upgrade the usage license of the functional module of appointment;
If the usage license of this functional module does not exist, then preserve the usage license of carrying in the usage license installation kit for this functional module;
If this usage license installation kit is illegal or invalid, then stop the installation process of this usage license installation kit.
According to an aspect of the present invention, its feature is that also the validity checking of usage license installation kit comprises: the check code of checking this usage license installation kit.
According to an aspect of the present invention, its feature is that also check code is to use predefined cryptographic algorithm and password that the usage license is calculated.
According to an aspect of the present invention, its feature is that also described cryptographic algorithm can be the Digital Signature Algorithm of MAC algorithm, hmac algorithm or asymmetric cryptography.
According to an aspect of the present invention, its feature is that also the validity check of usage license installation kit comprises: check whether this usage license installation kit is applicable to this software protecting equipment; The strategy that whether is set in advance influences and can not be used.
According to an aspect of the present invention, its feature is also check whether this usage license installation kit is applicable to that this software protecting equipment comprises: whether this software protecting equipment is included in the scope of application of usage license installation kit.
According to an aspect of the present invention; its feature also is; the strategy that whether set in advance influence and can not being used comprises: if this usage license installation kit is once effective, and installed on this software protecting equipment, and then can not have been installed once more.
Embodiment
For making purpose of the present invention, technical scheme and advantage clearer, below with reference to the accompanying drawing embodiment that develops simultaneously, the present invention is further elaborated.
Fig. 1 is a structural drawing of the present invention, as shown in Figure 1, includes functional module in the software protecting equipment of the present invention and uses control module.
It can be the hardware module of a special use that functional module is used control module, also can be the firmware program in the software protecting equipment.Whether its function is: receive the request of the functions of use module that comes from the outside, the usage license of this functional module is resolved, come control function module can be used according to the result who resolves.The described usage license is kept at the memory block of software protecting equipment inside, meets the form that functional module uses control module to accept, and the content of a typical usage license and form are:
[beginning]
License?ID=0x23988707
Meter=32
ExpireDate=20091001
[end]
Wherein, License ID represents the ID of the usage license, and Meter represents the number of times that software can be used, and ExpireDate represents that software is operable by the date.Whether functional module uses control module to come the arbitration functions module to allow to be used according to the value of key word " Meter " and " ExpireDate ".
Describedly whether can be used, be meant that functional module uses control module to check the functional module usage license of appointment according to usage license control function module.If the usage license of this functional module is effective, then allows this functional module to be used, otherwise do not allow this functional module to be used.
The described functional module usage license is meant that effectively the usage license of this functional module exists, and not out of date.
The described usage license is expired to be meant, the user is to the allowed band that surpasses this usage license of the use of software, for example: surpass service time of this usage license regulation or number of times etc.
Functional module uses control module also to be used to receive the usage license installation kit of new functional module, and installs or upgrade the usage license of the functional module of appointment.
Described installation or upgrade the usage license of the functional module of appointment is meant that functional module uses control module to check the legitimacy and the validity of this usage license installation kit.If this usage license installation kit is legal and effective, then use the usage license of carrying in this usage license installation kit to upgrade the usage license of the functional module of appointment, if the authorization message of this functional module does not exist, then preserve the usage license of carrying in the usage license installation kit for this functional module; If this usage license installation kit is illegal or invalid, then stop the installation process of this usage license installation kit.
The validity checking of usage license installation kit is the check code of this usage license installation kit of digital examination, thereby whether the publisher who determines this usage license installation kit is legal, and whether the data that this usage license is installed are correct and complete.
Described check code is that the password that the software developer uses predefined cryptographic algorithm and software developer to have calculates the usage license.
Described cryptographic algorithm can be the MAC algorithm, the Digital Signature Algorithm of hmac algorithm or asymmetric cryptography.
The key that the check code of this usage license installation kit of described inspection is to use predefined cryptographic algorithm and software protecting equipment to preserve is checked and verified the check code of the usage license of carrying in this usage license installation kit.
Described cryptographic algorithm can be the MAC algorithm, the signature verification algorithm of hmac algorithm or asymmetric cryptography.
The validity check of usage license installation kit is whether this usage license installation kit of digital examination is applicable to this software protecting equipment, and for example: this software protecting equipment is not included in the scope of application of usage license installation kit; Whether be subjected to the influence of certain strategy that sets in advance and can not be used, for example: if this usage license installation kit is once effective, and on this software protecting equipment, installed, and then can not be mounted once more.
In sum, provide complete usage license administrative unit in the software protecting equipment provided by the invention, can prevent that the cracker from passing through the usage license administration module of trace analysis software, obtains illegal software license.Usage license installation kit of the present invention in addition has the check code that cryptographic algorithm generates, and the needed key that calculates identifying code has only the software developer to have, and therefore prevents that the cracker from forging the usage license.Thereby software developer's just rights and interests have been protected.
Fig. 2 is the use schematic flow sheet to software function module of the present invention, as shown in Figure 2, among the present invention calling of functional module be may further comprise the steps:
Step 201 receives the request of extraneous functions of use module.
In this step, the functional module in the software protecting equipment uses control module to receive the request that outer bound pair functional module is called by communication interface.
Step 202 is checked the usage license of this functional module.
In this step, functional module in the software protecting equipment is used the usage license of control module audit function module, if the usage license is effectively then execution in step 203, otherwise execution in step 204.
The described functional module usage license is meant that effectively the usage license of this functional module exists, and not out of date.
The described usage license is expired to be meant, the user is to the allowed band that surpasses this usage license of the use of software, for example: surpass service time of this usage license regulation or number of times etc.
Step 203 is called this functional module.
In this step, the functional module in the software protecting equipment is used the control module calling functional modules and is returned to the external world calling the result by communication interface.
Step 204 stops the invoked procedure of this functional module.
In this step, the functional module in the software protecting equipment is used the invoked procedure of control module termination for functional module.
Fig. 3 is the installation procedure synoptic diagram of the usage license installation kit among the present invention, as shown in Figure 3, among the present invention, the installation of the usage license or more new technological process comprise following steps:
Step 301 receives the extraneous usage license installation kit of importing.
In this step, the functional module in the software protecting equipment uses control module to receive extraneous input usage license installation kit by communication interface.
Step 302, the legitimacy of inspection usage license installation kit.
Functional module in this step in the software protecting equipment uses control module to check the legitimacy of usage license installation kit.If illegal execution in step 305, if legal execution step 303.
The validity checking of usage license installation kit is the check code of this usage license installation kit of digital examination, thereby whether the publisher who determines this usage license installation kit is legal, and whether the data that this usage license is installed are correct and complete.
Described check code is that the password that the software developer uses predefined cryptographic algorithm and software developer to have calculates the usage license.
Described cryptographic algorithm can be the MAC algorithm, the Digital Signature Algorithm of hmac algorithm or asymmetric cryptography.
The key that the check code of this usage license installation kit of described inspection is to use predefined cryptographic algorithm and software protecting equipment to preserve is checked and verified the check code of the usage license of carrying in this usage license installation kit.
Described cryptographic algorithm can be the MAC algorithm, the signature verification algorithm of hmac algorithm or asymmetric cryptography.
Step 303, the validity of inspection usage license installation kit.
In this step, functional module uses control module to check the validity of this usage license installation kit in the software protecting equipment.If this usage license peace is subcontracted effectively execution in step 304, otherwise execution in step 305.
The validity check of usage license installation kit is whether this usage license installation kit of digital examination is applicable to this software protecting equipment, and for example: this software protecting equipment is not included in the scope of application of usage license installation kit; Whether be subjected to the influence of certain strategy that sets in advance and can not be used, for example: if this usage license installation kit is once effective, and on this software protecting equipment, installed, and then can not have been installed once more.
Step 304, the usage license of installation or update software functional module.
In this step, functional module uses control module to install as functional module or the renewal usage license in the software protecting equipment.
Described renewal or install and use permission and refer to: if the usage license of this functional module exists, then use the usage license of carrying in this usage license installation kit to upgrade the usage license of the functional module of appointment, if the authorization message of this functional module does not exist, then preserve the usage license of carrying in the usage license installation kit for this functional module.
Step 305, the installation process of the termination usage license.
In this step, functional module uses control module to stop the installation of the usage license in the software protecting equipment.
Software licensing is the access times of restricted software in the present embodiment.And use hmac algorithm to calculate the check code of usage license installation kit.And with USB conduct and extraneous communication interface, in the present embodiment, usage license installation kit is for once effective.
Fig. 4 is in the present embodiment, and functional module is used schematic flow sheet, and as shown in Figure 4, the use flow process of functional module comprises following steps:
Step 401 receives the request of extraneous functions of use module.
In this step, the functional module in the software protecting equipment uses control module to receive the request of extraneous calling functional modules by USB interface.
Step 402 is searched the usage license of this functional module.
In this step, the functional module in the software protecting equipment uses control module to search the usage license of the functional module of appointment.If do not find the mandate of this functional module, execution in step 406, if find, then execution in step 403.
Step 403 is checked the access times of this functional module.
In this step, functional module in the software protecting equipment uses control module to check access times in the usage license of this functional module, if access times are 0, and execution in step 406, if access times are non-0, then execution in step 404.
Step 404, access times successively decrease.
In this step, functional module in the software protecting equipment is used successively decrease access times in the usage license of this functional module of control module.
Step 405, calling functional modules.
In this step, the functional module in the software protecting equipment uses control module to call the functional module of appointment, and by the USB interface return results.
Step 406, the invoked procedure of expiry feature module.
In this step, the functional module in the software protecting equipment is used the invoked procedure of control module expiry feature module.
Fig. 5 is that the usage license in the present embodiment is installed or the renewal schematic flow sheet, and as shown in Figure 5, in the present embodiment, the installation or the renewal of the usage license comprise following steps:
Step 501 receives extraneous input usage license installation kit.
In this step, the functional module in the software protecting equipment uses control module to receive the usage license installation kit of extraneous input by USB interface.
Step 502, the HMAC value of inspection usage license installation kit.
In this step; functional module in the software protecting equipment uses control module according to the key value of preserving in advance; calculate the HMAC value of the usage license; the HMAC value of carrying in result of calculation and the usage license installation kit relatively; if in full accord, think that then the HMAC value is legal, execution in step 503; otherwise, think illegal execution in step 506.
Step 503, the applicability of the bag that the inspection usage license is installed.
In this step; functional module in the software protecting equipment uses the scope of application in the control module inspection usage license to describe part, if the scope of application includes this software protecting equipment in describing, then thinks to be suitable for execution in step 504; otherwise think inapplicable, execution in step 506.
Step 504 checks whether usage license installation kit was used.
In this step, functional module in the software protecting equipment uses control module to use preset rule to check that the sequence number in this usage license installation kit determines whether this usage license installation can be used.If can be used then execution in step 505, otherwise execution in step 506.
Step 505 is installed or the renewal usage license.
In this step, functional module uses control module to install as functional module or the renewal usage license in the software protecting equipment.
Described renewal or install and use permission and refer to: if the usage license of this functional module exists, then use the usage license of carrying in this usage license installation kit to upgrade the usage license of the functional module of appointment, if the authorization message of this functional module does not exist, then preserve the usage license of carrying in the usage license installation kit for this functional module.
Step 506, the installation process of the termination usage license.
In this step, functional module uses control module to stop the installation of the usage license in the software protecting equipment.