CN103186729A - Encryption lock and method for protecting software by utilizing encryption lock - Google Patents

Encryption lock and method for protecting software by utilizing encryption lock Download PDF

Info

Publication number
CN103186729A
CN103186729A CN201310100017XA CN201310100017A CN103186729A CN 103186729 A CN103186729 A CN 103186729A CN 201310100017X A CN201310100017X A CN 201310100017XA CN 201310100017 A CN201310100017 A CN 201310100017A CN 103186729 A CN103186729 A CN 103186729A
Authority
CN
China
Prior art keywords
encryption lock
software
self
instruction
timer
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.)
Granted
Application number
CN201310100017XA
Other languages
Chinese (zh)
Other versions
CN103186729B (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.)
Beijing Senseshield Technology Co Ltd
Original Assignee
Beijing Senseshield Technology 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 Beijing Senseshield Technology Co Ltd filed Critical Beijing Senseshield Technology Co Ltd
Priority to CN201310100017.XA priority Critical patent/CN103186729B/en
Publication of CN103186729A publication Critical patent/CN103186729A/en
Application granted granted Critical
Publication of CN103186729B publication Critical patent/CN103186729B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

The invention discloses an encryption lock and a method for protecting software by utilizing the encryption lock. The method for protecting software by utilizing the encryption lock comprises the following steps of: sending a timing starting instruction to the encryption lock by the software; carrying out automatically checking on the encryption lock to determine whether the encryption lock is in a self-locking state, if the encryption lock is not in the self-locking state, starting a timer to accumulate time by the encryption lock; sending a function calling instruction and required data to the encryption lock by the software; checking by the encryption lock to determine whether the current accumulated time exceeds a preset value or not, if the current accumulated time exceeds the preset value, switching the encryption lock into a self-locking state, if the current accumulated time does not exceed the preset value, returning a processing result to the software by the encryption lock; sending a timing stopping instruction to the encryption lock by the software; checking by the encryption lock to determine whether the current accumulated time exceeds a preset value or not, if the current accumulated time exceeds the preset value, switching the encryption lock into the self-locking state, and if the current accumulated time does not exceed the preset value, stopping timing of the timer, wherein the encryption lock is waited to be called next time. The timer inside the encryption lock is utilized for limiting time of a software calling encryption lock, so that dynamic debugging difficulty of a breaker and breaking difficulty are effectively increased.

Description

The method and the encryption lock that utilize encryption lock that software is protected
Technical field
The present invention relates to the software protection field, particularly a kind of method and encryption lock that utilizes encryption lock that software is protected.
Background technology
Software is as a kind of special product, because the feature of its pure digi-talization just suffers pirate puzzlement from coming out always.Pirate existence has not only caused tremendous loss to the software developer, has also greatly hindered the development of whole software industry.Therefore, nearly all software has all taked corresponding technical measures to avoid software to be cracked and piracy, wherein the most effectively is exactly hardware based encryption lock technology.
Encryption lock is a hardware device that is connected on computer parallel port or the USB mouth, and inside comprises specific function, for example a part of storage space, some cryptographic algorithms or some user-defined algorithm or function.Before software publishing, the software developer revises the software code of oneself, make software in operational process, need to use some functions of encryption lock inside, software leaves encryption lock and just can't move like this, encryption lock is as a kind of hardware device simultaneously, the difficulty that copies is bigger, thereby plays the illegal effect of propagating of piracy software that prevents.
Encryption lock main on the current market comprises: the Hasp HL of the Sentinel Superpro of U.S. SafeNet company, Israel Aladdin company, BeiJing, China deep thinking Lip river grams is according to the WIBU-Key of the crack IV at protection center and German Wi-Bu company etc.All these encryption locks all provide built-in storage space, privately owned or disclosed cryptographic algorithm, in software running process, can call these functions and verify whether belong to legal.
The intensity of software copyright protection depends on two aspects: the firstth, and the reliability of encryption lock comprises the security of its hardware, the security of internal algorithm; The secondth, the compactedness of combination between software and the encryption lock.Corresponding, cracking of software also is to start with from these two aspects.As a rule, if the hardware safe enough of encryption lock is for example selected the very high intelligent card chip of level of security for use, and adopt international cryptographic algorithm or user-defined comparatively complicated algorithm, the security of hardware is than higher.That is to say the very difficult piracy of starting with to make software from encryption lock self of cracker.In most cases, the cracker can utilize various software debugging aids, to following the tracks of with communicating by letter of encryption lock in the software running process, thereby learn that software to the use intention of encryption lock, makes piracy by the modes such as function of software patch installing, analog encryption lock then.That is to say that in fact the intensity of software copyright protection depend on the tightness degree that software and encryption lock bundle, this binding is more tight, and the cracker just more is difficult to realize peel off (namely pirate) of encryption lock.
Yet, because the opening of operating system, whole implementations of software are under cracker's monitoring, in other words, the cracker can follow the tracks of any one link of software execute process, comprise the communication process of software and encryption lock, and call the result treatment process behind the encryption lock.And in the existing method, encryption lock is to belong to slave, each invoked procedure all is that the passive input according to application software provides corresponding result, not free restriction in the process of software transfer and hardware output is under this mode, when the cracker cracks certain pass point, only need dynamic debugging software, breakpoint is set near pass point, and the patient software function of analyzing this part, calls rule and return results use-pattern, thereby realize cracking.
Summary of the invention
The purpose of this invention is to provide a kind of method and encryption lock that utilizes encryption lock that software is protected, cause the problem of software easy crack to solve in the prior art because of not free restriction in the process of software transfer and hardware output.
To achieve these goals, the invention provides a kind of method of utilizing encryption lock that software is protected, described running software is in terminal device, and described terminal device and encryption lock communicate to connect mutually, said method comprising the steps of:
S1: software sends the instruction that picks up counting to encryption lock;
S2: encryption lock receives the described instruction back that picks up counting and checks self whether to be in self-locking state, if then encryption lock can not be called, finishes to carry out; If not, execution in step S3 then;
S3: encryption lock starts built-in timer and begins the cumulative time, and sends the permission call instruction to software;
S4: software receives behind the described permission call instruction to encryption lock sending function call instruction and desired data;
S5: encryption lock receive check the current accumulative total of described timer behind the instruction of described funcall and the desired data time whether above predetermined value, if, execution in step S10 then, if not, execution in step S6 then;
S6: encryption lock returns to software with result after described desired data is handled;
S7: software sends termination timing instruction to encryption lock after receiving described return results;
S8: encryption lock receives described termination timing instruction back and checks whether the time of the current accumulative total of described timer surpass described predetermined value, if, execution in step S10 then, if not, execution in step S9 then;
S9: described timer stops timing, and encryption lock is waited for next time and called;
S10: encryption lock enters self-locking state.
As preferably, described terminal device and communication mode between the encryption lock are that serial interface communication, parallel interface are communicated by letter, 1394 interface communications, radio-frequency (RF) identification interface communication, wireless lan interfaces are communicated by letter, USB (universal serial bus) is communicated by letter, Bluetooth communication, infrared communication, Wireless Fidelity is communicated by letter or ISO7816 communicates by letter.
As preferably, among the step S2, if encryption lock is in self-locking state, then also comprise: encryption lock returns the step of predefined error code to software.
As preferably, among the step S3, the time of accumulative total when elder generation's zero clearing was called last time during described timer initiation.
As preferably, among the step S9, described timer stops after the timing time zero clearing with accumulative total.
To achieve these goals, the present invention also provides a kind of encryption lock, be used for software is protected, described running software is in terminal device, described terminal device and encryption lock communicate to connect mutually, and described encryption lock comprises first judge module, communication module, self-locking module, data processing module, timer and second judge module;
Described first judge module is used for receiving the instruction back that picks up counting that software sends at described encryption lock and checks whether encryption lock is in self-locking state, and described self-locking state is that encryption lock can not invoked state;
Described timer is used for judging encryption lock when described first judge module not to begin the cumulative time when being in self-locking state;
Described communication module is used for when described first judge module judges that encryption lock is in self-locking state sending to software and allows call instruction, and receiving software receives the funcall that sends to encryption lock behind the described permission call instruction and instructs and desired data;
Described second judge module is used for checking that whether the time of the current accumulative total of described timer is above predetermined value after described encryption lock receives funcall instruction that software sends and desired data;
Described self-locking module is used for judging the time of the current accumulative total of described timer when described second judge module makes encryption lock enter self-locking state when surpassing predetermined value;
Described data processing module is used for time when described second judge module current accumulative total of the described timer of judgement after encryption lock receives funcall instruction that software sends and desired data to be handled described desired data during above predetermined value;
Described communication module also is used for the result of described data processing module is returned to software;
Described second judge module is used for also checking whether the time of the current accumulative total of described timer surpasses described predetermined value after described encryption lock receives the termination timing instruction of software transmission;
Described timer also is used for judging that in the termination timing instruction back that described encryption lock receives the software transmission time of the current accumulative total of described timer stops timing when surpassing predetermined value when described second judge module.
As preferably, described terminal device and communication mode between the encryption lock are that serial interface communication, parallel interface are communicated by letter, 1394 interface communications, radio-frequency (RF) identification interface communication, wireless lan interfaces are communicated by letter, USB (universal serial bus) is communicated by letter, Bluetooth communication, infrared communication, Wireless Fidelity is communicated by letter or ISO7816 communicates by letter.
As preferably, also comprise the error code sending module, it is used for returning predefined error code to software when described first judge module is checked through encryption lock and is in self-locking state.
As preferably, described predetermined value is default or set by the software developer by encryption lock provider.
As preferably, described timer also is used for the time of accumulative total when stopping after the timing with the time zero clearing of accumulative total or when starting that zero clearing was called last time.
Compared with prior art; the present invention has following beneficial effect: by method provided by the invention and encryption lock; during the protected software of the dynamic mode of cracker; if the cracker analyzes and the time of debugging software has surpassed the predetermined value of setting in the encryption lock; encryption lock will self-locking so; after this software can't call the function in the encryption lock, and this has just prevented that the cracker from following the tracks of the output result of encryption lock, improved the anti-ability of cracking largely.
Description of drawings
Fig. 1 is the schematic flow sheet that utilizes the method that encryption lock protects software of the present invention;
Fig. 2 is the structural representation of encryption lock of the present invention.
Embodiment
Below in conjunction with accompanying drawing specific embodiments of the invention are elaborated.
As shown in Figure 1, provide a kind of method of utilizing encryption lock that software is protected, described running software is in terminal device, and described terminal device and encryption lock communicate to connect mutually, said method comprising the steps of:
S1: software sends the instruction that picks up counting to encryption lock;
S2: encryption lock receives the described instruction back that picks up counting and checks self whether to be in self-locking state, if then encryption lock can not be called, finishes to carry out; If not, execution in step S3 then;
S3: encryption lock starts built-in timer and begins the cumulative time, and sends the permission call instruction to software;
S4: software receives behind the described permission call instruction to encryption lock sending function call instruction and desired data;
S5: encryption lock receive check the current accumulative total of described timer behind the instruction of described funcall and the desired data time whether above predetermined value, if, execution in step S10 then, if not, execution in step S6 then;
S6: encryption lock returns to software with result after described desired data is handled;
S7: software sends termination timing instruction to encryption lock after receiving described return results;
S8: encryption lock receives described termination timing instruction back and checks whether the time of the current accumulative total of described timer surpass described predetermined value, if, execution in step S10 then, if not, execution in step S9 then;
S9: described timer stops timing, and encryption lock is waited for next time and called;
S10: encryption lock enters self-locking state.
Wherein, described encryption lock and communication mode between the main frame can be that serial interface communication, parallel interface are communicated by letter, 1394 interface communications, radio-frequency (RF) identification (RFID) interface communication, wireless lan interfaces (IEEE802.11 interface etc.) communication, USB (universal serial bus) (USB) interface communication, Bluetooth communication, infrared communication, Wireless Fidelity (Wi-Fi) communication and ISO7816 communication etc.
When encryption lock is in self-locking state, software can't call the predefine function in the encryption lock, if software sends pick up counting instruction or funcall instruction to encryption lock again, encryption lock will return predefined error code.
Described predetermined value can be default by encryption lock provider, also can make setting by oneself by the software developer.
Encryption lock can also can continue timer zero clearing and reclocking to increase progressively based on current cumulative time value after executing the interior function of lock, waits for next funcall instruction or stops the timing instruction.
Below by encryption and the protection procedure declaration method of the present invention to certain word processor.This is for a simplified embodiment of the present invention is described, actual ciphering process than this example complexity many, suppose in this example that only the setting of printing process to Word is encrypted, step is as follows:
One, determines the functional imperative that software need be encrypted, such as the spacing of the size of size, the font of the control page, font, number of print pages etc.; That is to say that when protected software need print, result and the encryption lock internal calculation of the size of its page, the size of font, font spacing are closely related.
Two, software sends the instruction that picks up counting to encryption lock, if not self-locking of encryption lock then starts timer, and the beginning cumulative time.
Three, software is to encryption lock sending function call instruction, and characteristic information that simultaneously will printed contents sends to encryption lock, for example: the number of print pages of number of words, paragraph number, expection.After encryption lock receives above-mentioned instruction and data, check earlier whether current cumulative time value surpasses the maximum limit definite value, if do not surpass the maximum limit definite value, call inner corresponding functional module so, estimate the spacing of the size of font, font and the size of the page according to the number of print pages of number of words, paragraph number, expection, will estimate that the result exports to software after calculating finishes.
Four, in step 3, if software has been finished the funcall in the encryption lock, then send to encryption lock and stop the timing instruction, after encryption lock receives instruction, check whether current cumulative time value surpasses the maximum limit definite value, if do not surpass the maximum limit definite value, encryption lock will stop timing so, and with the timer zero clearing, wait for and calling in limited time next time.
In conjunction with Fig. 2, below encryption lock provided by the invention is elaborated.
The encryption lock device is the hardware device for software copyright protection, comprises MCU, storer and the interface module that is connected with CPU.Described storer is connected with MCU, is used for preserving user's data; Described interface module is connected with MCU, is responsible for communicating by letter between MCU and the host CPU.Described MCU, storer, interface module also can be integrated in the same chip, provide all functions by single chip.
Encryption lock device inside comprises: communication module 1, management of process module 2, resource management module 3.
Communication module 1 is responsible for communicating by letter between encryption lock and the terminal device (for example main frame), and communication mode can be serial interface communication, parallel interface communication, 1394 interface communications, radio-frequency (RF) identification (RFID) interface communication, wireless lan interfaces (IEEE802.11 interface etc.) communication, USB (universal serial bus) (USB) interface communication, blue tooth interface communication, infrared interface communication, Wireless Fidelity (Wi-Fi) interface communication, ISO7816 serial communication etc.
Management of process module 2 is responsible for startup, execution and the termination of process.Described management of process module 2 can be by communicating between communication module 1 and the main frame, and behind the process initiation, process also can be by communicating between communication module 1 and the main frame.Management of process module 2 can start process as required voluntarily, for example namely starts process behind encryption lock device electrifying startup, also can be after the instruction that receives main frame the startup process.Namely enter implementation behind the process initiation, described process can be a program code that circulation is carried out, and remains running status before management of process module 2 stops the execution of process.Call instruction, the desired data that process in the process of implementation can the receiving computer main frame sends, obtain result instruction etc., transfer to corresponding program branches in inside according to the requirement of instruction, finish the processing procedure that needs.Described internal processes branch can be the predefined built-in function of encryption lock, such as encryption or the decryption processing of data, also can be user-defined usability of program fragments.
The encryption lock device provides required internal memory for the execution of process, in have the chip internal of encryption lock device, the outside can't directly be visited, to guarantee the safety of inner execution environment.Process can be placed on net result or the required intermediate variable of handling in the internal memory of encryption lock inside; when the protected software program need be used the result that certain calls, the protected software program be taken out and be sent to process can with required data by communication module 1 or by administration module and communication module 1 from internal memory.
Resource management module 3 is responsible for the resource of encryption lock device inside is managed, and comprises that the nonvolatile memory cell of foregoing memory management, encryption lock device inside is managed (for example Flash or EEPROM), other IO port except the IO port that interface module uses etc.Described process can conduct interviews by 3 pairs of described resources of resource management module, for example write in Flash or the EEPROM or sense data, by control certain IO port realize pilot lamp bright, go out etc.Resource management module 3 also can directly link to each other with communication module 1, does not directly provide the visit of the non-sensitive resource of part to main frame by process under in check situation, for example light on and off of pilot lamp.
Encryption lock of the present invention inside also comprises except comprising above-mentioned basic module: first judge module 4, self-locking module 7, data processing module 8, error code sending module 9, timer 5 and second judge module 6;
First judge module 4 is used for checking whether encryption lock is in self-locking state after described encryption lock receives the instruction that picks up counting of software transmission, if then encryption lock can not be called; If not, then described encryption lock starts the described 5 beginning cumulative times of timer, and sends the permission call instruction to software;
Error code sending module 9 is used for returning predefined error code to software when first judge module 4 is checked through encryption lock and is in self-locking state;
Timer 5 is used for judging that when first judge module 4 encryption lock does not begin the cumulative time when being in self-locking state;
Communication module 1 is used for sending the permission call instruction to software when first judge module 4 judges that encryption lock is not in self-locking state;
Second judge module 6 is used for checking that whether the time of described timer 5 current accumulative totals is above predetermined value after described encryption lock receives funcall instruction that software sends and desired data, if, then encryption lock enters self-locking state, if not, then encryption lock returns to software with result after described desired data is handled;
Self-locking module 7 is used for judging the time of timer 5 current accumulative totals when second judge module 6 makes encryption lock enter self-locking state when surpassing predetermined value;
Data processing module 8 is used for time when second judge module 6 judgement timer 5 current accumulative totals after encryption lock receives funcall instruction that software sends and desired data to be handled described desired data during above predetermined value;
Communication module 1 also is used for the result of data processing module 8 is returned to software;
Second judge module 6 is used for also checking whether the time of described timer 5 current accumulative totals surpasses described predetermined value after described encryption lock receives the termination timing instruction of software transmission, if, then encryption lock enters self-locking state, if not, then described timer 5 stops timing, and encryption lock is waited for next time and called;
Timer 5 also is used for judging the time of timer 5 current accumulative totals when second judge module 6 after described encryption lock receives the termination timing instruction of software transmission and does not stop timing when surpassing predetermined value, with the time zero clearing that adds up.
When encryption lock is in self-locking state, software can't call the predefine function in the encryption lock.If software sends pick up counting instruction or funcall instruction to encryption lock again, encryption lock will return predefined error code.
Described predetermined value can be default by encryption lock provider, also can make setting by oneself by the software developer.
Encryption lock can also can continue timer 5 zero clearings and reclocking to increase progressively based on current cumulative time value after executing the interior function of lock, waits for next funcall instruction or stops the timing instruction.
Above embodiment is exemplary embodiment of the present invention only, is not used in restriction the present invention, and protection scope of the present invention is defined by the claims.Those skilled in the art can make various modifications or be equal to replacement the present invention in essence of the present invention and protection domain, this modification or be equal to replacement and also should be considered as dropping in protection scope of the present invention.

Claims (10)

1. method of utilizing encryption lock that software is protected, described running software is in terminal device, and described terminal device and encryption lock communicate to connect mutually, it is characterized in that, said method comprising the steps of:
S1: software sends the instruction that picks up counting to encryption lock;
S2: encryption lock receives the described instruction back that picks up counting and checks self whether to be in self-locking state, if then encryption lock can not be called, finishes to carry out; If not, execution in step S3 then;
S3: encryption lock starts built-in timer and begins the cumulative time, and sends the permission call instruction to software;
S4: software receives behind the described permission call instruction to encryption lock sending function call instruction and desired data;
S5: encryption lock receive check the current accumulative total of described timer behind the instruction of described funcall and the desired data time whether above predetermined value, if, execution in step S10 then, if not, execution in step S6 then;
S6: encryption lock returns to software with result after described desired data is handled;
S7: software sends termination timing instruction to encryption lock after receiving described return results;
S8: encryption lock receives described termination timing instruction back and checks whether the time of the current accumulative total of described timer surpass described predetermined value, if, execution in step S10 then, if not, execution in step S9 then;
S9: described timer stops timing, and encryption lock is waited for next time and called;
S10: encryption lock enters self-locking state.
2. the method for utilizing encryption lock that software is protected according to claim 1; it is characterized in that described terminal device and communication mode between the encryption lock are that serial interface communication, parallel interface are communicated by letter, 1394 interface communications, radio-frequency (RF) identification interface communication, wireless lan interfaces are communicated by letter, USB (universal serial bus) is communicated by letter, Bluetooth communication, infrared communication, Wireless Fidelity is communicated by letter or ISO7816 communicates by letter.
3. the method for utilizing encryption lock that software is protected according to claim 1 is characterized in that, among the step S2, if encryption lock is in self-locking state, then also comprises: encryption lock returns the step of predefined error code to software.
4. the method for utilizing encryption lock that software is protected according to claim 1 is characterized in that, among the step S3, and the time of accumulative total when elder generation's zero clearing was called last time during described timer initiation.
5. the method for utilizing encryption lock that software is protected according to claim 1 is characterized in that, among the step S9, described timer stops after the timing time zero clearing with accumulative total.
6. encryption lock, be used for software is protected, described running software is in terminal device, described terminal device and encryption lock communicate to connect mutually, it is characterized in that described encryption lock comprises first judge module, communication module, self-locking module, data processing module, timer and second judge module;
Described first judge module is used for receiving the instruction back that picks up counting that software sends at described encryption lock and checks whether encryption lock is in self-locking state, and described self-locking state is that encryption lock can not invoked state;
Described timer is used for judging encryption lock when described first judge module not to begin the cumulative time when being in self-locking state;
Described communication module is used for when described first judge module judges that encryption lock is in self-locking state sending to software and allows call instruction, and receiving software receives the funcall that sends to encryption lock behind the described permission call instruction and instructs and desired data;
Described second judge module is used for checking that whether the time of the current accumulative total of described timer is above predetermined value after described encryption lock receives funcall instruction that software sends and desired data;
Described self-locking module is used for judging the time of the current accumulative total of described timer when described second judge module makes encryption lock enter self-locking state when surpassing predetermined value;
Described data processing module is used for time when described second judge module current accumulative total of the described timer of judgement after encryption lock receives funcall instruction that software sends and desired data to be handled described desired data during above predetermined value;
Described communication module also is used for the result of described data processing module is returned to software;
Described second judge module is used for also checking whether the time of the current accumulative total of described timer surpasses described predetermined value after described encryption lock receives the termination timing instruction of software transmission;
Described timer also is used for judging that in the termination timing instruction back that described encryption lock receives the software transmission time of the current accumulative total of described timer stops timing when surpassing predetermined value when described second judge module.
7. encryption lock according to claim 6, it is characterized in that described terminal device and communication mode between the encryption lock are that serial interface communication, parallel interface are communicated by letter, 1394 interface communications, radio-frequency (RF) identification interface communication, wireless lan interfaces are communicated by letter, USB (universal serial bus) is communicated by letter, Bluetooth communication, infrared communication, Wireless Fidelity is communicated by letter or ISO7816 communicates by letter.
8. encryption lock according to claim 6 is characterized in that, also comprises the error code sending module, and it is used for returning predefined error code to software when described first judge module is checked through encryption lock and is in self-locking state.
9. encryption lock according to claim 6 is characterized in that, described predetermined value is preset by encryption lock provider or set by the software developer.
10. encryption lock according to claim 6 is characterized in that, described timer also is used for the time of accumulative total when stopping after the timing with the time zero clearing of accumulative total or when starting that zero clearing was called last time.
CN201310100017.XA 2013-03-26 2013-03-26 The method utilizing encryption lock to protect software and encryption lock Active CN103186729B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310100017.XA CN103186729B (en) 2013-03-26 2013-03-26 The method utilizing encryption lock to protect software and encryption lock

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310100017.XA CN103186729B (en) 2013-03-26 2013-03-26 The method utilizing encryption lock to protect software and encryption lock

Publications (2)

Publication Number Publication Date
CN103186729A true CN103186729A (en) 2013-07-03
CN103186729B CN103186729B (en) 2016-04-06

Family

ID=48677893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310100017.XA Active CN103186729B (en) 2013-03-26 2013-03-26 The method utilizing encryption lock to protect software and encryption lock

Country Status (1)

Country Link
CN (1) CN103186729B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104504336A (en) * 2014-12-30 2015-04-08 大连楼兰科技股份有限公司 Method and device for preventing embedded system from being maliciously debugged online
CN104050398B (en) * 2014-06-17 2017-01-18 飞天诚信科技股份有限公司 Multifunctional encryption lock and operating method thereof
CN107423582A (en) * 2017-03-31 2017-12-01 合肥民众亿兴软件开发有限公司 A kind of method for safeguarding software
CN110084003A (en) * 2018-01-26 2019-08-02 北大方正集团有限公司 A kind of method and system based on middleware access encryption lock
CN112639773A (en) * 2018-08-30 2021-04-09 三菱电机株式会社 Control device, control method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038615A (en) * 2007-03-12 2007-09-19 吴晓栋 Method for directly and arbitrary separating code to encryption lock from software to implement protection of software protection
US20080084273A1 (en) * 2006-10-06 2008-04-10 Stephane Rodgers Method and system for securely loading code in a security processor
CN101587523A (en) * 2009-07-02 2009-11-25 北京飞天诚信科技有限公司 Method, apparatus and system for protecting software
CN101847188A (en) * 2010-04-28 2010-09-29 北京飞天诚信科技有限公司 Software protection method for security device based on clock and security device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080084273A1 (en) * 2006-10-06 2008-04-10 Stephane Rodgers Method and system for securely loading code in a security processor
CN101038615A (en) * 2007-03-12 2007-09-19 吴晓栋 Method for directly and arbitrary separating code to encryption lock from software to implement protection of software protection
CN101587523A (en) * 2009-07-02 2009-11-25 北京飞天诚信科技有限公司 Method, apparatus and system for protecting software
CN101847188A (en) * 2010-04-28 2010-09-29 北京飞天诚信科技有限公司 Software protection method for security device based on clock and security device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050398B (en) * 2014-06-17 2017-01-18 飞天诚信科技股份有限公司 Multifunctional encryption lock and operating method thereof
CN104504336A (en) * 2014-12-30 2015-04-08 大连楼兰科技股份有限公司 Method and device for preventing embedded system from being maliciously debugged online
CN104504336B (en) * 2014-12-30 2018-01-19 大连楼兰科技股份有限公司 Prevent embedded system by the method and apparatus of malice on-line debugging
CN107423582A (en) * 2017-03-31 2017-12-01 合肥民众亿兴软件开发有限公司 A kind of method for safeguarding software
CN110084003A (en) * 2018-01-26 2019-08-02 北大方正集团有限公司 A kind of method and system based on middleware access encryption lock
CN110084003B (en) * 2018-01-26 2021-04-09 北大方正集团有限公司 Method and system for accessing encryption lock based on middleware
CN112639773A (en) * 2018-08-30 2021-04-09 三菱电机株式会社 Control device, control method, and program

Also Published As

Publication number Publication date
CN103186729B (en) 2016-04-06

Similar Documents

Publication Publication Date Title
CN109871695B (en) Trusted computing platform with computing and protection parallel dual-architecture
US11962616B2 (en) Protection against rerouting a communication channel of a telecommunication device having an NFC circuit and a secure data circuit
US10289577B2 (en) System, method and computer-accessible medium for low-overhead security wrapper for memory access control of embedded systems
EP2894588B1 (en) Data processing device, method for executing an application and computer program product
US9740887B2 (en) Methods and systems to restrict usage of a DMA channel
CN103186729B (en) The method utilizing encryption lock to protect software and encryption lock
US20120192271A1 (en) Apparatus and Method for Enhancing Security of Data on a Host Computing Device and a Peripheral Device
MX2010014464A (en) Secure memory management system and method.
CN101794362A (en) Trusted computation trust root device for computer and computer
CN109255259B (en) High-security encryption and decryption computing capability expansion method and system
CN103020495B (en) Embedded-type software anti-piracy encryption method
CN201820230U (en) Computer and trusted-computing trusted root equipment for same
CN103903043B (en) A kind of smart card Trinity preventing side-channel attack means of defence and system
CN101303716B (en) Embedded system recuperation mechanism based on TPM
CN111191214A (en) Embedded processor and data protection method
CN101420299A (en) Method for enhancing stability of intelligent cipher key equipment and intelligent cipher key equipment
Khelif et al. A versatile emulator of mitm for the identification of vulnerabilities of iot devices, a case of study: smartphones
CN103778388B (en) A kind of safety strengthens computer system
CN110222508A (en) Extort virus defense method, electronic equipment, system and medium
CN111427826B (en) Heterogeneous multi-core processor with bus connection adjustment function
CN104994225B (en) A kind of short message sending control method and short message transmission control device
CN107368738A (en) A kind of anti-Root method and devices of smart machine
Dumitru et al. The Impostor Among {US (B)}:{Off-Path} Injection Attacks on {USB} Communications
US20180293408A1 (en) Peripheral device security
CN111736770A (en) Embedded secure memory

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
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee before: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 100193 Beijing, Haidian District, East West Road, No. 10, East Hospital, building No. 5, floor 5, layer 510

Patentee after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder