CN111191194A - Off-line use permission system for multi-core processor software integrated development environment - Google Patents

Off-line use permission system for multi-core processor software integrated development environment Download PDF

Info

Publication number
CN111191194A
CN111191194A CN201911330749.1A CN201911330749A CN111191194A CN 111191194 A CN111191194 A CN 111191194A CN 201911330749 A CN201911330749 A CN 201911330749A CN 111191194 A CN111191194 A CN 111191194A
Authority
CN
China
Prior art keywords
software
software use
time
information
development environment
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
CN201911330749.1A
Other languages
Chinese (zh)
Other versions
CN111191194B (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 Microelectronic Technology Institute
Mxtronics Corp
Original Assignee
Beijing Microelectronic Technology Institute
Mxtronics Corp
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 Microelectronic Technology Institute, Mxtronics Corp filed Critical Beijing Microelectronic Technology Institute
Priority to CN201911330749.1A priority Critical patent/CN111191194B/en
Publication of CN111191194A publication Critical patent/CN111191194A/en
Application granted granted Critical
Publication of CN111191194B publication Critical patent/CN111191194B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to an off-line use permission system for a multi-core processor software integrated development environment, which is suitable for the multi-core processor software integrated development environment running on an off-line host. The current starting time and the last legal starting time are compared when the multi-core processor software integrated development environment is started each time, and whether the time for tampering with the host exists or not is judged to crack the behavior of the use permission of the multi-core processor software integrated development environment. On the basis, the protection of the software use license is further enhanced by a method of marking the unique identity of the host, combining and segmenting the software use validity period information for a limited number of times, encrypting the segmented information field and the legal start time, and storing the encrypted information in a plurality of host positions respectively. The method can effectively resist the cracking method of 'bypassing' the software use permission judging mechanism by modifying the time of the off-line host computer to the valid period of the software use.

Description

Off-line use permission system for multi-core processor software integrated development environment
Technical Field
The invention provides an offline use permission system for a multi-core processor software integrated development environment, and belongs to the technical field of computer software safety.
Background
With the continuous development of microelectronic technology, a multi-core processor has become a mainstream component for computer core control and calculation. In order to match the programming of the multi-core processor and provide the labor productivity of users, a software integration development environment matched with the multi-core processor needs to be developed. Meanwhile, in order to protect the commercial benefits of both the multi-core processor research and development parties, a use permission control mechanism needs to be designed in the integrated development environment software, and a user can legally use the multi-core processor software integrated development environment to develop the program of the multi-core processor after obtaining permission.
Regarding the software use license, from the physical form of the software license, there are two ways of hardware license and software license. Wherein, the hardware license is the special encryption hardware designed, such as: when the software is started, the USB software dongle can ensure that the encryption hardware works correctly and the software can run correctly only after the USB software dongle has legal software use permission; software license is that special license code is inserted into the protected software, and the software can be used correctly after obtaining the corresponding encrypted software use license code and decoding correctly. Hardware licenses are relatively more secure, but more costly, than software licenses and are now rarely used.
With the rapid development of the internet, a host running software basically has the capability of connecting with the internet, so that a software use license basically obtains software authorization through a server connected with a software developer through the internet. However, in view of protecting the business interests of the software using unit, the host running the software is still required to be kept offline in many application scenarios. Therefore, it is necessary for software development units to develop an offline host-oriented software license design method under the constraint of control cost.
The software license commonly used at present mainly comprises two parts, one is the confirmation of host identity, and the other is the control of the software use time length. For host identity confirmation, information such as a hard disk serial number, a network card physical address and the like is generally adopted as host unique identity information; for software use time length control, a mode of "start time + use time length" is generally adopted, that is: the software may be legitimately used for a specified period of time from one time until another.
However, for the host computer which is off-line, the local time can be changed freely due to the lack of time service from the remote server of the internet. For the software licensing mode of 'starting time + use duration', after the legal use time authorized by the software licensing is exceeded, only the time of the host needs to be changed back to the use validity period, so that 'cheating' on the software licensing mechanism can be realized, the software can be continuously used, and the legal benefit of a software development unit is damaged. The software use license is cracked in a time deception mode basically without professional knowledge and cost, and the method is one of the commonly used software use license cracking modes.
In order to strengthen the protection of the multi-core processor software integration development environment and improve the difficulty and cost of cracking, a software use permission design method capable of resisting the cracking mode of 'time deception' must be designed.
Disclosure of Invention
The technical problem solved by the invention is as follows: in order to overcome the defects of the prior art, the off-line use permission system of the multicore processor software integrated development environment is provided so as to resist the cracking method of continuously obtaining the use right of the multicore processor software integrated development environment by adjusting the time of an off-line host to the effective time period of the software use permission.
The technical solution of the invention is as follows:
a multi-core processor software integrated development environment offline use licensing system, comprising: a software use permission code generation module and a software use permission check module;
a software use license code generation module: receiving a host identity unique identifier, a software use starting date and software use effective duration which are externally input, and generating a software use permission code according to the externally input host identity unique identifier, the software use starting date and the software use effective duration; the generation of the software use license code includes the steps of: generating a sub information segment, encrypting information and combining the sub information segment;
the host identity unique identification refers to an identity unique identification of a host running a multi-core processor software integrated development environment; the software use starting date refers to the date that the multi-core processor software integrated development environment is allowed to start to use; the software use effective time length refers to the time length of normal use of the multi-core processor software integration development environment from the starting date;
software use license code checking module: receiving a current host identity unique identifier, current host running time and a plurality of encrypted information segments stored after software is correctly used last time, which are input from the outside, judging whether a multi-core processor software integrated development environment is allowed to run on the current host or not according to the software use permission code generated by the software use permission code generation module, the current host identity unique identifier and the current host running time, and sending a judgment result as an output quantity to an external multi-core processor software integrated development environment;
the current host identity unique identifier refers to a host identity unique identifier for accurately starting a multi-core processor software integrated development environment at present; the current host running time refers to the time for currently starting the host of the software integrated development environment of the multi-core processor; the plurality of encrypted information segments stored after the last software is correctly used refer to the result of the software use permission code check module encrypting and storing the correct start information after the multi-core processor software integrated development environment is correctly started last time.
Compared with the prior art, the invention has the beneficial effects that:
1) in the invention, the software use permission checking module is additionally provided with a starting time detection mechanism to obtain the current software starting time, and the current software starting time is compared with the software permission starting time and the effective duration in the permission result output part, and the software can be allowed to start when the software starting time is within the range of the effective duration of the software. By the mechanism, the attack of 'bypassing' software use permission in a time deception mode and illegally obtaining the use right of the multicore processor software integration development environment can be effectively resisted.
2) In the invention, the license code storage part of the software use license checking module can store the obtained software use license codes in a plurality of limited positions in a disk of a host, and the method is a method for effectively hiding the software use license codes. The difficulty of illegally obtaining the software license code from the host disk can be improved by the method.
3) In the invention, the software use permission code generation module carries out scrambling on information consisting of three information in a limited multiple combination mode instead of directly splicing the three information together in the process of carrying out encryption operation on the three information input by the host identity mark, the start date of the effective use of the software and the effective use time of the software and generating the software permission code. By the method, the difficulty of reversely analyzing the encryption algorithm by utilizing three information, namely the unique mark of the host, the effective use starting date of the software and the effective use time of the software, so as to further break the use permission of the software can be improved.
Drawings
FIG. 1 is a schematic diagram of a software use license code generation module of the present invention;
FIG. 2 is a diagram of a software use license checking module in the present invention.
Detailed Description
The invention relates to an off-line use permission system of a multi-core processor software integrated development environment, which comprises: a software use permission code generation module and a software use permission check module;
as shown in FIG. 1, the software usage license code generation module: receiving a host identity unique identifier, a software use starting date and software use effective duration which are externally input, and generating a software use permission code according to the externally input host identity unique identifier, the software use starting date and the software use effective duration; the generation of the software use license code includes the steps of: generating a sub information segment, encrypting information and combining the sub information segment;
the host identity unique identification refers to an identity unique identification of a host running a multi-core processor software integrated development environment; the software use starting date refers to the date that the multi-core processor software integrated development environment is allowed to start to use; the software use effective time length refers to the time length of normal use of the multi-core processor software integration development environment from the starting date;
as shown in FIG. 2, the software usage license code checking module: receiving a current host identity unique identifier, current host running time and a plurality of encrypted information segments stored after software is correctly used last time, which are input from the outside, judging whether a multi-core processor software integrated development environment is allowed to run on the current host or not according to the software use permission code generated by the software use permission code generation module, the current host identity unique identifier and the current host running time, and sending a judgment result as an output quantity to an external multi-core processor software integrated development environment;
the current host identity unique identifier refers to a host identity unique identifier for accurately starting a multi-core processor software integrated development environment at present; the current host running time refers to the time for currently starting the host of the software integrated development environment of the multi-core processor; the plurality of encrypted information segments stored after the last software is correctly used refer to the result of the software use permission code check module encrypting and storing the correct start information after the multi-core processor software integrated development environment is correctly started last time.
The unique host identity identifier refers to characteristic information which can be excluded from the host and represents the host identity, and specifically includes: a hard disk serial number or an ethernet MAC address.
In the software use permission code generation module, a sub-information segment generation step firstly combines three information of a host identity unique identifier, a software use start date and a software use effective time length which are input from the outside, and then splits the combined information into a plurality of sub-information segments;
the combination mode of the host identity unique identification, the software use starting date and the software use effective duration which are input externally is not limited, but only one combination mode can be adopted when the coding is realized according to the system description; when the sub information segment is split, the number of the sub information segments and the length of each sub information segment are not limited, but when the coding is implemented according to the system description, the sub information segments can be split in one mode.
In the software use license code generation module, the information encryption carries out encryption processing on each sub information segment to obtain an encrypted sub information segment;
the encryption algorithm is not fixed, but only one encryption algorithm can be adopted when the coding is realized according to the system description;
in the software use license code generation module, the sub information segment combination combines a plurality of encrypted sub information segments generated in the information encryption step to generate the software use license code.
The combination method of the encrypted sub-information segments is not limited, but only one combination method can be adopted when the encoding is implemented according to the system description.
In the software use permission code checking module, for the software use permission code received from the outside, the unique host identity identifier, the software use start date and the software use effective duration contained in the software use permission code are obtained through three steps of sub information segment splitting, information decryption and sub information segment combination.
The splitting of the sub information segment is performed by the reverse operation of the combination of the sub information segments in the software use license code generation module, namely, the software use license code is split into a plurality of encrypted sub information segments according to the same rule as the combination of the sub information segments; the information decryption executes the inverse operation of the information encryption in the software use license code generation module, namely decrypting the plurality of encrypted sub-information segments according to the decryption algorithm corresponding to the information encryption to generate corresponding decrypted sub-information segments; the sub information segment combination executes the inverse operation of the sub information segment generation in the software use permission code generation module, namely, the plurality of sub information segments are recombined according to the mode when the sub information segments are generated, so that the unique host identity mark, the software use starting date and the software use effective time length are extracted from the software use permission code.
When the software use permission code checking module runs for the first time, the unique host identity mark, the software use start date and the software use effective time are extracted from the software use permission code, and then the unique host identity mark, the software use start date and the software use effective time are compared with the current host identity unique mark and the current host run time input from the outside so as to judge whether the multi-core processor software integrated development environment is allowed to be started correctly or not;
when comparing the host identity identifiers, whether the current host identity unique identifier input from the outside is completely consistent with the host identity unique identifier extracted from the software use permission code needs to be compared, if so, the comparison is carried out, otherwise, the comparison is not carried out; when the software use time is compared, firstly adding the software use start date extracted from the software use permission code and the software use effective time length to obtain the correct software use period, then comparing whether the current host computer operation time falls in the correct software use period, if so, comparing the current host computer operation time to pass, otherwise, comparing the current host computer operation time to fail; when the unique host identity identification and the software use time are compared and pass, the software use permission code is considered to be valid, the correct operation of the multi-core processor software integrated development environment is allowed to be output to the outside, and otherwise, the correct operation of the multi-core processor software integrated development environment is not allowed to be output.
When the software use permission code checking module allows the multi-core processor software integrated development environment to run, the correct starting information needs to be stored through three steps of information encryption, sub information segment generation and sub information segment storage;
the correct starting information comprises two pieces of information of software use permission codes and current host computer running time; the information encryption can adopt various encryption algorithms, but when the coding is realized according to the system description, only one encryption algorithm can be adopted, and the encryption algorithm is not required to be consistent with the encryption algorithm in the software use license code; the sub-information segment generation splits the encrypted effective starting information of the software to form a plurality of encrypted sub-information segments, the splitting method can use a plurality of modes, but only one encryption algorithm can be adopted when the coding is realized according to the system description; the sub information segment storage stores a plurality of encrypted sub information segments at a plurality of positions of the current host disk, and the position of each encrypted sub information segment must be fixed when the coding is implemented according to the system description.
When the software use permission code checking module operates again, firstly, correct starting information of the last time is required to be obtained, the software use permission code and the correct starting time of the last software are obtained through three steps of reading the sub information segment, combining the sub information segment and decrypting the information, and then the unique host identity identifier, the software use starting date and the valid software use duration are extracted from the software use permission code; thirdly, comparing the current host identity unique identifier, the current host running time, the last software correct starting time, the host identity unique identifier, the software use starting date and the software use effective time length to judge whether the multi-core processor software integration development environment is allowed to be correctly started or not;
reading the encrypted sub information segment from a plurality of positions in a current host disk, wherein the operation of reading and executing the sub information segment is the reverse operation of storing the sub information segment; the operation executed by the sub information segment combination is the inverse operation generated by the sub information segment, and the encrypted correct software starting information of the last time is obtained; the operation executed by information decryption is the inverse operation of the information encryption, and a software use license code and the last time of correct software starting are obtained; the host identity identification comparison method specifically comprises the following steps: when comparing host identity marks, whether the current host identity unique mark input from the outside is completely consistent with the host identity unique mark extracted from the software use permission code needs to be compared, if so, the comparison is carried out, otherwise, the comparison is not carried out; the software use time comparison method specifically comprises the following steps: when the software use time is compared, firstly adding the software use start date extracted from the software use permission code and the software use effective time to obtain a software correct use period, then comparing whether the current host computer running time falls in the software correct use period, if the current host computer running time falls in the software correct use period, the current host computer running time passes the comparison, otherwise, the current host computer running time does not pass the comparison, meanwhile, the current host computer running time also needs to be compared whether the current host computer running time is later than the last software correct starting time, if the current host computer running time passes the comparison, the software is considered to be effective for restarting, otherwise, an attempt of cracking the software use permission code by modifying the host computer time is considered to occur.
When the software use permission code checking module operates again and allows the software to be started correctly, the correct starting information is stored on the disk of the host.
In the software use permission code checking module, when any one of last software correct starting information, current host identity unique identification and current host running time cannot be obtained, software is not allowed to be started, and the software use permission code checking module is recovered to a waiting first running state and needs to input the software use permission code again.
The working process of the invention is as follows:
1) separately establishing a software use license code generation module and a software use license check module
When using the method of the present invention, a software developer should first create a software use license code generation module and a software use license check module. Wherein, the software use license code generation module can be an independent software program which is used by a software developer; the software use permission checking module can be a stand-alone software program or a software module embedded in the software which requires authorized use. The software use license check module needs to provide a software use license interface through which to communicate with the authorized software to effect the transfer of the authorization information.
2) Software use license code generation module
The software uses the license code generation module as a stand-alone software program, requiring input and output mechanisms. The input of the unique identity information, the effective use starting date and the effective use duration of the host computer is realized through an input mechanism, and the output of the software use permission code is realized through an output mechanism. In order to generate the software use license code, the software use license code generation module needs to preset a limited number of input information combination mechanisms and a limited number of input information split mechanisms. Based on three input information and an internal preset information combination mechanism and an information segmentation mechanism, a software use permission code generation module randomly takes out one of a limited input information combination mechanism at first, and combines three information of input host unique identity information, effective use starting date and effective use duration according to the mechanism; secondly, the software use license code generation module randomly takes out one of the limited information segmentation mechanisms, and segments the combined information according to the mechanism; thirdly, inputting the segmented information fields into an encryption module for encryption; and finally, combining the encrypted information in sequence to form the final software use license code.
3) When the software is started for the first time, the software use permission checking module judges whether the software has legal use authorization
When software is started for the first time, the software use permission checking module is triggered to start, and after the software use permission checking module is started, the software starting process needs to be suspended, and the software starting process is continued after the software use permission checking is finished.
The software use permission checking module is internally preset with three information of the unique identity information of the host, the effective use starting date and the effective use duration in a limited combination mode and a limited segmentation mechanism for the combined information. Both mechanisms must be exactly the same way as preset in the software license code generation module. Meanwhile, a decryption module inside the software use permission checking module also needs to correspond to an encryption module in the software permission code generating module, so that the information decryption work can be correctly completed.
The software use license checking module starts the operation of judging whether the software use license code is valid or not, after receiving the software use license code generated by the software use license code generating module through the input interface. The method comprises the following specific steps: firstly, the software use license code is divided in a mode of sequentially combining the encrypted information with the software use license code module, and a plurality of subsections are respectively input into a decryption module for decryption. And secondly, replying the decrypted information in an order opposite to the three information of the unique identity information of the split host computer, the effective use starting date and the effective use duration in the software use permission code module. During reply, because the software license code does not carry information in the information combination mode twice, the software use license check module needs to traverse the combination of the limited segmentation modes so as to extract correct information. Thirdly, after three information of the unique identity information of the host, the effective use starting date and the effective use duration are extracted, the software use permission checking module needs to judge whether the unique identity information of the host in the software use permission code is consistent with the unique identity information of the current host; it is determined whether the host time is within the software use permission range. If the two judgments are both correct, the software is considered to be legal to use, and the running software is continuously started; if one judgment is incorrect or both judgments are incorrect, the software is considered to be illegal to use, and the software is prevented from being started continuously and informing a user.
When the software is started correctly, the software use permission check module stores the software use permission code in a plurality of limited positions in a disk of the host computer; and meanwhile, extracting the current host time as the current starting time, and storing the current starting time in a disk of the host after encrypting the current starting time.
4) When the software is restarted, the software use permission checking module judges whether the software has legal use authorization
When the software is restarted, the software use permission checking module obtains the software use permission code stored after the last correct startup from the host disk, and obtains the unique identity information, the effective use starting date and the effective use duration of the host according to the process in the step 3). Meanwhile, the time of the last correct software start is also obtained from the host disk. And then, respectively comparing whether the host identity is consistent with the current host and whether the software use validity period is valid. When comparing the software use validity period, in addition to comparing whether the current host time is within the software use validity period, the current host time needs to be compared with the last software correct start time. If the current host time is in the valid period of the software, and the current host time is later than the last software starting time, the software is allowed to be started correctly, otherwise, the software is organized to continue to be started.
And after the software is correctly started, storing the correct starting time of the software at the position where the correct starting time of the software is stored last time, and finishing the updating of the starting time of the software.
Examples
A certain offline host computer adopts a network card physical address 11-22-33-44-55-66 as a unique host identity mark, applies for using a multi-core processor software integrated development environment for 90 days, and has an initial date of 1 month and 1 day in 2019, namely: the effective service life of the multi-core processor software integration development environment is from 1 month and 1 day of 2019 to 3 months and 31 days of 2019. The software use permission code generation module and the software use permission check module are both designed by a software designer and are independent software programs, wherein the software use permission check module is communicated with the multi-core processor software integrated development environment through a local virtual network port to provide authorization information of the multi-core processor software integrated development environment.
For the software use permission code generation module, the host identity input part is realized by a text window, and network card physical address information 11-22-33-44-55-66 is input in the window; the software usage license period is implemented in two text windows, the initial software usage time 20190101 being entered in the first text window and the effective software usage duration being 90 days being entered in the second text window. Three information of host identity mark, software initial using time and software effective using time length are input into the software using permission code output portion.
The software use license code output part presets three input information combination methods, which are respectively: the software management system comprises a host identity mark, a software effective use starting date, a software effective use duration and a host identity mark, and the software effective use duration, the host identity mark and the software effective use starting date. The software use license code output section selects one of the three pieces of input information to combine with it. In this embodiment, a character string of 1122334455662019010130 is formed in a manner of "host identity mark + start date of effective use of software + duration of effective use of software".
The software use license code output part presets three modes of forming a plurality of different subsections by dividing the character string, including: "7 characters +8 characters", "7 characters +8 characters +7 characters", and "8 characters +7 characters". In this embodiment, three information subsections 1122334, 4556620, and 19010130 are formed by using a "7 characters +8 characters" manner. And then encrypting the three information fields respectively. In this embodiment, DES encryption is used. The three messages are encrypted by the DES encryption algorithm and form ciphertexts, referred to as A, B and C, respectively. Then, sequentially arranging ABC forms a software use license code.
When the multi-core processor software integration development environment is started for the first time, the software can be correctly started only by inputting a software use license code and verifying the software. At this time, with the software use license checking module, the software use license code input section is implemented as a text window in which the software use license code ABC is input.
Then, the host identity detection part and the starting time detection part respectively obtain the network card physical address 11-22-33-44-55-66 and the current starting time 2019, 1 month and 10 days. Meanwhile, the license result output part divides the software use license code into A, B, C three information fields according to a software preset mode, and decrypts the information fields by using a DES decryption algorithm to obtain 1122334, 4556620 and 19010130 three information subsections. At this time, when the permission result output part knows that the software use permission code is generated, one of three ways is adopted for the arrangement sequence and the information subsection division of the three information of the host identity mark, the software effective use start date and the software effective use time length, but the user does not know which way the software uses, so that the three ways in the two steps need to be combined in sequence, and after each result is obtained, the three information of the host identity mark, the software effective use start date and the software effective use time length are respectively extracted. And then comparing the network card physical address with the current software starting time of the local computer, if the network card physical address is the same as the current software starting time, allowing the multi-core processor software integrated development environment to run, and if the network card physical address is not the same as the current software starting time, preventing the multi-core processor software integrated development environment from running.
After the multi-core processor software integrated development environment is confirmed to be operable, the software use permission code is divided into a plurality of fields according to a preset mode, in the embodiment, the character string ABC is divided into two character strings D1 and D2 according to a mode of dividing the character string into two parts, and the two character strings are respectively stored in a registry of a host disk and a software installation path. Meanwhile, the correct software starting time is encrypted by adopting a DES algorithm and respectively stored in a registry of a host disk and a software installation path.
When the multi-core processor software integration development environment is started again, the software use license check module needs to check the validity of the software use license code and the validity of the current starting time. At this point, the software use license check module finds D1 and D2 from the registry and software installation path of the host disk, respectively, and combines them as ABC. Then, the validity of the software use permission code is checked again in the order of checking when the software is first started. And then extracting the last software starting time, comparing the last software starting time of the two storage positions to be consistent through DES decryption, and comparing the current host time with the last software starting time after ensuring that the host time is not attacked. If the host identity meets the requirement of the software use permission code, the current software starting time is in the software use time period provided by the software use permission code, and the current host time is later than the last software correct starting time, the virtual network port informs the multi-core processor software integrated development environment that the software integrated development environment can be correctly started, otherwise, the multi-core processor software integrated development environment is prevented from being correctly started and operated.
Those skilled in the art will appreciate that the details of the invention not described in detail in the specification are within the skill of those skilled in the art.

Claims (10)

1. An off-line use licensing system for a multi-core processor software integrated development environment, comprising: a software use permission code generation module and a software use permission check module;
a software use license code generation module: receiving a host identity unique identifier, a software use starting date and software use effective duration which are externally input, and generating a software use permission code according to the externally input host identity unique identifier, the software use starting date and the software use effective duration; the generation of the software use license code includes the steps of: generating a sub information segment, encrypting information and combining the sub information segment;
the host identity unique identification refers to an identity unique identification of a host running a multi-core processor software integrated development environment; the software use starting date refers to the date that the multi-core processor software integrated development environment is allowed to start to use; the software use effective time length refers to the time length of normal use of the multi-core processor software integration development environment from the starting date;
software use license code checking module: receiving a current host identity unique identifier, current host running time and a plurality of encrypted information segments stored after software is correctly used last time, which are input from the outside, judging whether a multi-core processor software integrated development environment is allowed to run on the current host or not according to the software use permission code generated by the software use permission code generation module, the current host identity unique identifier and the current host running time, and sending a judgment result as an output quantity to an external multi-core processor software integrated development environment;
the current host identity unique identifier refers to a host identity unique identifier for accurately starting a multi-core processor software integrated development environment at present; the current host running time refers to the time for currently starting the host of the software integrated development environment of the multi-core processor; the plurality of encrypted information segments stored after the last software is correctly used refer to the result of the software use permission code check module encrypting and storing the correct start information after the multi-core processor software integrated development environment is correctly started last time.
2. The system of claim 1, wherein the system is configured to permit offline use of a development environment for multicore processor software integration, and is further configured to: the unique host identity identifier refers to characteristic information which can be excluded from the host and represents the host identity, and specifically includes: a hard disk serial number or an ethernet MAC address.
3. The system of claim 1, wherein the system is configured to permit offline use of a development environment for multicore processor software integration, and is further configured to: in the software use permission code generation module, a sub-information segment generation step firstly combines three information of a host identity unique identifier, a software use start date and a software use effective time length which are input from the outside, and then splits the combined information into a plurality of sub-information segments;
the combination mode of the host identity unique identification, the software use starting date and the software use effective duration which are input externally is not limited, but only one combination mode can be adopted when the coding is realized according to the system description; when the sub information segment is split, the number of the sub information segments and the length of each sub information segment are not limited, but when the coding is implemented according to the system description, the sub information segments can be split in one mode.
4. The off-line use licensing system for multicore processor software integrated development environment of claim 3, wherein: in the software use license code generation module, the information encryption carries out encryption processing on each sub information segment to obtain an encrypted sub information segment;
in the software use license code generation module, the sub information segment combination combines a plurality of encrypted sub information segments generated in the information encryption step to generate the software use license code.
5. The off-line use licensing system of the multicore processor software integrated development environment of claim 4, wherein: in the software use permission code checking module, for the software use permission code received from the outside, the unique host identity identifier, the software use start date and the software use effective duration contained in the software use permission code are obtained through three steps of sub information segment splitting, information decryption and sub information segment combination.
6. The system of claim 1, wherein the system is configured to permit offline use of a development environment for multicore processor software integration, and is further configured to: when the software use permission code checking module runs for the first time, extracting the unique host identity mark, the software use start date and the software use effective time from the software use permission code, and then comparing the unique host identity mark with the current host identity unique identifier and the current host run time input from the outside to judge whether the multi-core processor software integrated development environment is allowed to be started correctly or not;
when comparing the host identity identifiers, whether the current host identity unique identifier input from the outside is completely consistent with the host identity unique identifier extracted from the software use permission code needs to be compared, if so, the comparison is carried out, otherwise, the comparison is not carried out; when the software use time is compared, firstly adding the software use start date extracted from the software use permission code and the software use effective time length to obtain the correct software use period, then comparing whether the current host computer operation time falls in the correct software use period, if so, comparing the current host computer operation time to pass, otherwise, comparing the current host computer operation time to fail; when the unique host identity identification and the software use time are compared and pass, the software use permission code is considered to be valid, the correct operation of the multi-core processor software integrated development environment is allowed to be output to the outside, and otherwise, the correct operation of the multi-core processor software integrated development environment is not allowed to be output.
7. The system of claim 1, wherein the system is configured to permit offline use of a development environment for multicore processor software integration, and is further configured to: when the software use permission code checking module allows the multi-core processor software integrated development environment to run, the correct starting information needs to be stored through three steps of information encryption, sub information segment generation and sub information segment storage;
the correct starting information comprises two pieces of information of software use permission codes and current host computer running time; the information encryption can adopt various encryption algorithms, but when the coding is realized according to the system description, only one encryption algorithm can be adopted, and the encryption algorithm is not required to be consistent with the encryption algorithm in the software use license code; the sub-information segment generation splits the encrypted effective starting information of the software to form a plurality of encrypted sub-information segments, the splitting method can use a plurality of modes, but only one encryption algorithm can be adopted when the coding is realized according to the system description; the sub information segment storage stores a plurality of encrypted sub information segments at a plurality of positions of the current host disk, and the position of each encrypted sub information segment must be fixed when the coding is implemented according to the system description.
8. The system of claim 1, wherein the system is configured to permit offline use of a development environment for multicore processor software integration, and is further configured to: when the software use permission code checking module operates again, firstly, correct starting information of the last time is required to be obtained, the software use permission code and the correct starting time of the last software are obtained through three steps of reading the sub information segment, combining the sub information segment and decrypting the information, and then the unique host identity identifier, the software use starting date and the valid software use duration are extracted from the software use permission code; thirdly, comparing the current host identity unique identifier, the current host running time, the last software correct starting time, the host identity unique identifier, the software use starting date and the software use effective time length to judge whether the multi-core processor software integration development environment is allowed to be correctly started or not;
reading the encrypted sub information segment from a plurality of positions in a current host disk, wherein the operation of reading and executing the sub information segment is the reverse operation of storing the sub information segment; the operation executed by the sub information segment combination is the inverse operation generated by the sub information segment, and the encrypted correct software starting information of the last time is obtained; the operation executed by information decryption is the inverse operation of the information encryption, and a software use license code and the last time of correct software starting are obtained; the host identity identification comparison method specifically comprises the following steps: when comparing host identity marks, whether the current host identity unique mark input from the outside is completely consistent with the host identity unique mark extracted from the software use permission code needs to be compared, if so, the comparison is carried out, otherwise, the comparison is not carried out; the software use time comparison method specifically comprises the following steps: when the software use time is compared, firstly adding the software use start date extracted from the software use permission code and the software use effective time to obtain a software correct use period, then comparing whether the current host computer running time falls in the software correct use period, if the current host computer running time falls in the software correct use period, the current host computer running time passes the comparison, otherwise, the current host computer running time does not pass the comparison, meanwhile, the current host computer running time also needs to be compared whether the current host computer running time is later than the last software correct starting time, if the current host computer running time passes the comparison, the software is considered to be effective for restarting, otherwise, an attempt of cracking the software use permission code by modifying the host computer time is considered to occur.
9. The system of claim 1, wherein the system is configured to permit offline use of a development environment for multicore processor software integration, and is further configured to: when the software use permission code checking module operates again and allows the software to be started correctly, the correct starting information is stored on the disk of the host.
10. The system of claim 1, wherein the system is configured to permit offline use of a development environment for multicore processor software integration, and is further configured to: in the software use permission code checking module, when any one of last software correct starting information, current host identity unique identification and current host running time cannot be obtained, software is not allowed to be started, and the software use permission code checking module is recovered to a waiting first running state and needs to input the software use permission code again.
CN201911330749.1A 2019-12-20 2019-12-20 Off-line use permission system for multi-core processor software integrated development environment Active CN111191194B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911330749.1A CN111191194B (en) 2019-12-20 2019-12-20 Off-line use permission system for multi-core processor software integrated development environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911330749.1A CN111191194B (en) 2019-12-20 2019-12-20 Off-line use permission system for multi-core processor software integrated development environment

Publications (2)

Publication Number Publication Date
CN111191194A true CN111191194A (en) 2020-05-22
CN111191194B CN111191194B (en) 2022-05-13

Family

ID=70709245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911330749.1A Active CN111191194B (en) 2019-12-20 2019-12-20 Off-line use permission system for multi-core processor software integrated development environment

Country Status (1)

Country Link
CN (1) CN111191194B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113496028A (en) * 2021-06-28 2021-10-12 山东云缦智能科技有限公司 Software offline authentication method with time limit function
CN114117364A (en) * 2022-01-24 2022-03-01 北京麟卓信息科技有限公司 Offline software license control method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577727A (en) * 2013-11-13 2014-02-12 深圳市创维群欣安防科技有限公司 Software deadline verifying method and device
CN109284586A (en) * 2018-08-27 2019-01-29 武汉达梦数据库有限公司 A kind of soft ware authorization license implementation method and device
CN110008659A (en) * 2019-03-29 2019-07-12 深圳华锐金融技术股份有限公司 Outline management method, apparatus, computer equipment and the storage medium of software license

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577727A (en) * 2013-11-13 2014-02-12 深圳市创维群欣安防科技有限公司 Software deadline verifying method and device
CN109284586A (en) * 2018-08-27 2019-01-29 武汉达梦数据库有限公司 A kind of soft ware authorization license implementation method and device
CN110008659A (en) * 2019-03-29 2019-07-12 深圳华锐金融技术股份有限公司 Outline management method, apparatus, computer equipment and the storage medium of software license

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113496028A (en) * 2021-06-28 2021-10-12 山东云缦智能科技有限公司 Software offline authentication method with time limit function
CN114117364A (en) * 2022-01-24 2022-03-01 北京麟卓信息科技有限公司 Offline software license control method and system
CN114117364B (en) * 2022-01-24 2022-03-29 北京麟卓信息科技有限公司 Offline software license control method and system

Also Published As

Publication number Publication date
CN111191194B (en) 2022-05-13

Similar Documents

Publication Publication Date Title
US8001383B2 (en) Secure serial number
US7992001B2 (en) Preventing execution of software without a dynamically generated key
US20070074046A1 (en) Secure microprocessor and method
CN1969500B (en) Securing software
CN100495421C (en) Authentication protection method based on USB device
CN106506159A (en) Encryption method and equipment for key safety
CN112231647A (en) Software authorization verification method
WO2005096158A1 (en) Use authentication method, use authentication program, information processing device, and recording medium
WO2017000648A1 (en) Authentication method and apparatus for reinforced software
CN104573549A (en) Credible method and system for protecting confidentiality of database
CN105740725A (en) File protection method and system
CN111191194B (en) Off-line use permission system for multi-core processor software integrated development environment
CN111177693B (en) Method, device, equipment and medium for verifying terminal root certificate
CN103560892A (en) Secret key generation method and secret key generation device
CN112528236B (en) Application software authorization method based on virtual machine
US20110265186A1 (en) Method for protecting a software license, system for same, server, terminal, and computer-readable recording medium
CN109598104A (en) Soft ware authorization based on timestamp and secret authentication file protects system and method
US8347109B2 (en) Secure serial number generation
CN101777108A (en) Encrypting method capable of executing exe files
US20030217280A1 (en) Software watermarking for anti-tamper protection
CN105184119B (en) A kind of method for security protection of software
CN112000933B (en) Application software activation method and device, electronic equipment and storage medium
CN110457872B (en) Android App application resource hiding and reinforcing method
US20190044709A1 (en) Incorporating software date information into a key exchange protocol to reduce software tampering
KR20060127007A (en) Software execution protection using an active entity

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant