WO2022242035A1 - Software secure application method and apparatus - Google Patents

Software secure application method and apparatus Download PDF

Info

Publication number
WO2022242035A1
WO2022242035A1 PCT/CN2021/126866 CN2021126866W WO2022242035A1 WO 2022242035 A1 WO2022242035 A1 WO 2022242035A1 CN 2021126866 W CN2021126866 W CN 2021126866W WO 2022242035 A1 WO2022242035 A1 WO 2022242035A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
registration information
terminal device
registration
unique identification
Prior art date
Application number
PCT/CN2021/126866
Other languages
French (fr)
Chinese (zh)
Inventor
王吉勇
范雷
姜海昆
范宇
Original Assignee
长扬科技(北京)有限公司
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 长扬科技(北京)有限公司 filed Critical 长扬科技(北京)有限公司
Publication of WO2022242035A1 publication Critical patent/WO2022242035A1/en

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Definitions

  • the invention relates to the field of computer technology, in particular to a method and device for safe application of software.
  • software is used as an anti-cracking method, that is, a registration code or serial code is input during software installation, and whether the software continues to be installed is determined by checking the input result.
  • a registration code or serial code is input during software installation, and whether the software continues to be installed is determined by checking the input result.
  • some users obtain the registration code or serial code that matches the software, they can copy and copy without restriction. It is difficult for software providers to prevent users from obtaining these registration codes or serial codes. Therefore, this method It is not conducive to the safe application of software.
  • the technical problem to be solved by the present invention is that it is unfavorable for safe application of software. Aiming at the defects in the prior art, a method and device for safe application of software are provided.
  • the present invention provides a method for secure application of software, comprising:
  • the registration information does not include the unique identification information, perform: determine whether the software can be installed on the terminal device according to the registration information; if yes, install the software on the terminal device, and The unique identification information is added to the registration information;
  • the registration information includes the unique identification information, then perform: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip the installation step; if not, then The software is installed on the terminal device, and the registration information of the software remains unchanged.
  • the unique identification information includes a host name, a hard disk serial number, and a MAC address of the terminal device.
  • the acquiring the registration information of the software includes:
  • the version of the software When the version of the software is a stand-alone version, execute: obtain the encrypted registration information of the software stored in an external storage medium; decrypt the encrypted registration information of the software to obtain the registration information of the software.
  • the encrypted registration information of the software includes a first check value generated by encrypting the registration information of the software with a preset encryption algorithm
  • Deciphering the encrypted registration information of the software to obtain the registration information of the software includes:
  • the registration information of the software is obtained.
  • the registration information includes remaining registration points, and each installation of the software on a terminal device consumes a preset number of remaining registration points;
  • the determining whether the software can be installed on the terminal device according to the registration information includes:
  • the number of remaining registration points included in the registration information is not less than the preset number, it is determined that the software can be installed on the terminal device; otherwise, it is determined that the software cannot be installed on the terminal device.
  • after adding the unique identification information to the registration information further include:
  • the result of subtracting the preset number from the remaining registration points included in the registration information is used as a new remaining registration points, and the new remaining registration points are added to the registration information.
  • the software after the software is installed on the terminal device, it further includes:
  • the unique identification information included in the registration information is deleted, and the result of increasing the remaining registration points included in the registration information by the preset number as the new remaining registration points, and add the new remaining registration points to the registration information.
  • the present invention also provides a software security application device, including:
  • the first obtaining module is used to obtain the unique identification information of the terminal device of the software to be installed when running the executable file used for installation in the installation package of the software;
  • the second obtaining module is used to obtain the registration information of the software
  • a first execution module configured to execute, if the registration information does not include the unique identification information: determine whether the software can be installed on the terminal device according to the registration information; if yes, execute on the terminal device Install the software on your computer and add the unique identification information to the registration information;
  • the second execution module is used to execute if the registration information includes the unique identification information: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip An installation step; if not, installing the software on the terminal device, and keeping the registration information of the software unchanged.
  • the present invention also provides a software security application device, including: at least one memory and at least one processor;
  • said at least one memory for storing machine-readable programs
  • the at least one processor is configured to invoke the machine-readable program to execute the method as described above.
  • the present invention also provides a computer-readable medium, where computer instructions are stored on the computer-readable medium, and when the computer instructions are executed by a processor, the processor executes the method as described above.
  • the registration information does not include the unique identification information, and the registration information needs to be determined according to the registration information.
  • the software can be installed on the terminal device, so that the user does not need to enter the registration code or serial code that matches the software, which improves the security applicability of the software; if the terminal device is not installed for the first time, it can be directly based on Whether there is a program file formed after the successful installation of the software package in the terminal device to choose to skip the installation or reinstall, so that the user does not need to enter the registration code or serial code that matches the software, which improves the software. Security applicability.
  • Fig. 1 is the flow chart of the safe application method of software provided by one embodiment of the present invention.
  • FIG. 2 is a flow chart of a software security application method provided by another embodiment of the present invention.
  • Fig. 3 is a schematic diagram of a software security application device provided by an embodiment of the present invention.
  • Fig. 4 is a schematic diagram of a software security application device provided by an embodiment of the present invention.
  • Fig. 1 shows a flowchart of a method for securely applying software according to an embodiment. It can be understood that the method can be executed by any device, device, platform, or device cluster that has computing and processing capabilities. The method will be described below by using a terminal device (for example, a computer) to execute the method.
  • a terminal device for example, a computer
  • the method includes:
  • Step 101 When running the executable file used for installation in the software installation package, obtain the unique identification information of the terminal device to install the software.
  • step 101 by obtaining the unique identification information of the terminal device to install the software, it is beneficial to determine whether the terminal device is installing the software for the first time in combination with the registration information of the software in subsequent steps.
  • the unique identification information includes the host name, hard disk serial number and MAC address of the terminal device.
  • the serial number of the hard disk of the terminal device is unique, therefore, the unique identification information at least includes the serial number of the hard disk.
  • other hardware parameters of the terminal device such as host name and MAC address can also be taken into consideration.
  • Step 102 Obtain the registration information of the software.
  • industrial software generally includes two versions: network version and stand-alone version.
  • the storage media of software registration information are different.
  • the registration information of the software of the network version can be stored in the authorization center, so as to use the authorization center to centrally manage and control the software of multiple network versions; CD).
  • the registration information of the online version of the software is stored in the authorization center, and the registration information of the stand-alone version of the software is stored in the USB flash drive.
  • step 102 may include the following two specific situations.
  • the unique identification information may be encrypted using encryption algorithms such as AES and base64. If the authorization center can decrypt the encrypted unique identification information with the pre-agreed encryption algorithm, it can prove that the unique identification information is legal. Furthermore, in order to prevent the unique identification information from being maliciously tampered with, the terminal device can encrypt the unique identification information according to certain encryption algorithms to obtain a verification value. When the authorization center decrypts the encrypted unique identification information, it will also obtain the corresponding check value, compare the two check values, if they are the same, it means that the verification is passed, and at the same time, the authorization center sends the pre-stored registration information of the software to the terminal device. It can be seen that the above solution can increase the confidentiality of the software registration information during the acquisition process.
  • Case 2 When the version of the software is a stand-alone version, execute: obtain the encrypted registration information of the software stored in an external storage medium; decrypt the encrypted registration information of the software to obtain the registration information of the software.
  • the registration information of the software can be stored in a USB flash drive, that is, the software provider can provide a bundled sale of the USB flash drive and the software installation package to increase the security applicability of the software.
  • this method provided by the present invention can reduce the cost and prevent the problem that the software cannot be recovered due to the system crash compared with the method of using the dongle USB disk in the prior art.
  • the analysis process can be referred to below, and will not be carried out here narrative.
  • algorithms for encrypting registration information include but are not limited to encryption algorithms such as AES and base64.
  • the U disk used in the second scenario can be a common U disk, which can reduce the cost compared with the dongle U disk.
  • it is necessary to repartition the ordinary U disk for example, through the relevant API interface of the terminal device (such as the DeviceIoControl interface), and then pass in API parameters such as IOCTL_DISK_GET_DRIVE_GEOMETRY, IOCTL_SCSI_PASS_THROUGH, etc., to obtain the size, sector, track, etc. of the U disk information, clear the U disk partition table, and repartition the U disk.
  • the common area can be used normally (the function is the same as that of an ordinary U disk), and the encryption area is used to store the registration information of the software.
  • the registration information of the software in order to ensure that the registration information of the software will not be illegally tampered with, it may be considered to compare the check value generated during the encryption process of the registration information to ensure the integrity of the data.
  • the encrypted registration information of the software includes a first check value generated by encrypting the registration information of the software using a preset encryption algorithm
  • the encrypted registration information of the software is decrypted to obtain the registration information of the software, including:
  • the registration information of the software is obtained.
  • Step 103 If the registration information does not include the unique identification information, then execute: determine whether the software can be installed on the terminal device according to the registration information; if yes, install the software on the terminal device, and add the unique identification information to the registration information middle.
  • the software When installing software on a terminal device, it is necessary to verify whether the software is installed on the terminal device for the first time, so as to improve the installation efficiency of the terminal device.
  • it is judged whether the software is installed on the terminal device for the first time by judging whether the registration information of the software includes the unique identification information of the terminal device. Specifically, if the registration information does not include unique identification information, it proves that the software is installed on the terminal device for the first time; if the registration information includes unique identification information, it proves that the software is not installed on the terminal device for the first time. That is to say, installing the software on the terminal device and adding the unique identification information to the registration information is beneficial to verify whether the software is installed on the terminal device for the first time, so as to improve the installation efficiency of the terminal device.
  • the registration information includes remaining registration points, and the software will consume a preset number of remaining registration points each time it is installed on a terminal device.
  • step 103 it is determined whether the software can be installed on the terminal device according to the registration information. On the terminal device, it may specifically include the following steps:
  • the number of remaining registration points included in the registration information is not less than the preset number, it is determined that the software can be installed on the terminal device; otherwise, it is determined that the software cannot be installed on the terminal device.
  • the registration information in the U disk corresponding to software A includes 10 remaining registration points (i.e. available registration points), and 5 registration points are needed (or consumed) to install software A, so the U disk can still Perform two installations on different terminal devices; if the remaining registration points in software A are 0 points, you cannot continue to install on different terminal devices.
  • the U disk can not be limited to install one terminal device by setting the number of registration points. The more remaining registration points included in the U disk, it means that the U disk can install software to different devices. The greater the number of terminal devices, the lower the cost of software installation (mainly hardware cost). In some embodiments, the preset number may be 1. That is to say, installing software by using an ordinary U disk is safer, more convenient and flexible than using software, and the installation cost is lower than using hardware (such as dongle U disk).
  • the step of adding the unique identification information to the registration information it further includes:
  • the result of subtracting the preset quantity from the remaining registration points included in the registration information is used as the new remaining registration points, and the new remaining registration points are added to the registration information.
  • the remaining registration points in software A are 10 points, 5 registration points need to be used (or consumed) to install software A.
  • the remaining registration points in software A are 5 points, and then the registration information is updated, that is, the new remaining registration points (that is, 5 points) are added to the registration information.
  • the remaining registration points included in the registration information of the software are correspondingly updated synchronously, so as to ensure the integrity of the data.
  • Step 104 If the registration information includes unique identification information, then execute: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip the installation step; Install the software on your computer and leave the registration information for the software unchanged.
  • the registration points of the registration information do not need to be consumed.
  • "installed” includes two situations where the software already exists in the terminal device, or does not exist (for example, the software is lost due to system flashing) and the registration points of the software have not been recovered.
  • the installation step can be directly skipped to ensure the installation efficiency of the terminal device.
  • the software exists on the terminal device (for example, the software is lost due to system flashing) and the registration points of the software have not been recovered, it can prevent the problem that the software usage rights cannot be recovered due to system crashes, that is, in the In this case, the software can be continuously installed on the terminal device that has installed the software without consuming registration points.
  • step 103 and step 104 the above method further includes the following steps:
  • the registration points can be reclaimed when the software is uninstalled, and the reclaimed registration points can be used to install on other different terminal devices. It can be used freely by personnel, that is, it can be understood that after the user purchases a USB flash drive that can be installed to a certain number of terminal devices, the limit of the number of terminal devices that can be installed to meet the number of terminal devices can be realized from beginning to end, and will not change.
  • the above technical solution does not need to add other security devices, and the stand-alone version or the network version can be installed according to the needs. Even if the installation process is skipped after being cracked, the installed program lacks the registration information in the U disk and cannot run normally. Therefore, The safety applicability of the software can be further enhanced.
  • the registration points can be recovered for the installation of other terminal devices; and the software exists on the terminal device (for example, the software is lost due to system flashing) and the registration points of the software have not been recovered. Among them, it can prevent the problem that the software usage authority cannot be recovered due to the system crash, and increase the user's satisfaction with the product.
  • Fig. 2 shows a flow chart of a method for securely applying software according to another embodiment.
  • the method includes:
  • Step 201 When running the executable file used for installation in the software installation package, obtain the unique identification information of the terminal device on which the software is to be installed.
  • Step 202 Obtain the registration information of the software.
  • Step 203 If the registration information does not include unique identification information, execute: if the remaining registration points included in the registration information are not less than the preset number, install the software on the terminal device, and subtract the preset number of remaining registration points from the registration information. The result after the number is used as the new remaining registration points, and the new remaining registration points and unique identification information are added to the registration information.
  • Step 204 If the registration information includes unique identification information, then execute: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip the installation step; Install the software on your computer and leave the registration information for the software unchanged.
  • Step 205 When running the executable file used for uninstallation in the software installation package, delete the unique identification information included in the registration information, and increase the number of remaining registration points included in the registration information by a preset number as a new remaining registration points and add the new remaining registration points to the registration information.
  • an embodiment of the present invention provides a software security application device and a software security application device.
  • the device embodiments can be implemented by software, or by hardware or a combination of software and hardware. From the perspective of hardware, as shown in Figure 3, it is a hardware structural diagram of a software security application device provided by the embodiment of the present invention, except for the processor, memory, network interface, and non-volatile memory shown in Figure 3
  • the device where the device in the embodiment is located may generally include other hardware, such as a forwarding chip responsible for processing packets, and the like.
  • the security application device of the software provided in this embodiment includes:
  • the first obtaining module 401 is used to obtain the unique identification information of the terminal device to be installed software when running the executable file used for installation in the installation package of the software;
  • the second obtaining module 402 is used to obtain the registration information of the software
  • the first execution module 403 is configured to execute if the registration information does not include the unique identification information: determine whether the software can be installed on the terminal device according to the registration information; Install the software on the device, and add the unique identification information to the registration information;
  • the second execution module 404 is configured to execute if the registration information includes the unique identification information: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip If not, then install the software on the terminal device, and keep the registration information of the software unchanged.
  • the first acquisition module 401 can be used to execute step 101 in the above method embodiment
  • the second acquisition module 402 can be used to execute step 102 in the above method embodiment
  • the third acquisition module 403 can be used to execute the above method
  • the fourth acquiring module 404 may be configured to execute step 104 in the above method embodiment.
  • the unique identification information includes the host name, hard disk serial number and MAC address of the terminal device.
  • the second acquiring module 402 is configured to perform the following operations:
  • the version of the software When the version of the software is a stand-alone version, execute: obtain the encrypted registration information of the software stored in an external storage medium; decrypt the encrypted registration information of the software to obtain the registration information of the software.
  • the encrypted registration information of the software includes a first check value generated by encrypting the registration information of the software with a preset encryption algorithm
  • the second acquiring module 402 is configured to perform the following operations when performing the decryption of the encrypted registration information of the software to obtain the registration information of the software:
  • the registration information of the software is obtained.
  • the registration information includes remaining registration points, and each installation of the software on a terminal device consumes a preset number of remaining registration points;
  • the first executing module 403 is configured to perform the following operations when performing the determining whether the software can be installed on the terminal device according to the registration information:
  • the number of remaining registration points included in the registration information is not less than the preset number, it is determined that the software can be installed on the terminal device; otherwise, it is determined that the software cannot be installed on the terminal device.
  • the first execution module 403 is further configured to use the result of subtracting the preset number from the remaining registration points included in the registration information as the new remaining registration points, and take the new The remaining registration points of , are added to the registration information.
  • the uninstallation module is configured to delete the unique identification information included in the registration information when running the executable file used for uninstallation in the installation package of the software, and increase the number of remaining registration points included in the registration information by The result after the preset number is used as the new remaining registration points, and the new remaining registration points are added to the registration information.
  • the structure shown in the embodiment of the present invention does not constitute a specific limitation on the security application device of the software.
  • the software security application device may include more or fewer components than shown in the illustration, or combine some components, or separate some components, or arrange different components.
  • the illustrated components may be realized in hardware, software, or a combination of software and hardware.
  • the embodiment of the present invention also provides a software security application device, including: at least one memory and at least one processor;
  • At least one memory for storing machine-readable programs
  • At least one processor is used for invoking a machine-readable program to execute the security application method of the software in any embodiment of the present invention.
  • An embodiment of the present invention also provides a computer-readable medium storing instructions for enabling a computer to execute the software security application method as described herein.
  • a method or device equipped with a storage medium may be provided, on which the software program code for realizing the functions of any one of the above embodiments is stored, and the computer (or CPU or MPU) of the method or device ) to read and execute the program code stored in the storage medium.
  • the program code itself read from the storage medium can realize the function of any one of the above-mentioned embodiments, so the program code and the storage medium storing the program code constitute a part of the present invention.
  • Examples of storage media for providing program code include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), Tape, non-volatile memory card, and ROM.
  • the program code can be downloaded from a server computer via a communication network.
  • the program code read from the storage medium is written into the memory provided in the expansion board inserted into the computer or written into the memory provided in the expansion unit connected to the computer, and then based on the program code
  • the instruction causes the CPU installed on the expansion board or the expansion unit to perform some or all of the actual operations, so as to realize the functions of any one of the above-mentioned embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a software secure application method and apparatus. The method comprises: when running, in an installation package of software, an executable file for installation, acquiring unique identification information of a terminal device where the software is to be installed; acquiring registration information of the software; if the registration information does not comprise the unique identification information, according to the registration information, determining whether the software can be installed on the terminal device; if yes, installing the software on the terminal device, and adding the unique identification information to the registration information; if the registration information comprises the unique identification information, determining whether there is, in the terminal device, a program file formed after the software package is successfully installed; if yes, skipping an installation step; and if not, installing the software on the terminal device, and remaining the registration information of the software unchanged. The solution of the present invention can improve the secure applicability of the software.

Description

一种软件的安全应用方法和装置A software security application method and device 技术领域technical field
本发明涉及计算机技术领域,尤其涉及软件的安全应用方法和装置。The invention relates to the field of computer technology, in particular to a method and device for safe application of software.
背景技术Background technique
在工控行业内,为了保证工厂的正常运行,有必要安装应用于该工控行业的相关操作软件。因此,如何保证软件的合法性以及防止软件被破解是软件提供商要面对的一大难题。In the industrial control industry, in order to ensure the normal operation of the factory, it is necessary to install relevant operating software applied to the industrial control industry. Therefore, how to ensure the legitimacy of the software and prevent the software from being cracked is a major problem that software providers have to face.
在相关技术中,软件防破解的方式采用软件方式,即在软件安装过程中输入注册码或序列码,通过检查输入的结果来确定该软件是否继续安装。然而,如果被某些用户获得到了与该软件相匹配的注册码或序列码,就能够无限制地进行复制和拷贝,软件提供商很难阻止用户获得这些注册码或序列码,因此这种方式不利于软件的安全应用。In related technologies, software is used as an anti-cracking method, that is, a registration code or serial code is input during software installation, and whether the software continues to be installed is determined by checking the input result. However, if some users obtain the registration code or serial code that matches the software, they can copy and copy without restriction. It is difficult for software providers to prevent users from obtaining these registration codes or serial codes. Therefore, this method It is not conducive to the safe application of software.
因此,针对以上不足,需要提供一种软件的安全应用方法和装置。Therefore, in view of the above deficiencies, it is necessary to provide a software security application method and device.
发明内容Contents of the invention
本发明要解决的技术问题在于不利于软件的安全应用,针对现有技术中的缺陷,提供一种软件的安全应用方法和装置。The technical problem to be solved by the present invention is that it is unfavorable for safe application of software. Aiming at the defects in the prior art, a method and device for safe application of software are provided.
为了解决上述技术问题,本发明提供了一种软件的安全应用方法,包括:In order to solve the above-mentioned technical problems, the present invention provides a method for secure application of software, comprising:
在运行软件的安装包中用于安装的可执行文件时,获取待安装软件的终端设备的唯一标识信息;When running the executable file used for installation in the installation package of the software, obtain the unique identification information of the terminal device of the software to be installed;
获取该软件的注册信息;Obtain the registration information of the software;
如果所述注册信息不包括所述唯一标识信息,则执行:根据所述注册信息确定该软件是否能安装在所述终端设备上;如果能,则在所 述终端设备上安装该软件,并将所述唯一标识信息添加到所述注册信息中;If the registration information does not include the unique identification information, perform: determine whether the software can be installed on the terminal device according to the registration information; if yes, install the software on the terminal device, and The unique identification information is added to the registration information;
如果所述注册信息包括所述唯一标识信息,则执行:确定所述终端设备中是否存在由该软件的软件包安装成功后形成的程序文件;如果是,则跳过安装步骤;如果否,则在所述终端设备上安装该软件,并使该软件的注册信息保持不变。If the registration information includes the unique identification information, then perform: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip the installation step; if not, then The software is installed on the terminal device, and the registration information of the software remains unchanged.
在一种可能的实现方式中,所述唯一标识信息包括所述终端设备的主机名称、硬盘序列号和MAC地址。In a possible implementation manner, the unique identification information includes a host name, a hard disk serial number, and a MAC address of the terminal device.
在一种可能的实现方式中,所述获取该软件的注册信息,包括:In a possible implementation manner, the acquiring the registration information of the software includes:
在该软件的版本为网络版时,执行:将所述唯一标识信息进行加密后发送给外部的授权中心;在所述授权中心对加密的所述唯一标识信息验证通过后,接收由所述授权中心发来的该软件的注册信息;When the version of the software is the online version, execute: encrypt the unique identification information and send it to an external authorization center; after the authorization center passes the verification of the encrypted unique identification information, receive the The registration information of the software sent by the center;
在该软件的版本为单机版时,执行:获取由外部的存储介质存储的经加密的该软件的注册信息;对加密的该软件的注册信息进行解密,得到该软件的注册信息。When the version of the software is a stand-alone version, execute: obtain the encrypted registration information of the software stored in an external storage medium; decrypt the encrypted registration information of the software to obtain the registration information of the software.
在一种可能的实现方式中,所述加密的该软件的注册信息包括利用预设的加密算法对该软件的注册信息进行加密产生的第一校验值;In a possible implementation manner, the encrypted registration information of the software includes a first check value generated by encrypting the registration information of the software with a preset encryption algorithm;
所述对加密的该软件的注册信息进行解密,得到该软件的注册信息,包括:Deciphering the encrypted registration information of the software to obtain the registration information of the software includes:
利用所述加密算法对加密的该软件的注册信息进行解密,并产生第二校验值;Decrypt the encrypted registration information of the software by using the encryption algorithm, and generate a second check value;
如果所述第一校验值和所述第二校验值相等,则得到该软件的注册信息。If the first check value is equal to the second check value, the registration information of the software is obtained.
在一种可能的实现方式中,所述注册信息包括剩余注册点数,该软件每安装到一台终端设备上消耗预设数量的剩余注册点数;In a possible implementation manner, the registration information includes remaining registration points, and each installation of the software on a terminal device consumes a preset number of remaining registration points;
所述根据所述注册信息确定该软件是否能安装在所述终端设备上,包括:The determining whether the software can be installed on the terminal device according to the registration information includes:
如果所述注册信息包括的剩余注册点数不小于所述预设数量,则确定该软件能安装在所述终端设备上,否则确定该软件不能安装在所述终端设备上。If the number of remaining registration points included in the registration information is not less than the preset number, it is determined that the software can be installed on the terminal device; otherwise, it is determined that the software cannot be installed on the terminal device.
在一种可能的实现方式中,在所述将所述唯一标识信息添加到所述注册信息中之后,进一步包括:In a possible implementation manner, after adding the unique identification information to the registration information, further include:
将所述注册信息包括的剩余注册点数减去所述预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数添加到所述注册信息中。The result of subtracting the preset number from the remaining registration points included in the registration information is used as a new remaining registration points, and the new remaining registration points are added to the registration information.
在一种可能的实现方式中,在所述在所述终端设备上安装该软件后,进一步包括:In a possible implementation, after the software is installed on the terminal device, it further includes:
在运行软件的安装包中用于卸载的可执行文件时,将所述注册信息包括的所述唯一标识信息删除,以及将所述注册信息包括的剩余注册点数增加所述预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数添加到所述注册信息中。When running the executable file used for uninstallation in the software installation package, the unique identification information included in the registration information is deleted, and the result of increasing the remaining registration points included in the registration information by the preset number as the new remaining registration points, and add the new remaining registration points to the registration information.
本发明还提供了一种软件的安全应用装置,包括:The present invention also provides a software security application device, including:
第一获取模块,用于在运行软件的安装包中用于安装的可执行文件时,获取待安装软件的终端设备的唯一标识信息;The first obtaining module is used to obtain the unique identification information of the terminal device of the software to be installed when running the executable file used for installation in the installation package of the software;
第二获取模块,用于获取该软件的注册信息;The second obtaining module is used to obtain the registration information of the software;
第一执行模块,用于如果所述注册信息不包括所述唯一标识信息,则执行:根据所述注册信息确定该软件是否能安装在所述终端设备上;如果能,则在所述终端设备上安装该软件,并将所述唯一标识信息添 加到所述注册信息中;A first execution module, configured to execute, if the registration information does not include the unique identification information: determine whether the software can be installed on the terminal device according to the registration information; if yes, execute on the terminal device Install the software on your computer and add the unique identification information to the registration information;
第二执行模块,用于如果所述注册信息包括所述唯一标识信息,则执行:确定所述终端设备中是否存在由该软件的软件包安装成功后形成的程序文件;如果是,则跳过安装步骤;如果否,则在所述终端设备上安装该软件,并使该软件的注册信息保持不变。The second execution module is used to execute if the registration information includes the unique identification information: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip An installation step; if not, installing the software on the terminal device, and keeping the registration information of the software unchanged.
本发明还提供了一种软件的安全应用装置,包括:至少一个存储器和至少一个处理器;The present invention also provides a software security application device, including: at least one memory and at least one processor;
所述至少一个存储器,用于存储机器可读程序;said at least one memory for storing machine-readable programs;
所述至少一个处理器,用于调用所述机器可读程序,执行如上述所述的方法。The at least one processor is configured to invoke the machine-readable program to execute the method as described above.
本发明还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行如上述所述的方法。The present invention also provides a computer-readable medium, where computer instructions are stored on the computer-readable medium, and when the computer instructions are executed by a processor, the processor executes the method as described above.
实施本发明的软件的安全应用方法和装置,具有以下有益效果:The safety application method and device implementing the software of the present invention have the following beneficial effects:
本发明所提供的技术方案,通过获取待安装软件的终端设备的唯一标识信息和软件的注册信息,如果该终端设备为首次安装,则注册信息不包括唯一标识信息,则需要根据注册信息确定该软件是否能安装在所述终端设备上,如此可以不需要用户输入与该软件相匹配的注册码或序列码,这提高了软件的安全应用性;如果该终端设备不是首次安装,则可以直接根据终端设备中是否存在由该软件的软件包安装成功后形成的程序文件来选择跳过安装还是重新安装,如此也不需要用户输入与该软件相匹配的注册码或序列码,这提高了软件的安全应用性。In the technical solution provided by the present invention, by obtaining the unique identification information of the terminal device to be installed and the registration information of the software, if the terminal device is installed for the first time, the registration information does not include the unique identification information, and the registration information needs to be determined according to the registration information. Whether the software can be installed on the terminal device, so that the user does not need to enter the registration code or serial code that matches the software, which improves the security applicability of the software; if the terminal device is not installed for the first time, it can be directly based on Whether there is a program file formed after the successful installation of the software package in the terminal device to choose to skip the installation or reinstall, so that the user does not need to enter the registration code or serial code that matches the software, which improves the software. Security applicability.
附图说明Description of drawings
图1是本发明一个实施例提供的软件的安全应用方法的流程图;Fig. 1 is the flow chart of the safe application method of software provided by one embodiment of the present invention;
图2是本发明另一个实施例提供的软件的安全应用方法的流程图;FIG. 2 is a flow chart of a software security application method provided by another embodiment of the present invention;
图3是本发明一个实施例提供的软件的安全应用装置的示意图;Fig. 3 is a schematic diagram of a software security application device provided by an embodiment of the present invention;
图4是本发明一个实施例提供的软件的安全应用装置的示意图。Fig. 4 is a schematic diagram of a software security application device provided by an embodiment of the present invention.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments It is a part of embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
图1示出根据一个实施例的软件的安全应用方法的流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。下面以该方法通过终端设备(例如电脑)来执行进行说明。Fig. 1 shows a flowchart of a method for securely applying software according to an embodiment. It can be understood that the method can be executed by any device, device, platform, or device cluster that has computing and processing capabilities. The method will be described below by using a terminal device (for example, a computer) to execute the method.
参见图1,该方法包括:Referring to Figure 1, the method includes:
步骤101:在运行软件的安装包中用于安装的可执行文件时,获取待安装软件的终端设备的唯一标识信息。Step 101: When running the executable file used for installation in the software installation package, obtain the unique identification information of the terminal device to install the software.
在步骤101中,通过获取待安装软件的终端设备的唯一标识信息,有利于在后续步骤中结合软件的注册信息来判断该终端设备是否为首次安装该软件。In step 101, by obtaining the unique identification information of the terminal device to install the software, it is beneficial to determine whether the terminal device is installing the software for the first time in combination with the registration information of the software in subsequent steps.
在一些实施方式中,唯一标识信息包括终端设备的主机名称、硬盘序列号和MAC地址。一般而言,终端设备的硬盘序列号具有唯一性,因此,唯一标识信息至少包括硬盘序列号。而为了进一步增加终端设备的唯一性,可以将终端设备的其它硬件参数(例如主机名称和MAC地址)也考虑进来。In some implementations, the unique identification information includes the host name, hard disk serial number and MAC address of the terminal device. Generally speaking, the serial number of the hard disk of the terminal device is unique, therefore, the unique identification information at least includes the serial number of the hard disk. In order to further increase the uniqueness of the terminal device, other hardware parameters of the terminal device (such as host name and MAC address) can also be taken into consideration.
步骤102:获取该软件的注册信息。Step 102: Obtain the registration information of the software.
通常,工业软件一般包括网络版和单机版两种版本形式,为了适应不同版本的软件,软件的注册信息的存储媒介不同。例如,网络版的软件的注册信息可以存储于授权中心,以利用授权中心对多个网络版的软件进行集中管控;再例如,单机版的软件的注册信息可以存储于存储介质(例如U盘和光盘)中。在此需要指出的是,现有技术中也存在利用加密狗U盘等硬件模块的防盗版方式,然而这种方式通常是一个加密狗U盘只能在一个终端设备中安装一个软件,假如更换终端设备安装,要么需要再购买一个新的加密狗U盘,要么需要将原终端设备中安装的软件卸载后,再在更换后的终端设备中进行软件安装。由此可见,这种防盗版的硬件方式不利于降低安装成本。Usually, industrial software generally includes two versions: network version and stand-alone version. In order to adapt to different versions of software, the storage media of software registration information are different. For example, the registration information of the software of the network version can be stored in the authorization center, so as to use the authorization center to centrally manage and control the software of multiple network versions; CD). What needs to be pointed out here is that in the prior art, there is also an anti-piracy method using hardware modules such as dongle U disks. However, this method usually means that one dongle U disk can only install one software in one terminal device. For terminal device installation, you either need to purchase a new dongle USB flash drive, or you need to uninstall the software installed in the original terminal device, and then install the software in the replaced terminal device. It can be seen that this anti-piracy hardware method is not conducive to reducing installation costs.
下面以网络版的软件的注册信息存储于授权中心,单机版的软件的注册信息存储于U盘中进行介绍。In the following, the registration information of the online version of the software is stored in the authorization center, and the registration information of the stand-alone version of the software is stored in the USB flash drive.
在一些实施方式中,步骤102可以包括如下两种具体情形。In some implementation manners, step 102 may include the following two specific situations.
情形一、在该软件的版本为网络版时,执行:将唯一标识信息进行加密后发送给外部的授权中心;在授权中心对加密的唯一标识信息验证通过后,接收由授权中心发来的该软件的注册信息。Situation 1. When the version of the software is the online version, execute: encrypt the unique identification information and send it to the external authorization center; after the authorization center passes the verification of the encrypted unique identification information, receive the Software registration information.
在情形一中,可以利用AES、base64等加密算法对唯一标识信息进行加密。如果授权中心能够用事先约定好的加密算法对加密的唯一标识信息进行解密,则可以证明该唯一标识信息是合法的。进一步地,为防止唯一标识信息被恶意篡改,终端设备可以根据某些加密算法对唯一标识信息进行加密后得到校验值,当授权中心对加密的唯一标识信息进行解密后,也会得到相对应的校验值,比较这两个校验值,如果相同则表明验证通过,同时授权中心将预先存储好的该软件的注册信息发送给该终端设备。由此可知,上述方案可以增加软件的注册信息在获取过程中的保密性。In case one, the unique identification information may be encrypted using encryption algorithms such as AES and base64. If the authorization center can decrypt the encrypted unique identification information with the pre-agreed encryption algorithm, it can prove that the unique identification information is legal. Furthermore, in order to prevent the unique identification information from being maliciously tampered with, the terminal device can encrypt the unique identification information according to certain encryption algorithms to obtain a verification value. When the authorization center decrypts the encrypted unique identification information, it will also obtain the corresponding check value, compare the two check values, if they are the same, it means that the verification is passed, and at the same time, the authorization center sends the pre-stored registration information of the software to the terminal device. It can be seen that the above solution can increase the confidentiality of the software registration information during the acquisition process.
情形二、在该软件的版本为单机版时,执行:获取由外部的存储介质存储的经加密的该软件的注册信息;对加密的该软件的注册信息进行解密,得到该软件的注册信息。Case 2: When the version of the software is a stand-alone version, execute: obtain the encrypted registration information of the software stored in an external storage medium; decrypt the encrypted registration information of the software to obtain the registration information of the software.
在情形二中,该软件的注册信息可以存储在U盘中,即软件提供商可以提供U盘和软件安装包捆绑销售的方式来增加软件的安全应用性。不过,本发明提供的这种方式相比现有技术中采用加密狗U盘的方式,可以降低成本以及可以防止因系统崩溃导致的软件无法回收的问题,分析过程可参见下文,在此不进行叙述。In the second case, the registration information of the software can be stored in a USB flash drive, that is, the software provider can provide a bundled sale of the USB flash drive and the software installation package to increase the security applicability of the software. However, this method provided by the present invention can reduce the cost and prevent the problem that the software cannot be recovered due to the system crash compared with the method of using the dongle USB disk in the prior art. The analysis process can be referred to below, and will not be carried out here narrative.
通过对U盘中存储的软件的注册信息进行加密,有利于增加软件的注册信息在获取过程中的保密性。在一些实施方式中,对注册信息进行加密的算法包括但不限于AES、base64等加密算法。By encrypting the registration information of the software stored in the U disk, it is beneficial to increase the confidentiality of the registration information of the software during the acquisition process. In some implementations, algorithms for encrypting registration information include but are not limited to encryption algorithms such as AES and base64.
需要说明的是,情形二中所使用的U盘可以为普通U盘,相比加密狗U盘可以降低成本。首先,需要对普通U盘进行重新分区,例如可以通过终端设备的相关API接口(如DeviceIoControl接口),然后通过传入例如IOCTL_DISK_GET_DRIVE_GEOMETRY、IOCTL_SCSI_PASS_THROUGH等API参数,来获取U盘的大小、扇区、磁道等信息,清空U盘分区表,对U盘重新分区。然后,将新的设置分区写入到U盘中,以形成加密区和普通区,普通区可正常使用(和普通U盘的功能相同),而加密区用于存储软件的注册信息。It should be noted that the U disk used in the second scenario can be a common U disk, which can reduce the cost compared with the dongle U disk. First of all, it is necessary to repartition the ordinary U disk, for example, through the relevant API interface of the terminal device (such as the DeviceIoControl interface), and then pass in API parameters such as IOCTL_DISK_GET_DRIVE_GEOMETRY, IOCTL_SCSI_PASS_THROUGH, etc., to obtain the size, sector, track, etc. of the U disk information, clear the U disk partition table, and repartition the U disk. Then, write the new setting partition into the U disk to form an encryption area and a common area. The common area can be used normally (the function is the same as that of an ordinary U disk), and the encryption area is used to store the registration information of the software.
在一些实施方式中,为了确保软件的注册信息不会被非法篡改,可以考虑对注册信息在加密过程中产生的校验值进行比较,以保证数据的完整性。In some implementations, in order to ensure that the registration information of the software will not be illegally tampered with, it may be considered to compare the check value generated during the encryption process of the registration information to ensure the integrity of the data.
具体地,加密的该软件的注册信息包括利用预设的加密算法对该软件的注册信息进行加密产生的第一校验值;Specifically, the encrypted registration information of the software includes a first check value generated by encrypting the registration information of the software using a preset encryption algorithm;
情形二中的对加密的该软件的注册信息进行解密,得到该软件的注册信息,包括:In case 2, the encrypted registration information of the software is decrypted to obtain the registration information of the software, including:
利用加密算法对加密的该软件的注册信息进行解密,并产生第二校验值;decrypting the encrypted registration information of the software by using an encryption algorithm, and generating a second check value;
如果第一校验值和第二校验值相等,则得到该软件的注册信息。If the first check value and the second check value are equal, the registration information of the software is obtained.
步骤103:如果注册信息不包括唯一标识信息,则执行:根据注册信息确定该软件是否能安装在终端设备上;如果能,则在终端设备上安装该软件,并将唯一标识信息添加到注册信息中。Step 103: If the registration information does not include the unique identification information, then execute: determine whether the software can be installed on the terminal device according to the registration information; if yes, install the software on the terminal device, and add the unique identification information to the registration information middle.
在终端设备上安装软件时,需要验证该软件是否为首次安装到该终端设备上,以提高终端设备的安装效率。在本发明实施例中,是通过判断该软件的注册信息中是否包括该终端设备的唯一标识信息的方式来判断该软件是否为首次安装到该终端设备上。具体而言,如果注册信息不包括唯一标识信息,则证明该软件为首次安装到该终端设备上;如果注册信息包括唯一标识信息,则证明该软件不是首次安装到该终端设备上。也就是说,在终端设备上安装该软件,并将唯一标识信息添加到注册信息中,有利于验证该软件是否为首次安装到该终端设备上,以提高终端设备的安装效率。When installing software on a terminal device, it is necessary to verify whether the software is installed on the terminal device for the first time, so as to improve the installation efficiency of the terminal device. In the embodiment of the present invention, it is judged whether the software is installed on the terminal device for the first time by judging whether the registration information of the software includes the unique identification information of the terminal device. Specifically, if the registration information does not include unique identification information, it proves that the software is installed on the terminal device for the first time; if the registration information includes unique identification information, it proves that the software is not installed on the terminal device for the first time. That is to say, installing the software on the terminal device and adding the unique identification information to the registration information is beneficial to verify whether the software is installed on the terminal device for the first time, so as to improve the installation efficiency of the terminal device.
在一些实施方式中,注册信息包括剩余注册点数,该软件每安装到一台终端设备上消耗预设数量的剩余注册点数,步骤103中的根据所述注册信息确定该软件是否能安装在所述终端设备上,具体可以包括如下步骤:In some implementations, the registration information includes remaining registration points, and the software will consume a preset number of remaining registration points each time it is installed on a terminal device. In step 103, it is determined whether the software can be installed on the terminal device according to the registration information. On the terminal device, it may specifically include the following steps:
如果注册信息包括的剩余注册点数不小于预设数量,则确定该软件能安装在终端设备上,否则确定该软件不能安装在终端设备上。If the number of remaining registration points included in the registration information is not less than the preset number, it is determined that the software can be installed on the terminal device; otherwise, it is determined that the software cannot be installed on the terminal device.
在本实施例中,通过借助注册信息中包括的剩余注册点数来间接判断该软件是否能安装在终端设备上。例如,A软件对应的U盘中的注册信息包括的剩余注册点数(即可用注册点数)为10点,而安装A软件需要使用(或消耗)的注册点数为5点,因此该U盘还可以进行两次安装到不同的终端设备上;假如A软件中剩余注册点数为0点, 则不能再继续安装到不同的终端设备上。由此可知,该U盘通过设置注册点数的方式,可以使得一个U盘不局限于安装一个终端设备,U盘中包括的剩余注册点数越多,则代表该U盘可以将软件安装到不同的终端设备的数量越多,从而可以降低软件安装的成本(主要是硬件成本)。在一些实施例中,预设数量可以为1。也就是说,通过利用普通U盘安装软件,相对于利用软件方式安装更加安全、方便和灵活,相比于利用硬件方式(例如加密狗U盘)的安装成本更加低廉。In this embodiment, whether the software can be installed on the terminal device is judged indirectly by using the remaining registration points included in the registration information. For example, the registration information in the U disk corresponding to software A includes 10 remaining registration points (i.e. available registration points), and 5 registration points are needed (or consumed) to install software A, so the U disk can still Perform two installations on different terminal devices; if the remaining registration points in software A are 0 points, you cannot continue to install on different terminal devices. It can be seen that the U disk can not be limited to install one terminal device by setting the number of registration points. The more remaining registration points included in the U disk, it means that the U disk can install software to different devices. The greater the number of terminal devices, the lower the cost of software installation (mainly hardware cost). In some embodiments, the preset number may be 1. That is to say, installing software by using an ordinary U disk is safer, more convenient and flexible than using software, and the installation cost is lower than using hardware (such as dongle U disk).
进一步地,在步骤将唯一标识信息添加到注册信息中之后,进一步包括:Further, after the step of adding the unique identification information to the registration information, it further includes:
将注册信息包括的剩余注册点数减去预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数添加到注册信息中。The result of subtracting the preset quantity from the remaining registration points included in the registration information is used as the new remaining registration points, and the new remaining registration points are added to the registration information.
举例来说,接前述举例,当A软件中剩余注册点数为10点时,安装A软件需要使用(或消耗)的注册点数为5点,在安装完一个终端设备(且该终端设备为首次安装该软件),A软件中剩余注册点数为5点,然后对注册信息进行更新,即将新的剩余注册点数(即5点)添加到注册信息中。For example, following the previous example, when the remaining registration points in software A are 10 points, 5 registration points need to be used (or consumed) to install software A. After installing a terminal device (and this terminal device is the first installation) The software), the remaining registration points in software A are 5 points, and then the registration information is updated, that is, the new remaining registration points (that is, 5 points) are added to the registration information.
在本实施例中,通过随着安装不同终端设备的进行,要相对应的对该软件的注册信息包括的剩余注册点数进行同步更新,以保证数据的完整性。In this embodiment, as the installation of different terminal devices proceeds, the remaining registration points included in the registration information of the software are correspondingly updated synchronously, so as to ensure the integrity of the data.
步骤104:如果注册信息包括唯一标识信息,则执行:确定终端设备中是否存在由该软件的软件包安装成功后形成的程序文件;如果是,则跳过安装步骤;如果否,则在终端设备上安装该软件,并使该软件的注册信息保持不变。Step 104: If the registration information includes unique identification information, then execute: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip the installation step; Install the software on your computer and leave the registration information for the software unchanged.
在终端设备上安装软件时,如果确定该终端设备上已经安装过该软件,则不需要再消耗注册信息的注册点数。其中,“安装过”包括该终端设备已经存在该软件,或未存在该软件(例如因系统刷机造成该 软件丢失)且该软件的注册点数并未被回收的两种情形。When installing software on a terminal device, if it is determined that the software has already been installed on the terminal device, the registration points of the registration information do not need to be consumed. Among them, "installed" includes two situations where the software already exists in the terminal device, or does not exist (for example, the software is lost due to system flashing) and the registration points of the software have not been recovered.
在该终端设备已经存在该软件的情形中,即终端设备中存在由该软件的软件包安装成功后形成的程序文件,此时为保证终端设备的安装效率可以直接跳过安装步骤。In the case that the software already exists in the terminal device, that is, there is a program file formed after the successful installation of the software package in the terminal device, at this time, the installation step can be directly skipped to ensure the installation efficiency of the terminal device.
在该终端设备存在该软件(例如因系统刷机造成该软件丢失)且该软件的注册点数并未被回收的情形中,可以防止因系统崩溃而导致软件的使用权限无法回收的问题,即在该情形中可以不用消耗注册点数而实现在安装过该软件的终端设备上继续安装该软件。In the case where the software exists on the terminal device (for example, the software is lost due to system flashing) and the registration points of the software have not been recovered, it can prevent the problem that the software usage rights cannot be recovered due to system crashes, that is, in the In this case, the software can be continuously installed on the terminal device that has installed the software without consuming registration points.
可见,在上述图1所示过程中,通过获取待安装软件的终端设备的唯一标识信息和软件的注册信息,如果该终端设备为首次安装,则注册信息不包括唯一标识信息,则需要根据注册信息确定该软件是否能安装在所述终端设备上,如此可以不需要用户输入与该软件相匹配的注册码或序列码,这提高了软件的安全应用性;如果该终端设备不是首次安装,则可以直接根据终端设备中是否存在由该软件的软件包安装成功后形成的程序文件来选择跳过安装还是重新安装,如此也不需要用户输入与该软件相匹配的注册码或序列码,这提高了软件的安全应用性。It can be seen that in the process shown in Figure 1 above, by obtaining the unique identification information of the terminal device to be installed and the registration information of the software, if the terminal device is installed for the first time, the registration information does not include the unique identification information, and it needs to be registered according to the registration information. Information to determine whether the software can be installed on the terminal device, so that the user does not need to input a registration code or serial code that matches the software, which improves the security applicability of the software; if the terminal device is not installed for the first time, then You can choose to skip the installation or reinstall directly according to whether there is a program file formed after the successful installation of the software package in the terminal device, so that the user does not need to input the registration code or serial code that matches the software, which improves The security applicability of the software.
可以理解的是,软件的安全应用不仅仅体现在软件的安装或注册的过程,还可以体现在软件的卸载或回收的过程。其中,软件的卸载过程请参见下文。It can be understood that the safe application of software is not only reflected in the process of installing or registering the software, but also in the process of uninstalling or recycling the software. Among them, please refer to the following for the uninstallation process of the software.
在一些实施例中,在步骤103和步骤104之后,上述方法还包括如下步骤:In some embodiments, after step 103 and step 104, the above method further includes the following steps:
在运行软件的安装包中用于卸载的可执行文件时,将注册信息包括的唯一标识信息删除,以及将注册信息包括的剩余注册点数增加预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数添加到注册信息中。When running the executable file used for uninstallation in the software installation package, delete the unique identification information included in the registration information, and increase the number of remaining registration points included in the registration information by a preset number as the new remaining registration points, and Add the new remaining registration points to the registration information.
在本实施例中,在卸载软件时可回收注册点数,回收的注册点数可以用于安装到其它不同的终端设备上,这样在该U盘中的总注册点数不变的情况下,用户或实施人员可自由使用,即可以理解为用户购买了一个能够安装到一定数量的终端设备的U盘后,可以自始至终实现满足该数量的终端设备的安装数量的限度,不会发生改变。In this embodiment, the registration points can be reclaimed when the software is uninstalled, and the reclaimed registration points can be used to install on other different terminal devices. It can be used freely by personnel, that is, it can be understood that after the user purchases a USB flash drive that can be installed to a certain number of terminal devices, the limit of the number of terminal devices that can be installed to meet the number of terminal devices can be realized from beginning to end, and will not change.
综上,上述技术方案无需增加其它的安全设备,可根据需要安装单机版或网络版,即使安装过程被破解后跳过,安装后的程序缺少U盘内的注册信息,也无法正常运行,因此可以进一步加强软件的安全应用性。To sum up, the above technical solution does not need to add other security devices, and the stand-alone version or the network version can be installed according to the needs. Even if the installation process is skipped after being cracked, the installed program lacks the registration information in the U disk and cannot run normally. Therefore, The safety applicability of the software can be further enhanced.
此外,在卸载软件时可回收注册点数,以用于其它终端设备的安装;而且在该终端设备存在该软件(例如因系统刷机造成该软件丢失)且该软件的注册点数并未被回收的情形中,可以防止因系统崩溃而导致软件的使用权限无法回收的问题,增加了用户对产品的使用满意度。In addition, when the software is uninstalled, the registration points can be recovered for the installation of other terminal devices; and the software exists on the terminal device (for example, the software is lost due to system flashing) and the registration points of the software have not been recovered. Among them, it can prevent the problem that the software usage authority cannot be recovered due to the system crash, and increase the user's satisfaction with the product.
图2示出根据另一个实施例的软件的安全应用方法的流程图。参见图2,该方法包括:Fig. 2 shows a flow chart of a method for securely applying software according to another embodiment. Referring to Figure 2, the method includes:
步骤201:在运行软件的安装包中用于安装的可执行文件时,获取待安装软件的终端设备的唯一标识信息。Step 201: When running the executable file used for installation in the software installation package, obtain the unique identification information of the terminal device on which the software is to be installed.
步骤202:获取该软件的注册信息。Step 202: Obtain the registration information of the software.
步骤203:如果注册信息不包括唯一标识信息,则执行:如果注册信息包括的剩余注册点数不小于预设数量,则在终端设备上安装该软件,将注册信息包括的剩余注册点数减去预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数和唯一标识信息添加到注册信息中。Step 203: If the registration information does not include unique identification information, execute: if the remaining registration points included in the registration information are not less than the preset number, install the software on the terminal device, and subtract the preset number of remaining registration points from the registration information. The result after the number is used as the new remaining registration points, and the new remaining registration points and unique identification information are added to the registration information.
步骤204:如果注册信息包括唯一标识信息,则执行:确定终端设 备中是否存在由该软件的软件包安装成功后形成的程序文件;如果是,则跳过安装步骤;如果否,则在终端设备上安装该软件,并使该软件的注册信息保持不变。Step 204: If the registration information includes unique identification information, then execute: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip the installation step; Install the software on your computer and leave the registration information for the software unchanged.
步骤205:在运行软件的安装包中用于卸载的可执行文件时,将注册信息包括的唯一标识信息删除,以及将注册信息包括的剩余注册点数增加预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数添加到注册信息中。Step 205: When running the executable file used for uninstallation in the software installation package, delete the unique identification information included in the registration information, and increase the number of remaining registration points included in the registration information by a preset number as a new remaining registration points and add the new remaining registration points to the registration information.
如图3和图4所示,本发明实施例提供了一种软件的安全应用装置和软件的安全应用装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的软件的安全应用装置的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其它硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。As shown in FIG. 3 and FIG. 4 , an embodiment of the present invention provides a software security application device and a software security application device. The device embodiments can be implemented by software, or by hardware or a combination of software and hardware. From the perspective of hardware, as shown in Figure 3, it is a hardware structural diagram of a software security application device provided by the embodiment of the present invention, except for the processor, memory, network interface, and non-volatile memory shown in Figure 3 In addition to the memory, the device where the device in the embodiment is located may generally include other hardware, such as a forwarding chip responsible for processing packets, and the like. Taking software implementation as an example, as shown in Figure 4, as a device in a logical sense, it is formed by reading the corresponding computer program instructions in the non-volatile memory into the memory for operation by the CPU of the device where it is located.
如图4所示,本实施例提供的软件的安全应用装置,包括:As shown in Figure 4, the security application device of the software provided in this embodiment includes:
第一获取模块401,用于在运行软件的安装包中用于安装的可执行文件时,获取待安装软件的终端设备的唯一标识信息;The first obtaining module 401 is used to obtain the unique identification information of the terminal device to be installed software when running the executable file used for installation in the installation package of the software;
第二获取模块402,用于获取该软件的注册信息;The second obtaining module 402 is used to obtain the registration information of the software;
第一执行模块403,用于如果所述注册信息不包括所述唯一标识信息,则执行:根据所述注册信息确定该软件是否能安装在所述终端设备上;如果能,则在所述终端设备上安装该软件,并将所述唯一标识信息添加到所述注册信息中;The first execution module 403 is configured to execute if the registration information does not include the unique identification information: determine whether the software can be installed on the terminal device according to the registration information; Install the software on the device, and add the unique identification information to the registration information;
第二执行模块404,用于如果所述注册信息包括所述唯一标识信息,则执行:确定所述终端设备中是否存在由该软件的软件包安装成功后形成的程序文件;如果是,则跳过安装步骤;如果否,则在所述终端设备上安装该软件,并使该软件的注册信息保持不变。The second execution module 404 is configured to execute if the registration information includes the unique identification information: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip If not, then install the software on the terminal device, and keep the registration information of the software unchanged.
在本发明实施例中,第一获取模块401可用于执行上述方法实施例中的步骤101,第二获取模块402可用于执行上述方法实施例中的步骤102,第三获取模块403可用于执行上述方法实施例中的步骤103,第四获取模块404可用于执行上述方法实施例中的步骤104。In the embodiment of the present invention, the first acquisition module 401 can be used to execute step 101 in the above method embodiment, the second acquisition module 402 can be used to execute step 102 in the above method embodiment, and the third acquisition module 403 can be used to execute the above method In step 103 in the method embodiment, the fourth acquiring module 404 may be configured to execute step 104 in the above method embodiment.
在本发明的一个实施例中,所述唯一标识信息包括所述终端设备的主机名称、硬盘序列号和MAC地址。In an embodiment of the present invention, the unique identification information includes the host name, hard disk serial number and MAC address of the terminal device.
在本发明的一个实施例中,所述第二获取模块402,用于执行如下操作:In one embodiment of the present invention, the second acquiring module 402 is configured to perform the following operations:
在该软件的版本为网络版时,执行:将所述唯一标识信息进行加密后发送给外部的授权中心;在所述授权中心对加密的所述唯一标识信息验证通过后,接收由所述授权中心发来的该软件的注册信息;When the version of the software is the online version, execute: encrypt the unique identification information and send it to an external authorization center; after the authorization center passes the verification of the encrypted unique identification information, receive the The registration information of the software sent by the center;
在该软件的版本为单机版时,执行:获取由外部的存储介质存储的经加密的该软件的注册信息;对加密的该软件的注册信息进行解密,得到该软件的注册信息。When the version of the software is a stand-alone version, execute: obtain the encrypted registration information of the software stored in an external storage medium; decrypt the encrypted registration information of the software to obtain the registration information of the software.
在本发明的一个实施例中,所述加密的该软件的注册信息包括利用预设的加密算法对该软件的注册信息进行加密产生的第一校验值;In one embodiment of the present invention, the encrypted registration information of the software includes a first check value generated by encrypting the registration information of the software with a preset encryption algorithm;
所述第二获取模块402在执行所述对加密的该软件的注册信息进行解密,得到该软件的注册信息时,用于执行如下操作:The second acquiring module 402 is configured to perform the following operations when performing the decryption of the encrypted registration information of the software to obtain the registration information of the software:
利用所述加密算法对加密的该软件的注册信息进行解密,并产生第二校验值;Decrypt the encrypted registration information of the software by using the encryption algorithm, and generate a second check value;
如果第一校验值和所述第二校验值相等,则得到该软件的注册信 息。If the first check value is equal to the second check value, then the registration information of the software is obtained.
在本发明的一个实施例中,所述注册信息包括剩余注册点数,该软件每安装到一台终端设备上消耗预设数量的剩余注册点数;In one embodiment of the present invention, the registration information includes remaining registration points, and each installation of the software on a terminal device consumes a preset number of remaining registration points;
所述第一执行模块403在执行所述据所述注册信息确定该软件是否能安装在所述终端设备上时,用于执行如下操作:The first executing module 403 is configured to perform the following operations when performing the determining whether the software can be installed on the terminal device according to the registration information:
如果所述注册信息包括的剩余注册点数不小于所述预设数量,则确定该软件能安装在所述终端设备上,否则确定该软件不能安装在所述终端设备上。If the number of remaining registration points included in the registration information is not less than the preset number, it is determined that the software can be installed on the terminal device; otherwise, it is determined that the software cannot be installed on the terminal device.
在本发明的一个实施例中,所述第一执行模块403,进一步用于将所述注册信息包括的剩余注册点数减去所述预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数添加到所述注册信息中。In an embodiment of the present invention, the first execution module 403 is further configured to use the result of subtracting the preset number from the remaining registration points included in the registration information as the new remaining registration points, and take the new The remaining registration points of , are added to the registration information.
在本发明的一个实施例中,进一步包括:卸载模块;In one embodiment of the present invention, further comprising: an uninstall module;
所述卸载模块,用于在运行软件的安装包中用于卸载的可执行文件时,将所述注册信息包括的所述唯一标识信息删除,以及将所述注册信息包括的剩余注册点数增加所述预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数添加到所述注册信息中。The uninstallation module is configured to delete the unique identification information included in the registration information when running the executable file used for uninstallation in the installation package of the software, and increase the number of remaining registration points included in the registration information by The result after the preset number is used as the new remaining registration points, and the new remaining registration points are added to the registration information.
可以理解的是,本发明实施例示意的结构并不构成对软件的安全应用装置的具体限定。在本发明的另一些实施例中,软件的安全应用装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。It can be understood that the structure shown in the embodiment of the present invention does not constitute a specific limitation on the security application device of the software. In other embodiments of the present invention, the software security application device may include more or fewer components than shown in the illustration, or combine some components, or separate some components, or arrange different components. The illustrated components may be realized in hardware, software, or a combination of software and hardware.
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。The information interaction and execution process among the modules in the above-mentioned device are based on the same concept as the method embodiment of the present invention, and the specific content can refer to the description in the method embodiment of the present invention, and will not be repeated here.
本发明实施例还提供了一种软件的安全应用装置,包括:至少一个存储器和至少一个处理器;The embodiment of the present invention also provides a software security application device, including: at least one memory and at least one processor;
至少一个存储器,用于存储机器可读程序;at least one memory for storing machine-readable programs;
至少一个处理器,用于调用机器可读程序,执行本发明任一实施例中的软件的安全应用方法。At least one processor is used for invoking a machine-readable program to execute the security application method of the software in any embodiment of the present invention.
本发明实施例还提供了一种计算机可读介质,存储用于使一计算机执行如本文的软件的安全应用方法的指令。具体地,可以提供配有存储介质的方法或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该方法或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。An embodiment of the present invention also provides a computer-readable medium storing instructions for enabling a computer to execute the software security application method as described herein. Specifically, a method or device equipped with a storage medium may be provided, on which the software program code for realizing the functions of any one of the above embodiments is stored, and the computer (or CPU or MPU) of the method or device ) to read and execute the program code stored in the storage medium.
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。In this case, the program code itself read from the storage medium can realize the function of any one of the above-mentioned embodiments, so the program code and the storage medium storing the program code constitute a part of the present invention.
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。Examples of storage media for providing program code include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), Tape, non-volatile memory card, and ROM. Alternatively, the program code can be downloaded from a server computer via a communication network.
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作方法等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。In addition, it should be clear that part or all of the actual operations can be completed not only by executing the program codes read by the computer, but also by operating the computer based on the instructions of the program codes, so as to realize the above-mentioned embodiments. function of any one of the embodiments.
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实 施例中任一实施例的功能。In addition, it can be understood that the program code read from the storage medium is written into the memory provided in the expansion board inserted into the computer or written into the memory provided in the expansion unit connected to the computer, and then based on the program code The instruction causes the CPU installed on the expansion board or the expansion unit to perform some or all of the actual operations, so as to realize the functions of any one of the above-mentioned embodiments.
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修复,或者对其中部分技术特征进行等同替换;而这些修复或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still be The technical solutions recorded in the foregoing embodiments are repaired, or some of the technical features are equivalently replaced; and these repairs or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the present invention.

Claims (10)

  1. 一种软件的安全应用方法,其特征在于,包括:A software security application method, characterized in that it comprises:
    在运行软件的安装包中用于安装的可执行文件时,获取待安装软件的终端设备的唯一标识信息;When running the executable file used for installation in the installation package of the software, obtain the unique identification information of the terminal device of the software to be installed;
    获取该软件的注册信息;Obtain the registration information of the software;
    如果所述注册信息不包括所述唯一标识信息,则执行:根据所述注册信息确定该软件是否能安装在所述终端设备上;如果能,则在所述终端设备上安装该软件,并将所述唯一标识信息添加到所述注册信息中;If the registration information does not include the unique identification information, perform: determine whether the software can be installed on the terminal device according to the registration information; if yes, install the software on the terminal device, and The unique identification information is added to the registration information;
    如果所述注册信息包括所述唯一标识信息,则执行:确定所述终端设备中是否存在由该软件的软件包安装成功后形成的程序文件;如果是,则跳过安装步骤;如果否,则在所述终端设备上安装该软件,并使该软件的注册信息保持不变。If the registration information includes the unique identification information, then perform: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip the installation step; if not, then The software is installed on the terminal device, and the registration information of the software remains unchanged.
  2. 根据权利要求1所述的方法,其特征在于,所述唯一标识信息包括所述终端设备的主机名称、硬盘序列号和MAC地址。The method according to claim 1, wherein the unique identification information includes a host name, a hard disk serial number and a MAC address of the terminal device.
  3. 根据权利要求1所述的方法,其特征在于,所述获取该软件的注册信息,包括:The method according to claim 1, wherein said obtaining the registration information of the software comprises:
    在该软件的版本为网络版时,执行:将所述唯一标识信息进行加密后发送给外部的授权中心;在所述授权中心对加密的所述唯一标识信息验证通过后,接收由所述授权中心发来的该软件的注册信息;When the version of the software is the online version, execute: encrypt the unique identification information and send it to an external authorization center; after the authorization center passes the verification of the encrypted unique identification information, receive the The registration information of the software sent by the center;
    在该软件的版本为单机版时,执行:获取由外部的存储介质存储的经加密的该软件的注册信息;对加密的该软件的注册信息进行解密,得到该软件的注册信息。When the version of the software is a stand-alone version, execute: obtain the encrypted registration information of the software stored in an external storage medium; decrypt the encrypted registration information of the software to obtain the registration information of the software.
  4. 根据权利要求3所述的方法,其特征在于,所述加密的该软件 的注册信息包括利用预设的加密算法对该软件的注册信息进行加密产生的第一校验值;The method according to claim 3, wherein the encrypted registration information of the software includes a first check value generated by encrypting the registration information of the software using a preset encryption algorithm;
    所述对加密的该软件的注册信息进行解密,得到该软件的注册信息,包括:Deciphering the encrypted registration information of the software to obtain the registration information of the software includes:
    利用所述加密算法对加密的该软件的注册信息进行解密,并产生第二校验值;Decrypt the encrypted registration information of the software by using the encryption algorithm, and generate a second check value;
    如果所述第一校验值和所述第二校验值相等,则得到该软件的注册信息。If the first check value is equal to the second check value, the registration information of the software is obtained.
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,所述注册信息包括剩余注册点数,该软件每安装到一台终端设备上消耗预设数量的剩余注册点数;The method according to any one of claims 1-4, wherein the registration information includes remaining registration points, and the software consumes a preset number of remaining registration points every time it is installed on a terminal device;
    所述根据所述注册信息确定该软件是否能安装在所述终端设备上,包括:The determining whether the software can be installed on the terminal device according to the registration information includes:
    如果所述注册信息包括的剩余注册点数不小于所述预设数量,则确定该软件能安装在所述终端设备上,否则确定该软件不能安装在所述终端设备上。If the number of remaining registration points included in the registration information is not less than the preset number, it is determined that the software can be installed on the terminal device; otherwise, it is determined that the software cannot be installed on the terminal device.
  6. 根据权利要求5所述的方法,其特征在于,在所述将所述唯一标识信息添加到所述注册信息中之后,进一步包括:The method according to claim 5, characterized in that after adding the unique identification information to the registration information, further comprising:
    将所述注册信息包括的剩余注册点数减去所述预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数添加到所述注册信息中。The result of subtracting the preset number from the remaining registration points included in the registration information is used as a new remaining registration points, and the new remaining registration points are added to the registration information.
  7. 根据权利要求5所述的方法,其特征在于,在所述在所述终端设备上安装该软件之后,进一步包括:The method according to claim 5, characterized in that, after the software is installed on the terminal device, further comprising:
    在运行软件的安装包中用于卸载的可执行文件时,将所述注册信 息包括的所述唯一标识信息删除,以及将所述注册信息包括的剩余注册点数增加所述预设数量后的结果作为新的剩余注册点数,并将新的剩余注册点数添加到所述注册信息中。When running the executable file used for uninstallation in the software installation package, the unique identification information included in the registration information is deleted, and the result of increasing the remaining registration points included in the registration information by the preset number as the new remaining registration points, and add the new remaining registration points to the registration information.
  8. 一种软件的安全应用装置,其特征在于,包括:A software security application device, characterized in that it includes:
    第一获取模块,用于在运行软件的安装包中用于安装的可执行文件时,获取待安装软件的终端设备的唯一标识信息;The first obtaining module is used to obtain the unique identification information of the terminal device of the software to be installed when running the executable file used for installation in the installation package of the software;
    第二获取模块,用于获取该软件的注册信息;The second obtaining module is used to obtain the registration information of the software;
    第一执行模块,用于如果所述注册信息不包括所述唯一标识信息,则执行:根据所述注册信息确定该软件是否能安装在所述终端设备上;如果能,则在所述终端设备上安装该软件,并将所述唯一标识信息添加到所述注册信息中;A first execution module, configured to execute, if the registration information does not include the unique identification information: determine whether the software can be installed on the terminal device according to the registration information; if yes, execute on the terminal device Install the software on your computer and add the unique identification information to the registration information;
    第二执行模块,用于如果所述注册信息包括所述唯一标识信息,则执行:确定所述终端设备中是否存在由该软件的软件包安装成功后形成的程序文件;如果是,则跳过安装步骤;如果否,则在所述终端设备上安装该软件,并使该软件的注册信息保持不变。The second execution module is used to execute if the registration information includes the unique identification information: determine whether there is a program file formed after the successful installation of the software package in the terminal device; if yes, skip An installation step; if not, installing the software on the terminal device, and keeping the registration information of the software unchanged.
  9. 一种软件的安全应用装置,其特征在于,包括:至少一个存储器和至少一个处理器;A software safety application device, characterized in that it includes: at least one memory and at least one processor;
    所述至少一个存储器,用于存储机器可读程序;said at least one memory for storing machine-readable programs;
    所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1-7中任一项所述的方法。The at least one processor is configured to call the machine-readable program to execute the method according to any one of claims 1-7.
  10. 一种计算机可读介质,其特征在于,所述计算机可读介质上 存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1-7中任一项所述的方法。A computer-readable medium, characterized in that computer instructions are stored on the computer-readable medium, and when the computer instructions are executed by a processor, the processor performs the process described in any one of claims 1-7. described method.
PCT/CN2021/126866 2021-05-21 2021-10-28 Software secure application method and apparatus WO2022242035A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110554503.3 2021-05-21
CN202110554503.3A CN113032773B (en) 2021-05-21 2021-05-21 Software security application method and device

Publications (1)

Publication Number Publication Date
WO2022242035A1 true WO2022242035A1 (en) 2022-11-24

Family

ID=76455442

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/126866 WO2022242035A1 (en) 2021-05-21 2021-10-28 Software secure application method and apparatus

Country Status (2)

Country Link
CN (1) CN113032773B (en)
WO (1) WO2022242035A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113032773B (en) * 2021-05-21 2021-08-17 长扬科技(北京)有限公司 Software security application method and device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136467A (en) * 2011-11-30 2013-06-05 英顺源(上海)科技有限公司 System and method for controlling software authorization during software updating
US20140366149A1 (en) * 2013-06-11 2014-12-11 Marek Pesl System and method for using digital strings to provide secure distribution of digital content
CN104683299A (en) * 2013-11-28 2015-06-03 中兴通讯股份有限公司 Control method for software registration, authentication server and terminal
CN106997430A (en) * 2017-04-19 2017-08-01 杭州亚古科技有限公司 The method and apparatus for preventing linux service equipments to be replicated
CN109086578A (en) * 2017-06-14 2018-12-25 中兴通讯股份有限公司 A kind of method that soft ware authorization uses, equipment and storage medium
CN111159656A (en) * 2019-11-18 2020-05-15 核芯互联科技(青岛)有限公司 Method, device, equipment and storage medium for preventing software from being used without authorization
CN112149066A (en) * 2020-09-23 2020-12-29 深兰人工智能芯片研究院(江苏)有限公司 Activation verification method and device for software
CN113032773A (en) * 2021-05-21 2021-06-25 长扬科技(北京)有限公司 Software security application method and device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003900070A0 (en) * 2003-01-07 2003-01-23 Securewrap Pty Ltd Method of and architecture for monitoring digital information
WO2006110991A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Method and system for controlling software version updates
CN103391539B (en) * 2012-05-11 2016-06-22 中国移动通信集团上海有限公司 The account-opening method of internet protocol multi-media sub-system IMS, Apparatus and system
CN109241702A (en) * 2018-09-03 2019-01-18 福建联迪商用设备有限公司 A kind of software use authorization method and client
CN109858202A (en) * 2018-12-27 2019-06-07 江苏博智软件科技股份有限公司 A kind of safe and secret offline software registration authorization method
CN111159659B (en) * 2019-12-30 2022-08-05 厦门厦华科技有限公司 Multi-system software registration method and terminal equipment
CN112685699B (en) * 2020-12-31 2022-12-23 南方电网科学研究院有限责任公司 Software registration method and device and software registration code generation method and device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136467A (en) * 2011-11-30 2013-06-05 英顺源(上海)科技有限公司 System and method for controlling software authorization during software updating
US20140366149A1 (en) * 2013-06-11 2014-12-11 Marek Pesl System and method for using digital strings to provide secure distribution of digital content
CN104683299A (en) * 2013-11-28 2015-06-03 中兴通讯股份有限公司 Control method for software registration, authentication server and terminal
CN106997430A (en) * 2017-04-19 2017-08-01 杭州亚古科技有限公司 The method and apparatus for preventing linux service equipments to be replicated
CN109086578A (en) * 2017-06-14 2018-12-25 中兴通讯股份有限公司 A kind of method that soft ware authorization uses, equipment and storage medium
CN111159656A (en) * 2019-11-18 2020-05-15 核芯互联科技(青岛)有限公司 Method, device, equipment and storage medium for preventing software from being used without authorization
CN112149066A (en) * 2020-09-23 2020-12-29 深兰人工智能芯片研究院(江苏)有限公司 Activation verification method and device for software
CN113032773A (en) * 2021-05-21 2021-06-25 长扬科技(北京)有限公司 Software security application method and device

Also Published As

Publication number Publication date
CN113032773A (en) 2021-06-25
CN113032773B (en) 2021-08-17

Similar Documents

Publication Publication Date Title
US7424606B2 (en) System and method for authenticating an operating system
US11012241B2 (en) Information handling system entitlement validation
US7356682B2 (en) Attesting to a value of a register and/or memory region
JP5992457B2 (en) Protecting operating system configuration values
US7577839B2 (en) Transferring application secrets in a trusted operating system environment
US6330670B1 (en) Digital rights management operating system
US20110179268A1 (en) Protecting applications with key and usage policy
US8392724B2 (en) Information terminal, security device, data protection method, and data protection program
US20070038827A1 (en) Use management method for peripheral device, electronic system and component device thereof
US9940146B2 (en) Controlling the configuration of computer systems
JP2007148962A (en) Subprogram, information processor for executing subprogram, and program control method in information processor for executing subprogram
US20050078822A1 (en) Secure access and copy protection management system
WO2022242035A1 (en) Software secure application method and apparatus
US9129139B2 (en) Solid state memory and method for protecting digital contents by interrupting copying or accessing and proceeding only upon user verification or authentication
US20090271875A1 (en) Upgrade Module, Application Program, Server, and Upgrade Module Distribution System
US20090119744A1 (en) Device component roll back protection scheme
KR101405915B1 (en) Method for writing data by encryption and reading the data thereof
KR101711024B1 (en) Method for accessing temper-proof device and apparatus enabling of the method
KR100886235B1 (en) A method of synchronizing data of personal portable device and a system thereof
US10318766B2 (en) Method for the secured recording of data, corresponding device and program
US8856949B2 (en) Systems and methods for detecting authorized players
CN113420340A (en) Information recording device, computer equipment and information recording method
CN117235685A (en) Software authorization authentication method and device based on authorization board
CN115033854A (en) Data processing method and device, electronic equipment and storage medium
JP4591755B2 (en) Installation program, storage medium, content reproduction apparatus, and tamper resistant module update method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21940481

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21940481

Country of ref document: EP

Kind code of ref document: A1