CN101211396A - Software system anti-piracy protection method - Google Patents

Software system anti-piracy protection method Download PDF

Info

Publication number
CN101211396A
CN101211396A CNA2006101710484A CN200610171048A CN101211396A CN 101211396 A CN101211396 A CN 101211396A CN A2006101710484 A CNA2006101710484 A CN A2006101710484A CN 200610171048 A CN200610171048 A CN 200610171048A CN 101211396 A CN101211396 A CN 101211396A
Authority
CN
China
Prior art keywords
chip
encryption
master
software systems
protection method
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
CNA2006101710484A
Other languages
Chinese (zh)
Other versions
CN100570624C (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.)
Hisense Broadband Multimedia Technology (BVI) Co., Ltd.
Original Assignee
Qingdao Hisense Electronics 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 Qingdao Hisense Electronics Co Ltd filed Critical Qingdao Hisense Electronics Co Ltd
Priority to CNB2006101710484A priority Critical patent/CN100570624C/en
Publication of CN101211396A publication Critical patent/CN101211396A/en
Application granted granted Critical
Publication of CN100570624C publication Critical patent/CN100570624C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

The invention discloses anti-privacy method for protecting software systems, which aims to improve the privacy and safety of the software systems; the steps includes: a. using a main chip compiler to perform compilation for encryption programs inside an encryption chip; after creation of a library file, the file will be inserted into a main program inside the main chip; b. using the main chip to create an access key before input the access key into the library file, and meanwhile storing the output value results from the library file; c. releasing the access key to an encryption chip through the main chip, and the encryption chip uses the internal encryption function to fulfill encryption process for the access key before creating Reed value and returning to the main chip; d. the main chip performs pairing operation for the result value and Reed value; if the pairing succeeds, the successive program will be executed; in case of failure, the system will exit the main program. Since the encryption chip and the main chip are used in pairs, the invention can further strengthen the relevance between the two chips.

Description

The anti-piracy protection method of software systems
Technical field
The invention belongs to the Software Protection Technique field, specifically, relate to a kind ofly software program is carried out encryption and decryption handle, with the method for protecting software that prevents that pirate phenomenon from taking place.
Background technology
Along with the develop rapidly of digital television techniques, software program has occupied more and more important position in the performance history of new product, and software work has also accounted for more than 90% of whole project work amount.How effectively the own software engineering of protection is not plagiarized, thereby protects developer's self legitimate interests effectively, becomes the emphasis of each company's research gradually.Present Software Protection Technique generally can be divided into three kinds: hardware protection, pure software protection and general encryption chip guard method.They respectively have the characteristics of oneself, but all also have such-and-such problem in security and dirigibility.
Summary of the invention
The object of the present invention is to provide a kind of is the piracy protection software guard method of one from the hardware protection chip to security system for software, to strengthen the confidentiality and the security of software systems.
For solving the problems of the technologies described above, the present invention is achieved by the following technical solutions:
A kind of anti-piracy protection method of software systems, its step comprises:
Step 1, the compiler that utilizes master chip compile the encipheror of encryption chip inside, generate library file after, be inserted in the master routine of master chip inside;
Step 2, generate a key, be input in the described library file, and the output valve Result of described library file is stored by master chip;
Step 3, by master chip described key is sent to encryption chip, encryption chip utilizes its inner encryption function that described key is carried out generating the Reed value after the encryption, returns to master chip;
Step 4, master chip carry out matching operation to described Result value and Reed value, if successful matching then continues to carry out down-stream; If master routine is then withdrawed from failure.
In order to improve reliability of data transmission between master chip and the encryption chip, in master chip and encryption chip, interface function is set, with the form of data transmission between standard two chips;
In order to improve the degree of association between master chip and the encryption chip, in described interface function, should comprise relevant informations such as communication interface appointed information, data format information and access speed at least.Described master chip determines that according to the communication interface appointed information itself and encryption chip transmit the interface of data.
For the confidentiality and the security of strengthening system software, the interface function that described master chip utilizes its inner master routine that itself and encryption chip are communicated converts bin file to and sends to encryption chip; Encryption chip utilizes the compiler of master chip to generate library file the encipheror of the interface function of master routine and encryption chip inside together, sends to master chip.
According to the difference of encryption chip application target, determine the insertion position of described library file in master routine.Wherein, described library file can be inserted in the startup module of master routine, when normal opening power, stop master routine to jump to principal function from the boot boot section; Described library file can also be inserted in the access modules of master routine,, stop some functional module to be used by in the access modules of master routine, breakpoint being set.Certainly, described library file also can insert simultaneously in the startup module of master routine and access modules as required and use.
In order effectively to reach the effect of encryption, described key is produced at random by master chip; Can be the rreturn value of Random function, also can be the Clock value of Set function.
Described matching operation process can adopt dual mode to finish: a kind of is that described Result value and Reed value are compared, and judges whether two values are identical; Another kind is with the logical relation formula of described Result value and Reed value substitution setting, judges whether it mates.
Compared with prior art; advantage of the present invention and good effect are: the present invention is owing to adopted the kinds of protect algorithms library in the design of encryption chip; in generating, key used the random number algorithm; and measure such as adopted that software and hardware locks; and cooperate the generation library file with the master routine scheme; improve the security of system to a great extent, reached anti-copy, anti-piracy purpose.Use because encryption chip and master chip system are pairings, by encryption chip is provided, and unite the generation library file by both party, this system just can clog-freely offer other producers' uses like this.
Description of drawings
Fig. 1 is the implementation FB(flow block) of master routine among the present invention;
Fig. 2 is the FB(flow block) of cryptographic algorithm subroutine;
Fig. 3 is the circuit catenation principle figure between master chip and the encryption chip.
Embodiment
Below in conjunction with the drawings and specific embodiments the present invention is done explanation in further detail.
As everyone knows; when using encryption chip that system is carried out the software protection operation; encryption chip one end has the source code of encipheror, but this source code can not directly send to master chip one end, because will cause the encryption function of encryption chip inside to be leaked like this.The present invention is in order to strengthen the degree of association between master chip and the encryption chip as much as possible, with the anti-copy that realizes software program better, anti-piracy purpose, the encipheror of encryption chip inside is handled, generation has only the library file that just can discern with the master chip of its pairing use, and described library file is inserted in the master routine of master chip, form the part of master chip software systems operation, thereby effectively strengthened the confidentiality and the security of software systems.
To achieve these goals, software systems anti-piracy protection method of the present invention should comprise following steps at least:
Step 1, the compiler that utilizes master chip compile the encipheror of encryption chip inside, generate library file after, be inserted in the master routine of master chip inside; Described library file is the bin file of binary format;
Step 2, generate a key, be input in the described library file, and the output valve Result of described library file is stored by master chip;
Step 3, by master chip described key is sent to encryption chip, encryption chip utilizes its inner encryption function that described key is carried out generating the Reed value after the encryption, returns to master chip;
Step 4, master chip carry out matching operation to described Result value and Reed value, if successful matching then continues to carry out down-stream; If master routine is then withdrawed from failure.
Because master chip is different with the function design in the encryption chip, the required data layout that calls also is not quite similar, in order to make the intercommunication mutually that to carry out data between master chip and the encryption chip, need in master chip and encryption chip, interface function be set, with the form of data transmission between standard two chips.
In order to improve the degree of association between master chip and the encryption chip, in described interface function, should comprise relevant informations such as communication interface appointed information, data format information and access speed at least.Wherein, the communication interface appointed information has stipulated that master chip must carry out data communication by which interface and encryption chip, in case the communication interface wrong between master chip and the encryption chip, the problem that can cause master routine normally to move equally, this design has improved the degree of association between master chip and the encryption chip from the hardware connection angle; Data format information has stipulated to send between the chip form of data and the data layout of feedback result; The access speed information specifies speed of data communication between two chips.
The encryption chip end at first notifies the interface of the encryption function of master chip end oneself how to define, after the master chip termination is received this interface function, according to the situation of oneself, the place that should insert encryption function in master routine generates the interface function of master routine, after the interface function of two chips all designs, do not need to understand the concrete function content of the other side, promptly can communicate work.During this period, have the process of later revising the interface function of encryption chip end according to the needs of master chip end again toward contact, after the interface function on both sides design, next step was exactly that the library file of encryption chip has been compiled into inside the master routine.
Because the master chip end can not allow the encryption chip end see the source code of master routine, and the encryption chip end more can not allow the master chip end see the source code of encryption chip, therefore, need the encryption chip end to utilize the compilation tool of master chip to generate library file in the present invention, offer the master chip end, be integrated in the master routine.Described library file can only generate with the compilation tool of master chip, because have only the library file by the compiler generation of master chip, the master routine of master chip could be discerned.
In order to realize anti-piracy purpose, the interface function that master chip utilizes its inner master routine that itself and encryption chip are communicated converts bin file to and sends to encryption chip.The code of described bin file for editing can only use, and can not revise.Encryption chip utilizes the compiler of master chip to generate library file the encipheror of the interface function of master routine and encryption chip inside together, sends to master chip.Like this, the form of chip chamber data transmission is invisible, has further strengthened the confidentiality of system.
From the above, because for different master routines, the library file difference that encryption chip produces makes the confidentiality of system and security be effectively guaranteed like this.
In order to reach the encryption effect more effectively, described key is produced at random by master chip; Can be the rreturn value of Random function, also can be the Clock value of Set function.Certainly, also can be by other production process generations at random.Because when each master routine moved, the key of generation was all different, thereby has effectively strengthened the confidentiality of system program.
Described matching operation process can be that described Result value and Reed value are compared, and judges the process that two values are whether identical; It can also be the process of described Result value and Reed value being carried out matching judgment by the logical relation of setting.
Embodiment one, and Fig. 1, Fig. 2 show a kind of software flow block diagram of realizing described encryption method, specifically comprise following process:
1, master routine operational process as shown in Figure 1, specifically may further comprise the steps:
That at first, selects breakpoint in master routine is provided with position, the position of promptly inserting library file;
Secondly, calling system cryptographic algorithm subroutine;
Then, receive the result that subroutine is returned;
At last, judge whether return results is zero, if zero, the program pairing is passed through, and normally carries out down-stream; Otherwise program interrupt is withdrawed from.
2, system encryption arithmetic subroutine as shown in Figure 2, specifically may further comprise the steps:
At first, produce Seed value, i.e. a key at random; In the present invention, adopt the Clock value of Set function to generate described Seed value;
Secondly, the Seed value is input to carries out encryption in the described library file;
Its three, the output valve of thesaurus file, i.e. the Result value of 4Byte;
Its four, described Seed value is sent to after encryption chip carries out encryption, read its value of feedback, i.e. the Reed value;
Then, Result value and Reed value are compared, determine the return results of subroutine; In the present invention, adopted the matching operation method of judging that Result value and Reed value be whether identical, when the Result value was identical with the Reed value, return results was 0, otherwise return results is 1.
Fig. 3 shows the circuit catenation principle figure between described master chip and the encryption chip, and master chip is by its GPIO mouth Simulation with I 2The C bus is carried out data communication with 1,2 pin of encryption chip.Wherein, 1 pin transmit clock signal, 2 pin transmission of data signals.
According to the difference of encryption chip application target, can select the insertion position of described library file in master routine.Wherein, described library file can be inserted in the startup module of master routine, when normal opening power, stop master routine to jump to principal function, thereby master routine is quit work from the boot boot section; Described library file can also be inserted in the access modules of master routine,, stop some functional module to be used by in the access modules of master routine, breakpoint being set.With the television software system is example, breakpoint can be set in the Display of master routine Menu stop some function menu of use.Certainly, described library file also can use in the startup module of master routine and access modules as required simultaneously, and multiposition inserts.
The present invention has realized the anti-piracy function of software systems by adopting above-mentioned software design approach, can promote the use of in Digital Television, DVD, MP3 etc. have the system of separate CPU.Certainly; above-mentioned explanation is not to be limitation of the present invention; the present invention also is not limited in above-mentioned giving an example, and variation, remodeling, interpolation or replacement that those skilled in the art are made in essential scope of the present invention also should belong to protection scope of the present invention.

Claims (10)

1. the anti-piracy protection method of software systems, its step comprises:
Step 1, the compiler that utilizes master chip compile the encipheror of encryption chip inside, generate library file after, be inserted in the master routine of master chip inside;
Step 2, generate a key, be input in the described library file, and the output valve Result of described library file is stored by master chip;
Step 3, by master chip described key is sent to encryption chip, encryption chip utilizes its inner encryption function that described key is carried out generating the Reed value after the encryption, returns to master chip;
Step 4, master chip carry out matching operation to described Result value and Reed value, if successful matching then continues to carry out down-stream; If master routine is then withdrawed from failure.
2. the anti-piracy protection method of software systems according to claim 1 is characterized in that: before described step 1, include following steps:
Determine the interface function between master chip and the encryption chip, with the form of data transmission between standard two chips.
3. the anti-piracy protection method of software systems according to claim 2 is characterized in that: comprise communication interface appointed information, data format information and access speed information at least in described interface function.
4. the anti-piracy protection method of software systems according to claim 3 is characterized in that: described master chip is according to the communication interface appointed information, determines the interface of itself and encryption chip transmission data.
5. the anti-piracy protection method of software systems according to claim 2 is characterized in that: the interface function that described master chip utilizes its inner master routine that itself and encryption chip are communicated converts bin file to and sends to encryption chip; Encryption chip utilizes the compiler of master chip to generate library file the encipheror of the interface function of master routine and encryption chip inside together, sends to master chip.
6. the anti-piracy protection method of software systems according to claim 1 or 5, it is characterized in that: described library file is inserted in the startup module of master routine, when normal opening power, stops master routine to jump to principal function from the boot boot section.
7. the anti-piracy protection method of software systems according to claim 1 or 5, it is characterized in that: described library file is inserted in the access modules of master routine, by in the access modules of master routine breakpoint being set, stops some functional module to be used.
8. the anti-piracy protection method of software systems according to claim 1, it is characterized in that: described key is produced at random by master chip.
9. the anti-piracy protection method of software systems according to claim 8, it is characterized in that: described key is the rreturn value of Random function or the Clock value of Set function.
10. the anti-piracy protection method of software systems according to claim 1, it is characterized in that: described matching operation process is: described Result value and Reed value are compared, judge the process that two values are whether identical; Perhaps described Result value and Reed value are carried out the process of matching judgment by the logical relation of setting.
CNB2006101710484A 2006-12-31 2006-12-31 The anti-piracy protection method of software systems Active CN100570624C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101710484A CN100570624C (en) 2006-12-31 2006-12-31 The anti-piracy protection method of software systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101710484A CN100570624C (en) 2006-12-31 2006-12-31 The anti-piracy protection method of software systems

Publications (2)

Publication Number Publication Date
CN101211396A true CN101211396A (en) 2008-07-02
CN100570624C CN100570624C (en) 2009-12-16

Family

ID=39611417

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101710484A Active CN100570624C (en) 2006-12-31 2006-12-31 The anti-piracy protection method of software systems

Country Status (1)

Country Link
CN (1) CN100570624C (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289625A (en) * 2011-09-30 2011-12-21 方波 Memory chip with encryption function and piracy prevention method
CN102291591A (en) * 2011-06-24 2011-12-21 广州视源电子科技有限公司 Television software function compilation-free configuration method and device thereof
CN101650664B (en) * 2009-06-30 2012-06-27 飞天诚信科技股份有限公司 Link method and linker
CN103198242A (en) * 2013-04-02 2013-07-10 厦门亿联网络技术股份有限公司 Method for encrypting through chip
CN103425911A (en) * 2013-08-07 2013-12-04 北京深思数盾科技有限公司 Method for enhancing software protection usability
CN106372464A (en) * 2016-08-25 2017-02-01 中山市天启智能科技有限公司 Anti-piracy encryption method for static library files in embedded system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101650664B (en) * 2009-06-30 2012-06-27 飞天诚信科技股份有限公司 Link method and linker
CN102291591A (en) * 2011-06-24 2011-12-21 广州视源电子科技有限公司 Television software function compilation-free configuration method and device thereof
CN102291591B (en) * 2011-06-24 2013-11-06 广州视源电子科技股份有限公司 Television software function compilation-free configuration method and device thereof
CN102289625A (en) * 2011-09-30 2011-12-21 方波 Memory chip with encryption function and piracy prevention method
CN103198242A (en) * 2013-04-02 2013-07-10 厦门亿联网络技术股份有限公司 Method for encrypting through chip
CN103425911A (en) * 2013-08-07 2013-12-04 北京深思数盾科技有限公司 Method for enhancing software protection usability
CN106372464A (en) * 2016-08-25 2017-02-01 中山市天启智能科技有限公司 Anti-piracy encryption method for static library files in embedded system

Also Published As

Publication number Publication date
CN100570624C (en) 2009-12-16

Similar Documents

Publication Publication Date Title
CN100570624C (en) The anti-piracy protection method of software systems
US7721114B2 (en) Method for using shared library in tamper resistant microprocessor
US10402547B2 (en) System and method of interlocking to protect software-mediated program and device behaviours
US9582650B2 (en) Security of program executables and microprocessors based on compiler-architecture interaction
EP2304552B1 (en) System and method for generating white-box implementations of software applications
EP3455764B1 (en) Method and apparatus for dynamic executable verification
CN102341806B (en) Software protection
US8918768B2 (en) Methods and apparatus for correlation protected processing of data operations
US20110283115A1 (en) Device and a method for generating software code
EP1687688A2 (en) Tamper-resistant trusted virtual machine
CN107341374B (en) Insertion method and device of opaque predicates
CN103218549A (en) Method and device for encrypting and decrypting Java source code
US7970133B2 (en) System and method for secure and flexible key schedule generation
CN102163268A (en) Method and apparatus for verifying the integrity of software code during execution and apparatus for generating such software code
US8707053B2 (en) Performing boolean logic operations using arithmetic operations by code obfuscation
EP1305708B1 (en) Sequence numbering mechanism to ensure execution order integrity of inter-dependent smart card applications
US20050010805A1 (en) Method of adding a copy protection function to a program
CN115248908A (en) Method, device, equipment and storage medium for protecting core code
CN111339523A (en) Authorization method and device of embedded device
US7783038B2 (en) Using code as keys for copy protection
WO2008101340A1 (en) System and method for interlocking to protect software-mediated program and device behaviours
CN116186647A (en) Android SDK source code shelling method, android SDK source code shelling device and electronic equipment
Colombier et al. A comprehensive hardware/software infrastructure for IP cores design protection
Hossain et al. HOACS: Homomorphic Obfuscation Assisted Concealing of Secrets to Thwart Trojan Attacks in COTS Processor
Breuer Chaotic Compilation for Encrypted Computing: Obfuscation but Not in Name

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090109

Address after: 151, Zhuzhou Road, Laoshan District, Shandong City, Qingdao Province, China: 266100

Applicant after: Qingdao Hisense Electronic Industry Holding Co., Ltd.

Address before: Shandong City, Qingdao Province, Jiangxi City Road No. 11 post encoding: 266071

Applicant before: Qingdao Hisense Electric Co., Ltd.

ASS Succession or assignment of patent right

Owner name: QINGDAO HAIXIN ELECTRON INDUSTRY STOCK CO., LTD.

Free format text: FORMER OWNER: QINGDAO HISENSE ELECTRIC APPLIANCE CO., LTD.

Effective date: 20090109

ASS Succession or assignment of patent right

Owner name: XAIXIN BROAD BAND MULTIMEDIA TECHNOLOGY(BVI) CO.,L

Free format text: FORMER OWNER: QINGDAO HAIXIN ELECTRON INDUSTRY STOCK CO., LTD.

Effective date: 20090807

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090807

Address after: The British Virgin Islands holding city Dora Road No. 146 box office Cui Dent

Applicant after: Hisense Broadband Multimedia Technology (BVI) Co., Ltd.

Address before: 151, Zhuzhou Road, Laoshan District, Shandong City, Qingdao Province, China: 266100

Applicant before: Qingdao Hisense Electronic Industry Holding Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant