CN101404056B - Software protection method, apparatus and equipment - Google Patents

Software protection method, apparatus and equipment Download PDF

Info

Publication number
CN101404056B
CN101404056B CN2008102169979A CN200810216997A CN101404056B CN 101404056 B CN101404056 B CN 101404056B CN 2008102169979 A CN2008102169979 A CN 2008102169979A CN 200810216997 A CN200810216997 A CN 200810216997A CN 101404056 B CN101404056 B CN 101404056B
Authority
CN
China
Prior art keywords
time information
cryptographic algorithm
algorithm
information
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008102169979A
Other languages
Chinese (zh)
Other versions
CN101404056A (en
Inventor
刘学鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN2008102169979A priority Critical patent/CN101404056B/en
Publication of CN101404056A publication Critical patent/CN101404056A/en
Application granted granted Critical
Publication of CN101404056B publication Critical patent/CN101404056B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention is applicable to the communication safety field and provides a software protection method, a device and equipment. The method comprises the following steps: current time information of an operation system which operates an encrypted software is obtained; an encryption algorithm in an algorithm unit which is corresponding to the obtained current time information is called from a hardware encryption lock, thereby obtaining a return value of the encryption algorithm; whether a software is protected or not is judged according to the return value of the encryption algorithm. The embodiment of the invention realizes the protection of the software and reduces the risk that communication information between the encrypted software and the hardware encryption lock is eavesdropped effectively by obtaining the time information of the operation system and calling the encryption algorithm which is corresponding to the time information from the hardware encryption lock.

Description

A kind of guard method of software, device and equipment
Technical field
The invention belongs to the communication security field, relate in particular to a kind of guard method, device and equipment of software.
Background technology
The hardware encipher lock (is also referred to as hardware encryption card; be commonly called as softdog) be a kind of intelligent software protection instrument that provides for the software developer; be mounted in the special hardware on parallel port of computer or the USB mouth, comprise that a cover is applicable to the interface software and the tool software of various language.The hardware encipher lock is a kind of hardware based encryption technology, its objective is software is carried out encipherment protection, and software is not illegally used.
Adopt the hardware encipher lock as follows: to set in advance the corresponding relation between Query Value and the rreturn value to the process that software carries out encipherment protection.Application programming interfaces (the ApplicationProgram Interface that software provides by the hardware encipher lock; API); as the Query function; call the cryptographic algorithm of storing in advance in the hardware encipher lock; and with the input parameter of Query Value as this cryptographic algorithm; after cryptographic algorithm in the hardware encipher lock is carried out a series of processing to input parameter; return the rreturn value corresponding with input parameter; software is by comparing the rreturn value and the corresponding rreturn value that sets in advance of hardware encryption lock; can judge whether to have correct hardware encipher lock, thereby reach the purpose of encipherment protection software.
But because existing hardware encipher lock generally only provides limited algorithm stores unit, the corresponding a kind of cryptographic algorithm in different algorithm stores unit.The software developer is when encrypting software; usually only select fixing several cryptographic algorithm; each software all is identical with communication information between hardware encipher is locked; by the communication information between eavesdropping software and the hardware encipher lock; can crack the software of encrypted protection easily, cause the software pirate version.
Summary of the invention
The object of the present invention is to provide a kind of guard method of software, the communication information that is intended to solve between existing encrypted software and the hardware encipher lock is eavesdropped the problem that causes encryption software to crack easily easily.
The present invention is achieved in that a kind of guard method of software, and described method comprises the steps:
Obtain the current time information of the encrypted operating system of operation, described current time information comprises a plurality of temporal informations;
With each temporal information of the current time information that obtains Query Value when calling cryptographic algorithm respectively, Query Value when perhaps calling cryptographic algorithm according to each temporal information of the current time information that obtains is self-defined respectively, and call in the hardware encipher lock respectively and the cryptographic algorithm in the temporal information corresponding algorithm unit that obtains according to Query Value, obtain the rreturn value of each cryptographic algorithm;
When the rreturn value of each cryptographic algorithm is consistent with Query Value of storing in advance and the corresponding rreturn value in the corresponding relation between the rreturn value; encrypted software is not protected; when the Query Value of the rreturn value of one of them cryptographic algorithm and storage in advance and the corresponding rreturn value in the corresponding relation between the rreturn value when inconsistent, encrypted software is protected.
Another object of the present invention is to provide a kind of software protecting equipment, described device comprises:
Storage unit is used for the corresponding relation between storing queries value and the rreturn value;
The temporal information acquiring unit is used to obtain the current time information of the operating system of the encrypted software of operation, and described current time information comprises a plurality of temporal informations;
The algorithm invokes unit, each temporal information that is used for the current time information that will obtain is the Query Value when calling cryptographic algorithm respectively, Query Value when perhaps calling cryptographic algorithm according to each temporal information of the current time information that obtains is self-defined respectively, and call in the hardware encipher lock respectively and the cryptographic algorithm in the temporal information corresponding algorithm unit that obtains according to Query Value, obtain the rreturn value of each cryptographic algorithm;
The software protection judging unit; be used for when the Query Value of the rreturn value of each cryptographic algorithm and storage in advance and the corresponding rreturn value of the corresponding relation between the rreturn value are consistent; encrypted software is not protected; when the Query Value of the rreturn value of one of them cryptographic algorithm and storage in advance and the corresponding rreturn value in the corresponding relation between the rreturn value when inconsistent, encrypted software is protected.
Another object of the present invention is to provide a kind of software protection equipment that comprises described software protecting equipment.
In embodiments of the present invention, by obtaining the temporal information of operating system, call the cryptographic algorithm corresponding in the hardware encipher lock with described temporal information, only when judging that according to the rreturn value of cryptographic algorithm having legal hardware encipher locks, could move or use software, thereby realize protection software; Simultaneously because encrypted software and communication information between the hardware encipher lock are dynamically to change along with the variation of the temporal information of operating system, thereby effectively reduce the risk that software and the hardware encipher communication information between locking is eavesdropped.
Description of drawings
Fig. 1 is the realization flow figure of the guard method of the software that provides of the embodiment of the invention;
Fig. 2 is the structural representation of the hardware encipher lock that provides of the embodiment of the invention;
Fig. 3 is the realization flow figure of the method for protecting software of the employing that provides of embodiment of the invention hardware encipher lock shown in Figure 2;
Fig. 4 is the structural representation of the software protecting equipment that provides of the embodiment of the invention.
Embodiment
In order to make purpose of the present invention, technical scheme and advantage clearer,, the present invention is further elaborated below in conjunction with drawings and Examples.Should be appreciated that specific embodiment described herein only in order to explanation the present invention, and be not used in qualification the present invention.
In embodiments of the present invention; by obtaining the current time information of the operating system of moving encrypted software; with the current time information that obtains as the Query Value that calls cryptographic algorithm; perhaps according to the self-defined Query Value that calls cryptographic algorithm of current time information that obtains; call the cryptographic algorithm corresponding in the hardware encipher lock with the current time information that obtains; according to the rreturn value of cryptographic algorithm, can judge whether to have legal hardware encipher lock, thereby realize encipherment protection software.
The realization flow of the method for protecting software that the employing hardware encipher that Fig. 1 shows the embodiment of the invention to be provided is locked, details are as follows:
In step S101, obtain the temporal information of the operating system of the encrypted software of operation.
In embodiments of the present invention, encrypted software can obtain the temporal information of this operating system by the function of time that calls the operating system of moving encrypted software.Wherein temporal information is one or more combinations in time information, month information, date and time information, the time information.When obtaining the current time information of the encrypted software of operation, can obtain a plurality of different temporal informations.In another embodiment of the present invention, when the current time information of the operating system of obtaining the encrypted software of operation, can obtain a long-time information and a short time information, wherein short time information is in long-time range of information, as the current time information that can obtain operating system and current month information, also can obtain operating system current time information and month information combination, obtain the current time information of operating system simultaneously.
Obtain the current time information of operating system as the function of time that can adopt the employed development language of encrypted software to provide, as using function of time acquisition time information in the following Java language:
SimpleDateFormat?myFmt=new
SimpleDateFormat(″yyyy-MM-dd_HH-mm-ss″);
String?strDate=myFmt.format(new?Date(System.currentTimeMillis()));
Also can use the function of time acquisition time information in the following C# language:
DateTime?dt=DateTime.Now;
In step S102, call in the hardware encipher lock and the cryptographic algorithm in the temporal information corresponding algorithm unit that obtains, obtain the rreturn value of cryptographic algorithm.
In embodiments of the present invention, can lock the api interface that provides, as the cryptographic algorithm corresponding in Query (Query Value) the function call hardware encipher lock with the temporal information of obtaining by hardware encipher.The embodiment of the invention can be directly with the temporal information obtained as Query Value, in order to improve Cipher Strength, also can be according to the temporal information self-defined inquiry value of obtaining.When the Query Value when calling cryptographic algorithm was inconsistent, Query (Query Value) function had different rreturn values.
In another embodiment of the present invention, when being provided with a plurality of algorithm unit in the hardware encipher lock, can set in advance the corresponding relation of algorithm unit and temporal information with different cryptographic algorithm.This moment is when obtaining the current time information of the operating system of moving encrypted software, can obtain a plurality of temporal informations, call respectively this moment in the hardware encipher lock with the corresponding cryptographic algorithm of the temporal information of obtaining unit in cryptographic algorithm, obtain the rreturn value of each cryptographic algorithm.
In another embodiment of the present invention, when a plurality of temporal informations of obtaining comprise that a long-time information and a short time are during information, call respectively with this long-time information corresponding algorithm unit in cryptographic algorithm, and with this short time information corresponding algorithm unit in cryptographic algorithm, obtain the cryptographic algorithm corresponding with long-time information rreturn value and with the rreturn value of the corresponding cryptographic algorithm of short time information.
Long-time in embodiments of the present invention information can be time information, and short time information can be month information, and certainly, long-time information can be month information, and short time information can be date and time information, and the rest may be inferred.As obtain current time information and current month information, call in the hardware encipher lock and the cryptographic algorithm in the time information corresponding algorithm unit that obtains according to the current time information of obtaining again, obtain corresponding cryptographic algorithm rreturn value, call in the hardware encipher lock and the cryptographic algorithm of the month of obtaining in the information corresponding algorithm unit simultaneously, obtain corresponding cryptographic algorithm rreturn value according to current month information of obtaining.
In embodiments of the present invention, when encrypted software separated with the hardware encipher lock, encrypted software can be locked the api interface function that provides by the far call hardware encipher, to call the cryptographic algorithm in the corresponding algorithm unit in the hardware encipher lock.
In step S103, determine whether software is protected according to the rreturn value of cryptographic algorithm.
In embodiments of the present invention, the corresponding relation between storing queries value and the rreturn value in the database of software in advance, as shown in the table as the corresponding relation between hypothesis Query Value and the rreturn value:
Query Value Rreturn value
1 5
2 9
2006 32
2007 40
Corresponding relation in the above-mentioned table between Query Value and the rreturn value represents that when Query Value was 1, then Dui Ying rreturn value was 5, and when Query Value was 2, then Dui Ying rreturn value was 9, and the rest may be inferred.
This moment, the rreturn value according to cryptographic algorithm determined whether the step that software is protected is specially: whether whether the rreturn value of judging cryptographic algorithm consistent with the Query Value and the corresponding rreturn value in the corresponding relation between the rreturn value of storage in advance; if it is consistent; then judge and have legal hardware encipher lock; can continue operation this moment or use software; if it is inconsistent; then judge and do not have legal hardware encipher lock; this moment can software out of service or restriction use software, thereby reach the purpose of protection software.
In embodiments of the present invention, when the temporal information of obtaining not simultaneously, with calling different cryptographic algorithm, at same Query Value, the rreturn value of these cryptographic algorithm is inequality.Simultaneously directly with the Query Value of temporal information when calling cryptographic algorithm, Query Value when perhaps calling cryptographic algorithm according to temporal information is self-defined, because Query Value is dynamic change along with the variation of the temporal information of operating system, thus also dynamic change of the rreturn value that makes cryptographic algorithm along with the variation of the temporal information of operating system.Thereby when adopting said method that software is protected; communication information dynamic change between encrypted software and the hardware encipher lock along with the variation of temporal information; the communication information that has effectively reduced between encrypted software and the hardware encipher lock is eavesdropped, and the risk of the software pirate version that causes.
In another embodiment of the present invention; when in step S102, having called a plurality of cryptographic algorithm corresponding with the temporal information of obtaining; rreturn value according to a plurality of cryptographic algorithm determines whether the step that software is protected is specially: whether the rreturn value of judging each cryptographic algorithm is consistent with corresponding rreturn value in the corresponding relation between storing queries value and the rreturn value in advance; if it is consistent; then judge and have legal hardware encipher lock; can continue operation this moment or use software; if it is inconsistent; then judge do not have legal hardware encipher lock, this moment can software out of service or restriction use software.
In another embodiment of the present invention; when being provided with a plurality of algorithm unit in the hardware encipher lock with different cryptographic algorithm; can come software is protected by the corresponding relation between the algorithm unit in time information in the temporal information, month information, date and time information, time information etc. and the hardware encipher lock is set.
As in the hardware encipher lock, being provided with 13 algorithm units with different cryptographic algorithm, and one of them algorithm unit is corresponding with time information, other 12 algorithm units respectively with month information corresponding, then this moment, obtain respectively the operation encrypted software operating system time information and month information; Call in the hardware encipher lock with the time information corresponding algorithm unit that obtains in cryptographic algorithm, call simultaneously in the hardware encipher lock and the cryptographic algorithm of the month of obtaining in the information corresponding algorithm unit; Rreturn value according to two algorithms judges whether to have legal hardware encipher lock.The rest may be inferred, by the corresponding relation between algorithm unit and the temporal information is set arbitrarily, can call in the hardware encipher lock all with the temporal information corresponding algorithm unit that obtains in cryptographic algorithm, the cryptographic algorithm unit that is provided with in the hardware encipher lock is got over for a long time, and the security of software is also high more.
Below with time information and month information be combined as example, the embodiment of the invention is described in detail.See also Fig. 2, at least 13 algorithm units be set in hardware encipher lock, comprising a time algorithm unit and 12 month algorithm unit.Wherein the cryptographic algorithm of storing in the time algorithm unit is called the time algorithm, and this time algorithm unit is corresponding with time information.The algorithm of storing in the 12 month algorithm unit is called the month algorithm, this in 12 month algorithm unit respectively with 12 month information corresponding, be called algorithm unit in January, February algorithm unit, March algorithm unit ..., Dec algorithm unit.The position of each algorithm unit can be any, promptly the address of each algorithm unit can be continuously, and arrange in order, as shown in Figure 2, also can be discontinuous, not according to series arrangement.Adopt flow process that above-mentioned hardware encipher lock protects software as shown in Figure 3, details are as follows:
In step S301, obtain current month information of the operating system of the encrypted software of operation.
In embodiments of the present invention, can obtain current month information of this operating system by the function of time of operating system that calls the encrypted software of operation.In step S302, call in the hardware encipher lock and the corresponding month algorithm of current month information that obtains, obtain month algorithm rreturn value.
In embodiments of the present invention, when current month of obtaining during information inconsistency, month algorithm in the hardware encipher lock that then calls is also inconsistent, as when obtain current month, information was January the time, then call the cryptographic algorithm in the algorithm unit in January in the hardware encipher lock, and the like, do not repeat them here.
Corresponding month can call by the api interface that the hardware encipher lock provides during algorithm in calling hardware encipher lock, and as by corresponding month algorithm in Query (data) the function call hardware encipher lock, wherein data is a Query Value.In embodiments of the present invention, call corresponding month during algorithm, can be directly with obtain month information as calling corresponding month Query Value during algorithm, also can define the Query Value of month during algorithm that calls correspondence according to the month freedom of information of obtaining.Call month in the hardware encipher lock behind the algorithm, obtain month algorithm rreturn value.
In step S303, judge whether the month algorithm rreturn value of hardware encipher lock is correct, if correct, execution in step S304, otherwise, judge do not have legal hardware encipher lock, no longer carry out following steps.
Wherein judge hardware encipher lock month the algorithm rreturn value whether correct step is specially: whether the month algorithm rreturn value of judging the hardware encipher lock consistent with the Query Value and the corresponding rreturn value in the corresponding relation between the rreturn value of storing in advance, if it is consistent, execution in step S304 then, if it is inconsistent, then judge and do not have legal hardware encipher lock, no longer carry out following steps, this moment can software out of service or restriction use software.
In step S304, obtain the current time information of the operating system of the encrypted software of operation.
In embodiments of the present invention, can obtain the current time information of this operating system by the function of time that calls the operating system of moving encrypted software.
In step S305, call in the hardware encipher lock and the corresponding time algorithm of current time information that obtains, obtain time algorithm rreturn value.
In embodiments of the present invention, can call by the api interface that hardware encipher lock provides in the hardware encipher lock and the corresponding time algorithm of current time information that obtains, as time algorithm by correspondence in Query (data) the function call hardware encipher lock.Wherein the data value is the current time value of obtaining.Be worth not simultaneously when the time, then the rreturn value of Query function is also different.In embodiments of the present invention, can be directly with the time information obtained as calling corresponding time Query Value during algorithm, also can be according to the self-defined corresponding time Query Value during algorithm that calls of the time information of obtaining.
In step S306, whether the time algorithm rreturn value of judging the hardware encipher lock is correct, if it is correct, then judge and have legal hardware encipher lock, can continue operation this moment or use software, otherwise, judge do not have legal hardware encipher lock, at this moment, can software out of service or restriction use software.
In another embodiment of the present invention, also can obtain the current time information of the operating system of the encrypted software of operation earlier, call the time algorithm of the correspondence in the hardware encipher lock, obtain time algorithm rreturn value; Obtain current month information of the operating system of the encrypted software of operation again, call the month algorithm of the correspondence in the hardware encipher lock, obtain month algorithm rreturn value; When time algorithm rreturn value with when month, the algorithm rreturn value was all correct, then judge to have legal hardware encipher lock, otherwise judge do not have legal hardware encipher lock.
In embodiments of the present invention; by utilizing the temporal information of operating system; call the cryptographic algorithm corresponding in the hardware encipher lock with this temporal information; and the Query Value that will obtain according to this temporal information is as the input parameter of this cryptographic algorithm; rreturn value according to cryptographic algorithm can judge whether to have legal hardware encipher lock, thereby realizes the protection to software.Because the communication information between encrypted software is locked with hardware encipher is dynamic change along with the variation of the temporal information of operating system; thereby can effectively prevent by the communication information between eavesdropping computing machine and the hardware encipher lock; crack; effectively reduced the risk that software is cracked; in protection software, prevented the software pirate version.
Fig. 4 shows the structural representation of the software protecting equipment that the embodiment of the invention provides, and for convenience of explanation, only shows the part relevant with the embodiment of the invention.This software protecting equipment can be to be built in the unit that software unit, hardware cell or software and hardware in the software protection equipment combine; also can be used as independently, suspension member is integrated in the software protection equipment or runs in the application system of software protection equipment, wherein:
Corresponding relation between storage unit 41 storing queries values and the rreturn value.In embodiments of the present invention, Query Value can directly adopt one or more combinations in month information, time information, date and time information, the time information.
Temporal information acquiring unit 42 obtains the current time information of the operating system of the encrypted software of operation.In embodiments of the present invention, can obtain the current time information of this operating system by the function of time that calls the operating system of moving encrypted software.Wherein temporal information comprises one or more combinations in time information, month information, date and time information, the time information.
Algorithm invokes unit 43 calls the corresponding cryptographic algorithm of obtaining with temporal information acquiring unit 42 in the hardware encipher lock of current time information, and obtains the rreturn value of this cryptographic algorithm.In embodiments of the present invention, the api interface that provides can be locked by hardware encipher in algorithm invokes unit 43, as the cryptographic algorithm corresponding with the current time information that obtains in locking by Query (data) function call hardware encipher.Wherein data is the Query Value when calling corresponding cryptographic algorithm, can directly adopt the temporal information of obtaining as Query Value, also can be according to the temporal information self-defined inquiry value of obtaining.When the Query Value when calling algorithm is inconsistent, different rreturn values will be obtained.
In another embodiment of the present invention, when being provided with the polyalgorithm unit in the hardware encipher lock, can set in advance the corresponding relation of algorithm unit and temporal information, at this moment, algorithm invokes unit 43 calls all corresponding cryptographic algorithm of current time information of obtaining with temporal information acquiring unit 42 in the hardware encipher lock, obtains a plurality of rreturn values.
In another embodiment of the present invention, in the hardware encipher lock, be provided with multiple algorithm unit, and set in advance the time information in each algorithm unit and the temporal information, month information, corresponding relation between one or more combinations in date and time information or the time information, at this moment, temporal information acquiring unit 42 obtains the time information of the encrypted software of operation, month information, in date and time information or the time information one or more, algorithm invokes unit 43 calls in the hardware encipher lock respectively and the time information of obtaining, month information, the cryptographic algorithm of date and time information or time information correspondence obtains corresponding rreturn value.
The Query Value of storage and the corresponding relation between the rreturn value in rreturn value that software protection judging unit 44 obtains according to algorithm invokes unit 43 and the storage unit 41 judge whether to have legal hardware encipher lock.Its detailed process does not repeat them here as mentioned above.
In embodiments of the present invention, by obtaining the current time information of operating system, call the cryptographic algorithm corresponding in the hardware encipher lock with current time information, and with the Query Value of this temporal information as cryptographic algorithm, perhaps according to the Query Value of this temporal information Custom Encryption algorithm, rreturn value according to the cryptographic algorithm of calling judges whether to have legal hardware encipher lock again, when not having legal hardware encipher lock, restriction is used or this software out of service, thereby reaches the purpose of protection software; Simultaneously since the temporal information of obtaining not simultaneously, different cryptographic algorithm will be called, and the Query Value of cryptographic algorithm is also different, make the rreturn value of calling after the cryptographic algorithm also different, thereby make the communication information dynamic change between encrypted software and the hardware encipher lock along with the variation of the temporal information of operating system, thereby effectively avoided software being difficult to by piracy by eavesdropping the phenomenon that cracks of communication information between encrypted software and the hardware encipher lock.
The above only is preferred embodiment of the present invention, not in order to restriction the present invention, all any modifications of being done within the spirit and principles in the present invention, is equal to and replaces and improvement etc., all should be included within protection scope of the present invention.

Claims (8)

1. the guard method of a software is characterized in that, described method comprises the steps:
Obtain the current time information of the operating system of the encrypted software of operation, described current time information comprises a plurality of temporal informations;
With each temporal information of the current time information that obtains Query Value when calling cryptographic algorithm respectively, Query Value when perhaps calling cryptographic algorithm according to each temporal information of the current time information that obtains is self-defined respectively, and call in the hardware encipher lock respectively and the cryptographic algorithm in the temporal information corresponding algorithm unit that obtains according to Query Value, obtain the rreturn value of each cryptographic algorithm;
When the rreturn value of each cryptographic algorithm is consistent with Query Value of storing in advance and the corresponding rreturn value in the corresponding relation between the rreturn value; encrypted software is not protected; when the Query Value of the rreturn value of one of them cryptographic algorithm and storage in advance and the corresponding rreturn value in the corresponding relation between the rreturn value when inconsistent, encrypted software is protected.
2. the method for claim 1, it is characterized in that, when obtaining the current time information of operating system, a plurality of temporal informations of obtaining comprise a long-time information and a short time information, described short time information is in described long-time range of information, at this moment, described step is called in the hardware encipher lock and the cryptographic algorithm in the current time information corresponding algorithm unit that obtains, and the rreturn value that obtains cryptographic algorithm is specially:
Call in the hardware encipher lock with described long-time information corresponding algorithm unit in cryptographic algorithm, obtain the rreturn value of the cryptographic algorithm corresponding with described long-time information;
Call in the hardware encipher lock with described short time information corresponding algorithm unit in cryptographic algorithm, obtain the rreturn value of the cryptographic algorithm corresponding with described short time information.
3. as the described method of the arbitrary claim of claim 1 to 2, it is characterized in that the described current time information that obtains comprises one or more combinations in time information, month information, date and time information, the time information.
4. method as claimed in claim 3, it is characterized in that, when the long-time information of obtaining is current time information, the short time information of obtaining is that current month is during information, described call in the hardware encipher lock with the current time information corresponding algorithm unit that obtains in cryptographic algorithm, the step that obtains the rreturn value of cryptographic algorithm is specially:
Call in the hardware encipher lock and the cryptographic algorithm in the current time information corresponding algorithm unit that obtains, obtain time information rreturn value;
The current month of calling in the hardware encipher lock and obtaining the cryptographic algorithm in the information corresponding algorithm unit, obtain month information rreturn value.
5. as the described method of the arbitrary claim of claim 1 to 2, it is characterized in that the application programming interfaces that provide by the hardware encipher lock call the cryptographic algorithm corresponding with the current time information that obtains in the hardware encipher lock, obtain the rreturn value of cryptographic algorithm.
6. a software protecting equipment is characterized in that, described device comprises:
Storage unit is used for the corresponding relation between storing queries value and the rreturn value;
The temporal information acquiring unit is used to obtain the current time information of the operating system of the encrypted software of operation, and described current time information comprises a plurality of temporal informations;
The algorithm invokes unit, each temporal information that is used for the current time information that will obtain is the Query Value when calling cryptographic algorithm respectively, Query Value when perhaps calling cryptographic algorithm according to each temporal information of the current time information that obtains is self-defined respectively, and call in the hardware encipher lock respectively and the cryptographic algorithm in the temporal information corresponding algorithm unit that obtains according to Query Value, obtain the rreturn value of each cryptographic algorithm;
The software protection judging unit; be used for when the Query Value of the rreturn value of each cryptographic algorithm and storage in advance and the corresponding rreturn value of the corresponding relation between the rreturn value are consistent; encrypted software is not protected; when the Query Value of the rreturn value of one of them cryptographic algorithm and storage in advance and the corresponding rreturn value in the corresponding relation between the rreturn value when inconsistent, encrypted software is protected.
7. device as claimed in claim 6, it is characterized in that, a plurality of temporal informations of obtaining when described temporal information acquiring unit comprise a long-time information and a short time information, described short time information is in described long-time range of information the time, described algorithm invokes unit call respectively in the hardware encipher lock with described long-time information corresponding algorithm unit in cryptographic algorithm and with described short time information corresponding algorithm unit in cryptographic algorithm, obtain the cryptographic algorithm corresponding with described long-time information rreturn value and with the rreturn value of the corresponding cryptographic algorithm of described short time information.
8. software protection equipment that comprises the described software protecting equipment of the arbitrary claim of claim 6 to 7.
CN2008102169979A 2008-10-29 2008-10-29 Software protection method, apparatus and equipment Active CN101404056B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102169979A CN101404056B (en) 2008-10-29 2008-10-29 Software protection method, apparatus and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102169979A CN101404056B (en) 2008-10-29 2008-10-29 Software protection method, apparatus and equipment

Publications (2)

Publication Number Publication Date
CN101404056A CN101404056A (en) 2009-04-08
CN101404056B true CN101404056B (en) 2011-03-16

Family

ID=40538067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102169979A Active CN101404056B (en) 2008-10-29 2008-10-29 Software protection method, apparatus and equipment

Country Status (1)

Country Link
CN (1) CN101404056B (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968844A (en) * 2010-10-13 2011-02-09 深圳市华域软件有限公司 Software encryption method
CN102136052A (en) * 2011-04-29 2011-07-27 北京深思洛克软件技术股份有限公司 Software protecting method
CN102289629A (en) * 2011-07-25 2011-12-21 深圳和而泰智能控制股份有限公司 Encryption system and method and singlechip system
CN102855422B (en) * 2012-08-21 2015-03-04 飞天诚信科技股份有限公司 Method and device for identifying pirated encryption lock
WO2014040278A1 (en) * 2012-09-14 2014-03-20 齐晓燕 Method, circuit and device for encrypting integrated circuit of single chip microcomputer
CN104657763A (en) * 2015-02-13 2015-05-27 立德高科(北京)数码科技有限责任公司 Two-dimension code as well as two-dimension code generating method and generating device
CN104616044A (en) * 2015-02-13 2015-05-13 立德高科(北京)数码科技有限责任公司 Two-dimension code and generating method and generating device thereof
CN104657764A (en) * 2015-02-13 2015-05-27 立德高科(北京)数码科技有限责任公司 Special two-dimensional code corresponding to ticket information and generation method of special two-dimensional code
CN104616043A (en) * 2015-02-13 2015-05-13 立德高科(北京)数码科技有限责任公司 Special two-dimensional code corresponding to information recorded in postcard and generation method of two-dimensional code
CN104616045A (en) * 2015-02-13 2015-05-13 立德高科(北京)数码科技有限责任公司 Two-dimension code and generating method and generating device thereof
CN104598952A (en) * 2015-02-13 2015-05-06 立德高科(北京)数码科技有限责任公司 Special two-dimensional code corresponding to recorded letter content and generation method thereof
CN104680219A (en) * 2015-02-13 2015-06-03 立德高科(北京)数码科技有限责任公司 Special two-dimensional code corresponding to information recorded in red packet and generating method for special two-dimensional code
CN104616042A (en) * 2015-02-13 2015-05-13 立德高科(北京)数码科技有限责任公司 Special two-dimensional code corresponding to gift detail and generation mode of special two-dimensional code
CN104636783B (en) * 2015-02-25 2018-03-02 立德高科(北京)数码科技有限责任公司 Based on present system time with generate carry Net silver information Quick Response Code method
CN104616046A (en) * 2015-02-28 2015-05-13 立德高科(北京)数码科技有限责任公司 Two-dimension code and generation method and identification method thereof
CN104636785B (en) * 2015-02-28 2018-08-07 北京慧眼食珍科技有限公司 Quick Response Code, generation method with Quick Response Code software installation information and recognition methods
CN104616047A (en) * 2015-02-28 2015-05-13 立德高科(北京)数码科技有限责任公司 Two-dimension code and generation method and identification method thereof
CN104616048A (en) * 2015-02-28 2015-05-13 立德高科(北京)数码科技有限责任公司 Two-dimension code and generation method and identification method thereof
CN104636784A (en) * 2015-02-28 2015-05-20 立德高科(北京)数码科技有限责任公司 Two-dimensional code, and generation method and identification method thereof
CN105224830B (en) * 2015-09-21 2018-03-30 广州碧德电子科技有限公司 A kind of communication software authorizing secure management method
CN105468937A (en) * 2015-11-13 2016-04-06 北京恒华伟业科技股份有限公司 Method and device for controlling encryption lock
CN106339622A (en) * 2016-10-28 2017-01-18 无锡海斯凯尔医学技术有限公司 Medical Equipment's Control Methods and the Apparatus
CN106778097A (en) * 2017-01-16 2017-05-31 中兴智能视觉大数据技术(湖北)有限公司 A kind of encryption lock for safety check security protection background management system
CN111104668B (en) * 2019-12-23 2022-03-01 恒宝股份有限公司 Implementation method and application of return value of security authentication function

Also Published As

Publication number Publication date
CN101404056A (en) 2009-04-08

Similar Documents

Publication Publication Date Title
CN101404056B (en) Software protection method, apparatus and equipment
CN100487715C (en) Date safety storing system, device and method
CN102227734B (en) Client computer for protecting confidential file, server computer therefor, method therefor
CN109067528B (en) Password operation method, work key creation method, password service platform and equipment
CN103106372B (en) For lightweight privacy data encryption method and the system of android system
US11025415B2 (en) Cryptographic operation method, method for creating working key, cryptographic service platform, and cryptographic service device
CN101079882A (en) Posture-based data protection
CN102855446A (en) Resource management system and corresponding method
CN111327616A (en) Key management method, device, equipment and computer readable storage medium
CN110990851B (en) Static data encryption protection method and system
CN112953974B (en) Data collision method, device, equipment and computer readable storage medium
CN106992978A (en) Network safety managing method and server
US20060272004A1 (en) Granting an access to a computer-based object
CN101106451B (en) A data transmission method and device
CN111666558B (en) Key rotation method, device, computer equipment and storage medium
CN103336918B (en) Electronic hard disk system authorization method and device
CN101159542B (en) Method and system for saving and/or obtaining authentication parameter on terminal network appliance
JP4836504B2 (en) IC chip, board, information processing apparatus and computer program
CN115242382A (en) Data encryption and decryption method, system and storage medium of multi-tenant model
CN114866317A (en) Multi-party data security calculation method and device, electronic equipment and storage medium
CN113938878A (en) Equipment identifier anti-counterfeiting method and device and electronic equipment
CN101281569A (en) Method for using network edition software protecting equipment to control software client terminal quantity
CN105740726A (en) Extended information encryption method and system
CN104392153A (en) Software protection method and system
CN111914289B (en) Application program configuration information protection method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant