CN1199110C - Software protection method - Google Patents

Software protection method Download PDF

Info

Publication number
CN1199110C
CN1199110C CN 03139924 CN03139924A CN1199110C CN 1199110 C CN1199110 C CN 1199110C CN 03139924 CN03139924 CN 03139924 CN 03139924 A CN03139924 A CN 03139924A CN 1199110 C CN1199110 C CN 1199110C
Authority
CN
China
Prior art keywords
software
machine
certificate
program
parameter
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.)
Expired - Lifetime
Application number
CN 03139924
Other languages
Chinese (zh)
Other versions
CN1514375A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN 03139924 priority Critical patent/CN1199110C/en
Publication of CN1514375A publication Critical patent/CN1514375A/en
Application granted granted Critical
Publication of CN1199110C publication Critical patent/CN1199110C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

The present invention discloses a software protection method based on a machine characteristic. The method uses the unique property of a machine characteristic code to determine a machine total characteristic value fai. Encryption operation is carried out by using an encryption algorithm G on the basis of the total characteristic value fai according to an appointed parameter S of protected software to generate a unique corresponding cipher key K of the total characteristic value fai and the parameter S. The cipher key K is a legal use certificate of the protected software. The protection method which is provided by the present invention has favorable protection effect, and the protected software can be optionally repeated and can be used after acquiring the authorization.

Description

A kind of method for protecting software
Technical field
The present invention relates to method for protecting software, especially based on the method for protecting software of machine characteristic sign indicating number.
Background technology
In order to protect the intellecture property of software product, combat copyright piracy, software vendor carries out encryption usually to software product, makes the disabled user can not use its product.According to retrieval; at present the method that software product is carried out encipherment protection mainly contains following several; floppy disk encryption method, slotting dish enciphered method, dongle enciphered method, password encryption method and implicit code enciphered method etc., not ideal from the situation protection effect of present use.Chinese patent 98124924.8 discloses a kind of anti-piracy encryption method of reaction type copyright affirmation of computer software.This method key step is program output software program number a 0, supplemental characteristic b 0, extract random data C 0, and these data are fed back to software company, the check numbering a of software company 0Whether registered,, then utilized program number a as not registering 0Calculate supplemental characteristic b 1, and the supplemental characteristic b that provides with the user 0Compare, as unanimity, then the user and and software company use stray parameter C respectively 0With program number a 0Calculate secret key data d 0And d 1, and more consistent, as unanimity, the software successful installation, as inconsistent, then interrupt operation.
The fundamental purpose of above-mentioned software enciphering method is to prevent illegal copies and use, has following defective:
1. software company need purchase that database is deposited and maintenance program numbering a 0, generated operating cost, and the database of software company there is stolen possibility, in a single day they be stolen, and protected software just can not get protection;
2. for preventing illegal copies, adopt the mode of change machine hardware structure or increase output function, unrealistic, and difficulty is big, and in fact, hardware is when dispatching from the factory, its structure, performance and parameter are all set, and it is very difficult will changing its set-up function or structure during software cryptography;
3. the key floppy disk of Zhi Zuoing is in transmittance process, easily lose or be replicated, thereby the key that this side generates was both inconvenient, also dangerous.
Summary of the invention
The objective of the invention is to overcome the defective that exists in the above-mentioned prior art, propose a kind of based on method for protecting software machine characteristic sign indicating number and parameter preset, that realize with the pure software technology, that hardware do not had any requirement.
As everyone knows, any machine, as: PC, mobile PC, Palm, PDA, little, in, big, supercomputer, PC server etc. all are made up of many parts, as: mainboard, cpu, network interface card etc., each parts all has condition code (as product ID etc.), and the condition code of each parts all is unique.If computing machine has n parts, the condition code of parts 1 is X 1, the condition code of parts 2 is X 2, the condition code of parts n is Xn, F is the composite function of machine total characteristic value, then by condition code X 1, X 2, Xn is as the variable of function F, can obtain the total characteristic value Φ of machine 1, Φ 1=F (X 1, X 2, Xn).Based on this eigenwert Φ 1With according to protected software designated parameters S 1, utilization cryptographic algorithm G carries out cryptographic calculation, generates and eigenwert Φ 1And parameter S 1The key K of unique correspondence 1, K 1=G (Φ 1, S 1), this key K 1It is exactly the certificate of the legal use of protected software.
The verification process of certificate is a reverse process, with certificates/keys K 2Behind the input computing machine, according to the algorithm for inversion G of cryptographic algorithm -1, with K 2Resolve into parameter S 2With eigenwert Φ 2, work as S 2=S 1, Φ 21The time, again according to the inverse operation F of function F -12), obtain X 1, X 2, X n, and protected software reads the eigenwert X of each parts of the machine that moves this software once more automatically 1, X 2, Xn, work as X 1=X 1, and X 2=X 2..., and X nDuring=Xn, the affirmation user is a validated user.Otherwise authoring program interrupts, and the affirmation user is the disabled user.Thereby, reach the purpose of effective protection software.
The method for protecting software that the present invention proposes is to utilize the affirmation of machine characteristic sign indicating number to realize the protection of software, and described machine characteristic sign indicating number affirmation process comprises the following steps:
A, software cryptography company install on protected software and read, synthesize, the program A of decomposition and verification machine condition code, and set designated parameter S 1
When b, user moved protected software first, program A read n machine characteristic sign indicating number X automatically 1, X 2, Xn, F is a machine total characteristic sign indicating number generating function, with machine characteristic sign indicating number X 1, X 2, Xn calculates machine total characteristic value Φ as the variograph of function F 1, Φ 1=F (X 1, X 2, Xn), with machine characteristic value Φ 1Send to software cryptography company, and with Φ 1Be kept in the file of appointment;
C, software cryptography company are with the total characteristic value Φ that obtains 1With protected software designated parameters S 1, uses algorithm G carries out cryptographic calculation, obtains and total characteristic value Φ 1And parameter S 1The key of unique coupling/certificate K 1, K 1=G (Φ 1, S 1), and with this key/certificate K 1Feed back to the user;
D, when protected software moves first, the user imports key/certificate K 2After, program A is by the inverse operation G of cryptographic calculation -1, with K 2Decompose, obtain eigenwert Φ 2And parameter S 2, compare S 2, S 1Value is worked as S 2=S 1The time, authorisation step is proceeded, and works as S 2≠ S 1The time, confirm the step interruption;
E, program A are with eigenwert Φ 2Inverse operation F according to function F -1, carry out computing, obtain the condition code X of machine 1, X 2, X n
F, program A read the condition code X of each parts of machine of this protected software of operation automatically 1, X 2, Xn, and X value is relatively worked as X 1=X 1, X 2=X 2... X nDuring=Xn, the affirmation user is a validated user.
In steps d, also can from the file of appointment, take out Φ 1, again to Φ 2, Φ 1Compare, work as Φ 21, S 2=S 1When setting up simultaneously, authorisation step continues, otherwise authorisation step interrupts.
The method for protecting software that the present invention proposes compared with prior art has following advantage:
(1) safe and reliable
Encryption is based on the machine characteristic sign indicating number, because condition code is unique, thereby; for the key/certificate of protected software development also is unique, every machine is unique corresponding to a certificate, and the certificate that is used for machine A can not be used in machine B; equally, the certificate that is used for machine B can not be used for machine A.Thereby key/certificate need not to maintain secrecy, and can disclose the problem that does not exist certificate to divulge a secret.But protected software can not be subjected to illegal use because of the leakage of certificate.The software of encrypting through this method is safe, and the protection of software is reliable;
(2) zero cost
Do not need any hardware in the machine or software are done any change, change or increase, also need not to add any equipment or buy any support programs, its cost is zero;
(3) simple and convenient
On the one hand, because key/certificate can disclose, thereby its transmission, keeping all do not have specific (special) requirements, can be in any way, any means transmit, the keeping certificate, and the transmission of certificate, keeping are convenient; On the other hand, after the user obtained certificate, the input certificate number gets final product, and does not have complicated process, and once authorizes, and was available all the life;
(4) certificate is made algorithm and is decoded difficulty
The maximum enemy of software protection decodes the cryptographic algorithm that is used to protect software.With lot of data, operation computing machine at a high speed, the input certificates/keys is analyzed, so that find out the algorithm of encryption, this is the way commonly used of decoding.The certificate that the present invention produced is based on total computing of the eigenwert of each one of machine, every machine all has different eigenwerts, these eigenwerts are not exported, and that is to say, they are sightless, the code breaker can't obtain the eigenwert of each parts of every machine, the rule that also just can't find machine total characteristic value to generate, promptly function F is difficult to decode, and is not knowing under the situation of F, decode cryptographic algorithm G, just extremely difficult.And, on the one hand, the eigenwert of every machine is different, on the other hand, all has every day a large amount of machines coming into operation, so anyone can't collect the total characteristic value of all machines of the whole world, in other words, collect complete all certificate number and analyze, find out rule, decoding cryptographic algorithm again, almost is impossible.
Description of drawings
The present invention will be described in detail below in conjunction with drawings and Examples, wherein:
Fig. 1 is the functional-block diagram of protected software and certificate management programme A of the present invention and designated parameter S integration;
Fig. 2 is that certificate generates and the transfer principle block scheme;
Fig. 3 is the schematic diagram block scheme of certification authentication.
Embodiment
As shown in Figure 1, during the protected software cryptography of the present invention, carry out according to the following step:
At first on protected software, be provided with read, synthesize, the program A of decomposition and verification machine condition code.When program A carries out, finish automatic read machine condition code, calculate functions such as total characteristic value Φ, verification certificate according to function F.Designated parameter S is set simultaneously 1, designated parameter S 1Numeral that can be simple, symbol, character string or one section program; Designated parameter S 1Can be through encryption, also can be without encryption.Designated parameter S 1Combine together with protection software, generate protection software to be authorized, and give the user.
As shown in Figure 2, the present invention authorizes for protection software according to the following steps, generates and authorizes:
During the protected software of a, user installation, program A reads n machine characteristic sign indicating number X automatically 1, X 2, Xn, and calculate eigenwert Φ as the variograph of function F with these condition codes 1And preserve Φ 1=F (X 1, X 2, Xn), the user can pass through modes such as Email, phone, fax with total characteristic value Φ 1Send to software cryptography company;
B, software cryptography company are with the eigenwert Φ that obtains 1With protected software designated parameters S 1As the variable of algorithm G, according to algorithm G, carry out cryptographic calculation, obtain corresponding to total characteristic Φ 1With parameter S 1Key/certificate K 1, K 1=G (Φ 1, S 1), with key/certificate K 1Feed back to the user.
As shown in Figure 3, when the user moves protected software, carry out certificate verification as follows, promptly finish mandate:
C, certificate were not imported, and then imported certificate K 2, the user imports key/certificate K 2After, program A is by the inverse operation G of cryptographic calculation -1, with K 2Decompose, obtain eigenwert Φ 2And parameter S 2
D, comparison S 2And S 1Value, work as S 2=S 1The time, authorisation step is proceeded, and works as S 2≠ S 1The time, the affirmation user is the disabled user, the certificate verification step is interrupted;
E, program A will calculate the inverse operation F of the function F of total characteristic value Φ -1Act on Φ 2, obtain the condition code X of each parts of machine 1, X 2, X n
F, program A read the condition code X of each parts of operation machine once more automatically 1, X 2, Xn, and X value is relatively worked as X 1=X 1, X 2=X 2... X nDuring=Xn, the affirmation user is a validated user, and mandate/authentication is finished.
In steps d, also can take out Φ 1, then to Φ 2, Φ 1Value compares, and works as Φ 21, S 2=S 1When setting up simultaneously, authorisation step continues, otherwise step is interrupted.
In specific embodiments of the invention, the condition code of machine can be got the sequence number of machine, and the quantity n of condition code can get a plurality of, also can get 1, can choose arbitrarily in parts such as hard disk, CPU, main frame.Program designated parameters S 1Can be a string character, string number or one section program, can be plain code, also can be the non-plain code after encrypting.
In another embodiment of the present invention, the software authentication decryption step can be done a little variations slightly, and concrete steps are as follows:
C, protection software are when calling first, and the user imports key/certificate K 2After, program A is by the inverse operation G of cryptographic calculation G -1, with K 2Decompose, obtain eigenwert Φ 2And parameter S 2
D, comparison S 1And S 2Value, work as S 2=S 1The time, authorisation step is proceeded, and works as S 2≠ S 1The time, the affirmation user is the disabled user, step is interrupted;
The automatic once more read machine feature X of e, program A 1', X 2' ..., Xn ', with the variable of these condition codes, calculate eigenwert Φ as function F 1', Φ 1'=F (X 1', X 2' ..., Xn '), and with eigenwert Φ 1' the Φ that obtains with step c 2Value compares;
F, work as Φ 1'=Φ 2The time, the affirmation user is a validated user, mandate is finished; Work as Φ 1' ≠ Φ 2The time, the affirmation user is the disabled user, program interrupt.
The present invention utilizes the encryption and decryption technology based on machine characteristic, has not only fundamentally solved the problem that software pirate is used, and has not been afraid of bootlegging, and convenient, cost is low.
Under design of the present invention multiple variation can also be arranged, these variations all should drop in the scope of the present invention.

Claims (6)

1. method for protecting software is characterized in that: utilize the affirmation of machine characteristic to realize the protection of software, described method comprises the following steps:
A, software cryptography company install on protected software and read, synthesize, the program A of decomposition and verification machine condition code, and designated parameter S is set 1
During the protected software of b, user installation, program A reads n machine characteristic sign indicating number X automatically 1, X 2, Xn, F is a machine total characteristic sign indicating number generating function, with machine characteristic sign indicating number X 1, X 2, Xn is as the variable of function F, calculates machine total characteristic value Φ 1, Φ 1=F (X 1, X 2, Xn), and with total machine eigenwert Φ 1Send to software cryptography company;
C, software cryptography company are with the total characteristic value Φ that obtains 1With designated parameters S 1, uses algorithm G carries out cryptographic calculation, obtains and Φ 1And parameter S 1The key of unique coupling/certificate K 1, K 1=G (Φ 1, S 1), with key/certificate K 1Feed back to the user;
When d, protected running software, the user imports key/certificate K 2After, program A is by the inverse operation G of cryptographic calculation -1, with K 2Decompose, obtain eigenwert Φ 2And parameter S 2, compare S 2, S 1, work as S 2=S 1The time, authorisation step is proceeded, otherwise, work as S 2≠ S 1The time, step is interrupted;
E, program A are according to the inverse operation F of function F -12), obtain machine characteristic sign indicating number X 1, X 2, X n
F, program A read the eigenwert X of each parts of the machine that moves protected software once more automatically 1, X 2, X n, and with these eigenwerts and by F -1Decompose the eigenwert X of coming out 1, X 2, X nCompare one by one, work as X 1=X 1, X 2=X 2... and X nDuring=Xn, the affirmation user is a validated user.
2, method for protecting software as claimed in claim 1 is characterized in that: designated parameter S 1Nullify, only encrypt system key/certificate according to the condition code of machine.
3, method for protecting software as claimed in claim 1 is characterized in that: described machine characteristic value n gets one.
4, as claim 1 or 3 described method for protecting software, it is characterized in that: described machine characteristic sign indicating number is the sequence number of machine.
5, method for protecting software as claimed in claim 1 is characterized in that: remove comparative parameter S in the steps d 1, S 2Also compare Φ outward, 2With Φ 1, work as Φ 21, S 1=S 2When setting up simultaneously, authorisation step continues, otherwise step is interrupted.
6. method for protecting software as claimed in claim 1 is characterized in that: described designated parameter S 1Encrypted processing.
CN 03139924 2003-07-21 2003-07-21 Software protection method Expired - Lifetime CN1199110C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03139924 CN1199110C (en) 2003-07-21 2003-07-21 Software protection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03139924 CN1199110C (en) 2003-07-21 2003-07-21 Software protection method

Publications (2)

Publication Number Publication Date
CN1514375A CN1514375A (en) 2004-07-21
CN1199110C true CN1199110C (en) 2005-04-27

Family

ID=34240213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03139924 Expired - Lifetime CN1199110C (en) 2003-07-21 2003-07-21 Software protection method

Country Status (1)

Country Link
CN (1) CN1199110C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442303C (en) * 2007-04-05 2008-12-10 威盛电子股份有限公司 Protection system of application program and method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1315017C (en) * 2004-12-20 2007-05-09 四川大学 Method for software copyright protection
US8522030B2 (en) * 2010-09-24 2013-08-27 Intel Corporation Verification and protection of genuine software installation using hardware super key
CN102289630B (en) * 2011-07-29 2016-09-07 天津同阳科技发展有限公司 A kind of copy-right protection method for CEMS system
WO2015131324A1 (en) * 2014-03-04 2015-09-11 华为技术有限公司 Software security detection method, apparatus and device
CN104657633A (en) * 2014-11-12 2015-05-27 国家电网公司 Program-based characteristic numeric code encryption method
CN104751042B (en) * 2015-01-16 2018-03-06 西安电子科技大学 Creditability detection method based on cryptographic hash and living things feature recognition
CN108809653B (en) * 2018-06-19 2019-07-12 北京多采多宜网络科技有限公司 A kind of cryptographic check processing method
CN108876538B (en) * 2018-06-19 2019-08-13 北京多采多宜网络科技有限公司 A kind of order information processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442303C (en) * 2007-04-05 2008-12-10 威盛电子股份有限公司 Protection system of application program and method

Also Published As

Publication number Publication date
CN1514375A (en) 2004-07-21

Similar Documents

Publication Publication Date Title
CN1257648C (en) Multi-level, multi-dimensional content protection
CN1315017C (en) Method for software copyright protection
CN100338905C (en) Method of binding digital contents and hardware with hardward adaptive
CN1122213C (en) Method and apparatus for signing and sealing objects
CN1864364A (en) Security token
CN1925392A (en) Method for identification of equipment validity
CN1582422A (en) Method to protect software against unauthorized use
CN1326629A (en) Method and system for authenticating and utilizing secure resources in computer system
CN103906054A (en) Method and system for authorization of software function modules of internet of things
CN101043326A (en) Dynamic information encrypting system and method
CN1805337A (en) Secret shared key mechanism based user management method
CN1719373A (en) Finger print encryption and decryption method of electron decument
CN1199110C (en) Software protection method
CN102567685A (en) Software copyright protection method based on asymmetric public key password system
CN1193538C (en) Electronic cipher formation and checking method
CN1863038A (en) Method of implementing control and management of applied program in terminal apparatus
CN1518269A (en) Data enciphering equipment and method
CN1588365A (en) Ciphertext global search technology
CN1901443A (en) Remote de-locking method of information safety device
CN1808458A (en) Safety control device and control method for production of software products
CN1592190A (en) Hardware cryptographic engine and encryption method
CN1788245A (en) Digital rights management
CN1877595A (en) Software copyright protection method
CN1361481A (en) Copyright protecting method based on network browser card
CN100343775C (en) Licensing file generating method, software product protection method and system

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
CX01 Expiry of patent term

Granted publication date: 20050427

CX01 Expiry of patent term