CN1199110C - Software protection method - Google Patents
Software protection method Download PDFInfo
- 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
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
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, Φ
2=Φ
1The time, again according to the inverse operation F of function F
-1(Φ
2), 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 Φ
2=Φ
1, 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 Φ
2=Φ
1, 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
-1(Φ
2), 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 Φ
2=Φ
1, 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.
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)
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)
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 |
-
2003
- 2003-07-21 CN CN 03139924 patent/CN1199110C/en not_active Expired - Lifetime
Cited By (1)
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 |