WO2011031129A1 - Software license registration management system - Google Patents
Software license registration management system Download PDFInfo
- Publication number
- WO2011031129A1 WO2011031129A1 PCT/MY2010/000159 MY2010000159W WO2011031129A1 WO 2011031129 A1 WO2011031129 A1 WO 2011031129A1 MY 2010000159 W MY2010000159 W MY 2010000159W WO 2011031129 A1 WO2011031129 A1 WO 2011031129A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- license
- key
- management system
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
Definitions
- the present invention relates to a system for the management of software license registration.
- Software binary code is a form of copyright property, and a user is usually required to obtain a license in order to install the software onto a computer or other device.
- copyrighted software binary code can be easily and surreptitiously duplicated and installed on any compatible hardware. It is a challenge faced by the copyright owners to keep track of the number of software binary code copies that are produced. Illegitimate copies of software binary code made and used will result in revenue lost for the copyright owner.
- What is desired is a software registration management system that is able to keep count of and restrict the number of times a license is used for registration of multiple devices.
- the present invention relates to a software registration system that substantially overcomes one or more of the problems and disadvantages of the prior art.
- This invention also relates to a software registration system that is able to control the number of times a particular software binary code can be duplicated, whilst allowing each copy of the software binary code to be executed properly.
- the system comprises a request key generation module that generates a request key based on some unique properties of the machine or device that the software runs on. This request key is sent to a license generation module. A license key is generated using the request key. The license key is loaded back into the device. Upon execution of the licensed software, a built-in module in the software will generate the request key and later the license key using the same algorithm and compare the result with the earlier loaded license key. A successful match will cause the software to execute while a mismatch causes the software to abort.
- This invention also relates to a software registration system that is able to limit the number of license keys that can be generated by the license key generation module and loading station.
- a counter is stored in a license key counter storage device where this counter is decrement whenever a license key is generated. When the counter value is zero, the license key generation module can generate no further license keys. This feature allows the software copyright owner to control the number of licenses that can be issued by an authorized software dealer who runs the license key generation and loading station.
- This invention further relates to a software license management system, comprising: a request key generation module for generating a request key, said request key generation module located on a device running a software, and said request key is a mathematical function such as an encryption or hash algorithm of a unique feature of said device, such as a MAC address, CPU ID, or hard disk serial number; and a license key generation module for generating a license key, and said license key is a mathematical function such as an encryption or hash algorithm of said request key; and a license key verification module located on said device on which said software is running, said license key verification module activated before running of said software and comprises a verification process that recalculates a license key for comparison with said license key loaded earlier, and allowing said software to run if there is a match thereof.
- a software license management system comprising: a request key generation module for generating a request key, said request key generation module located on a device running a software, and said request key is a mathematical function such as an encryption or hash algorithm of
- the software license management system further comprises a protection module that limits the number of license keys that can be generated by the license key generation module, the protection module comprising a counter storage device having an initial predetermined number count of license keys and said counter storage device reducing said number count by one each time a license key is generated by the license key generation module, and the protection module prohibiting the generation of license keys by the license key generation module when said number count reaches zero.
- Figure 1 shows a diagrammatic view of the system in an embodiment of this invention.
- FIG. 2 shows an overall process flow in an embodiment of this invention.
- FIG. 1 there is shown a software registration system that is able to control the number of times a particular software binary code can be duplicated, whilst allowing each copy of the software binary code to be executed properly.
- the system comprises a request key generation module (10) located on a device (20) on which the licensed software (50) is to be executed.
- the software registration system is first activated before allowing the software to execute.
- a request key generation module (10) generates a request key (15) by performing a mathematical function on some unique property of the machine or device that the software runs on, such as a MAC address, CPU ID, or hard disk serial number. In a preferred embodiment, this mathematical function could be, but is not limited to, either an encryption or hash algorithm.
- This request key (15) is sent to a license generation module (30).
- the license key generation module (30) generates a license key (35) by performing a mathematical function on the request key (15). In a preferred embodiment, this mathematical function could be, but is not limited to, either an encryption or hash algorithm.
- the license key (35) is then loaded back into the device (20).
- a license key verification module (40) located on the device (20) then recalculates the license key (35) using an identical process as the license key generation module (30) and compares it to the received license key (35). If there is a match, it allows the software (50) to proceed, and if there is no match, it aborts the execution of the software (50).
- a protection module (60) that is in communication with a counter storage device (70).
- the counter storage device (70) provided with a memory capability, and a predetermined number. This number coincides with the number of times that the software copyright owner wishes the licensed software (50) to be registered.
- the protection module (60) first checks with the counter storage device (70). If the said predetermined number is still above zero, the counter storage device (70) instructs the license key generation module (30) to proceed with generating the license key (35). If, however, the number is zero, the counter storage device (70) will not instruct the license key generation module (30) to proceed with generating the license key (35) and the software (50) will not be executed.
- a request key generation module (10) located on a device (20) on which the licensed software (50) is to be executed generates a request key (15) by performing a mathematical function on some unique property of the machine or device that the software runs on, such as a MAC address, CPU ID, or hard disk serial number. In a preferred embodiment, this mathematical function could be, but is not limited to, either an encryption or hash algorithm.
- This request key (15) is sent to a license generation module (30).
- the license key generation module (30) generates a license key (35) by performing a mathematical function on the request key (15). In a preferred embodiment, this mathematical function could be, but is not limited to, either an encryption or hash algorithm.
- the license key (35) is then loaded back into the device (20).
- a license key verification module (40) located on the device (20) then recalculates the license key (35) using an identical process as the license key generation module (30) and compares it to the received license key (35). If there is a match, it allows the software (50) to proceed, and if there is no match, it aborts the execution of the software (50).
- a protection module (60) that is in communication with a counter storage device (70).
- the counter storage device (70) provided with a memory capability, and a predetermined number. This number coincides with the number of times that the software copyright owner wishes the licensed software (50) to be registered.
- the protection module (60) Each time a license key (35) is to be generated by the license key generation module (30), the protection module (60) first checks with the counter storage device (70). If the said predetermined number is still above zero, the counter storage device (70) instructs the license key generation module (30) to proceed with generating the license key (35). If, however, the number is zero, the counter storage device (70) will not instruct the license key generation module (30) to proceed with generating the license key (35) and the software (50) will not be executed.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
This invention also relates to a software registration system that is able to control the number of times a particular software binary code can be duplicated, whilst allowing each copy of the software binary code to be executed properly. The system comprises a request key generation module that generates a request key based on some unique properties of the machine or device that the software runs on. This request key is sent to a license generation station. A license key is generated using the request key. The license key is loaded back into the machine. Upon execution of the licensed software, a built-in module in the software will generate the request key and later the license key using the same algorithm and compare the result with the earlier loaded license key. A successful match will cause the software to execute while a mismatch causes the software to abort.
Description
Software License Registration Management System
FIELD OF INVENTION
The present invention relates to a system for the management of software license registration.
BACKGROUND OF INVENTION
Software binary code is a form of copyright property, and a user is usually required to obtain a license in order to install the software onto a computer or other device. However, copyrighted software binary code can be easily and surreptitiously duplicated and installed on any compatible hardware. It is a challenge faced by the copyright owners to keep track of the number of software binary code copies that are produced. Illegitimate copies of software binary code made and used will result in revenue lost for the copyright owner.
Most current software licensing schemes call for a single software license to be able to run on more than a single computer or device, with the requirement of being able to control the number of computers or devices that use the license. Some of these multiple-use licenses are still limited to certain hardware and require a separate license serial number for each user/hardware combination. Further, some of these software registration management systems do not restrict the number of times the same license can be used to register different devices. Other software registration
management systems utilize low-level public key encryption methods for the sending of license keys.
What is desired is a software registration management system that is able to keep count of and restrict the number of times a license is used for registration of multiple devices.
What is also desired is a software registration management system that is more secure from misuse by adverse parties.
SUMMARY OF INVENTION
The present invention relates to a software registration system that substantially overcomes one or more of the problems and disadvantages of the prior art.
This invention also relates to a software registration system that is able to control the number of times a particular software binary code can be duplicated, whilst allowing each copy of the software binary code to be executed properly. The system comprises a request key generation module that generates a request key based on some unique properties of the machine or device that the software runs on. This request key is sent to a license generation module. A license key is generated using the request key. The license key is loaded back into the device. Upon execution of the licensed software, a built-in module in the software will generate the request key and later the license key using the same algorithm and compare the result with the earlier loaded license key. A successful match will cause the software to execute while a mismatch causes the software to abort.
This invention also relates to a software registration system that is able to limit the number of license keys that can be generated by the license key generation module and loading station. A counter is stored in a license key counter storage device where this counter is decrement whenever a license key is generated. When the counter value is zero, the license key generation module can generate no further license keys. This feature allows the software copyright owner to control the number of licenses that can be issued by an authorized software dealer who runs the license key generation and loading station.
This invention further relates to a software license management system, comprising: a request key generation module for generating a request key, said request key generation module located on a device running a software, and said request key is a mathematical function such as an encryption or hash algorithm of a unique feature of said device, such as a MAC address, CPU ID, or hard disk serial number; and a license key generation module for generating a license key, and said license key is a mathematical function such as an encryption or hash algorithm of said request key; and a license key verification module located on said device on which said software is running, said license key verification module activated before running of said software and comprises a verification process that recalculates a license key for comparison with said license key loaded earlier, and allowing said software to run if there is a match thereof. The software license management system further comprises a protection module that limits the number of license keys that can be generated by the license key generation module, the protection module comprising a counter storage device having an initial predetermined number count of license keys and said counter storage device reducing said number count by one each time a license key
is generated by the license key generation module, and the protection module prohibiting the generation of license keys by the license key generation module when said number count reaches zero. These and other objects of the present invention will become more readily apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating the preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.
BRIEF DESCRIPTION OF DRAWINGS
Figure 1 shows a diagrammatic view of the system in an embodiment of this invention.
Figure 2 shows an overall process flow in an embodiment of this invention.
DETAILED DESCRIPTION OF INVENTION
It should be noted that the following detailed description is directed to a system for the management of software license registration and is not limited to any particular size or configuration of the system but in fact a multitude of sizes and configurations within the general scope of the following description.
Referring to Figure 1 , there is shown a software registration system that is able to control the number of times a particular software binary code can be duplicated, whilst allowing each copy of the software binary code to be executed properly. The system comprises a request key generation module (10) located on a device (20) on which the licensed software (50) is to be executed. When the software (50) is ordered by a user to execute, the software registration system is first activated before allowing the software to execute. A request key generation module (10) generates a request key (15) by performing a mathematical function on some unique property of the machine or device that the software runs on, such as a MAC address, CPU ID, or hard disk serial number. In a preferred embodiment, this mathematical function could be, but is not limited to, either an encryption or hash algorithm. This request key (15) is sent to a license generation module (30). The license key generation module (30) generates a license key (35) by performing a mathematical function on the request key (15). In a preferred embodiment, this mathematical function could be, but is not limited to, either an encryption or hash algorithm. The license key (35) is then loaded back into the device (20). A license key verification module (40) located on the device (20) then recalculates the license key (35) using an identical process as the license key generation module (30) and compares it to the received license key (35). If there is a match, it allows the software (50) to proceed, and if there is no match, it aborts the execution of the software (50).
Still referring to Figure 1 , there can be seen a protection module (60) that is in communication with a counter storage device (70). The counter storage device (70) provided with a memory capability, and a predetermined number. This number coincides with the number of times that the software copyright owner wishes the licensed software (50) to be registered. Each time a license key (35) is to be generated by the license key generation
module (30), the protection module (60) first checks with the counter storage device (70). If the said predetermined number is still above zero, the counter storage device (70) instructs the license key generation module (30) to proceed with generating the license key (35). If, however, the number is zero, the counter storage device (70) will not instruct the license key generation module (30) to proceed with generating the license key (35) and the software (50) will not be executed.
Referring now to Figure 2, there can be seen a process flow of a software registration system of this invention. A request key generation module (10) located on a device (20) on which the licensed software (50) is to be executed generates a request key (15) by performing a mathematical function on some unique property of the machine or device that the software runs on, such as a MAC address, CPU ID, or hard disk serial number. In a preferred embodiment, this mathematical function could be, but is not limited to, either an encryption or hash algorithm. This request key (15) is sent to a license generation module (30). The license key generation module (30) generates a license key (35) by performing a mathematical function on the request key (15). In a preferred embodiment, this mathematical function could be, but is not limited to, either an encryption or hash algorithm. The license key (35) is then loaded back into the device (20). A license key verification module (40) located on the device (20) then recalculates the license key (35) using an identical process as the license key generation module (30) and compares it to the received license key (35). If there is a match, it allows the software (50) to proceed, and if there is no match, it aborts the execution of the software (50). A protection module (60) that is in communication with a counter storage device (70). The counter storage device (70) provided with a memory capability, and a predetermined number. This number coincides with the number of times that the software
copyright owner wishes the licensed software (50) to be registered. Each time a license key (35) is to be generated by the license key generation module (30), the protection module (60) first checks with the counter storage device (70). If the said predetermined number is still above zero, the counter storage device (70) instructs the license key generation module (30) to proceed with generating the license key (35). If, however, the number is zero, the counter storage device (70) will not instruct the license key generation module (30) to proceed with generating the license key (35) and the software (50) will not be executed.
While several particularly preferred embodiments of the present invention have been described and illustrated, it should now be apparent to those skilled in the art that various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are intended to embrace such changes, modifications, and areas of application that are within the spirit and scope of this invention.
Claims
1. A software license management system, comprising:
a request key generation module (10) for generating a request key (15), said request key generation module (10) located on a device (20) running a software (50), and said request key (15) generated based on a unique feature of said device (20); and
a license key generation module (30) for generating a license key (35), and said license key (35) generated based on said request key (15); and
a license key verification module (40) located on said device (20) on which said software (50) is running, said license key verification module (40) activated before running of said software (50) and comprises a verification process that recalculates a license key for comparison with said license key (35) generated by said license key generation module (30), and allowing said software (50) to run if there is a match thereof.
2. A software license management system according to claim 1 wherein the request key (15) is the result of a mathematical function performed on said unique feature of said device (20).
3. A software license management system according to claim 2 wherein the said mathematical function of said unique feature is one or more of an encryption algorithm or hash algorithm.
4. A software license management system according to any of the preceding claims wherein the request key (15) is generated based on any of the following: MAC address; CPU ID; or hard disk serial number.
5. A software license management system according to any of the preceding claims wherein the said unique feature used to generate said request key (15) is hidden from public view.
6. A software license management system according to any of the preceding claims wherein the said license key (35) is the result of a mathematical function performed on said request key (15).
7. A software license management system according to claim 6 wherein the said mathematical function of said request key (15) is one or more of an encryption algorithm or hash algorithm.
8. A software license management system according to any of the preceding claims further comprising a protection module (60) that limits the number of license keys generated by the license key generation module (30).
9. A software license management system according to claim 8 wherein the said protection module (60) comprises a counter storage device (70), said counter storage device having an initial predetermined number count of license keys (35) and said counter storage device (70) reducing said number count by one each time a license key is generated by the license key generation module (30).
10. A software license management system according to claim 9 wherein the said protection module (60) prohibits the generation of license keys by the license key generation module (30) when said number count reaches zero.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| MYPI20093802 | 2009-09-11 | ||
| MYPI20093802 | 2009-09-11 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2011031129A1 true WO2011031129A1 (en) | 2011-03-17 |
Family
ID=43838265
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/MY2010/000159 Ceased WO2011031129A1 (en) | 2009-09-11 | 2010-09-02 | Software license registration management system |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2011031129A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013191458A1 (en) * | 2012-06-20 | 2013-12-27 | Samsung Electronics Co., Ltd. | License verification method and apparatus, and computer readable storage medium storing program therefor |
| US20140143885A1 (en) * | 2012-11-20 | 2014-05-22 | Ati Technologies Ulc | Firmware-implemented software licensing |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040098348A1 (en) * | 2002-09-20 | 2004-05-20 | Fujitsu Limited | License issuance server, processing device, software execution management device, and license issuing method and program |
| WO2004075092A1 (en) * | 2003-02-21 | 2004-09-02 | Matsushita Electric Industrial Co., Ltd. | Software-management system, recording medium, and information-processing device |
| GB2398892B (en) * | 2003-02-26 | 2005-11-09 | Lenticular Designs Ltd | A software licensing system |
| US20050278716A1 (en) * | 2004-06-14 | 2005-12-15 | Nokia Corporation | Digital rights management (DRM) license manager |
-
2010
- 2010-09-02 WO PCT/MY2010/000159 patent/WO2011031129A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040098348A1 (en) * | 2002-09-20 | 2004-05-20 | Fujitsu Limited | License issuance server, processing device, software execution management device, and license issuing method and program |
| WO2004075092A1 (en) * | 2003-02-21 | 2004-09-02 | Matsushita Electric Industrial Co., Ltd. | Software-management system, recording medium, and information-processing device |
| GB2398892B (en) * | 2003-02-26 | 2005-11-09 | Lenticular Designs Ltd | A software licensing system |
| US20050278716A1 (en) * | 2004-06-14 | 2005-12-15 | Nokia Corporation | Digital rights management (DRM) license manager |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013191458A1 (en) * | 2012-06-20 | 2013-12-27 | Samsung Electronics Co., Ltd. | License verification method and apparatus, and computer readable storage medium storing program therefor |
| KR20130142692A (en) * | 2012-06-20 | 2013-12-30 | 삼성전자주식회사 | License verification method, apparatus and computer readable medium thereof |
| US9202021B2 (en) | 2012-06-20 | 2015-12-01 | Samsung Electronics Co., Ltd. | License verification method and apparatus, and computer readable storage medium storing program therefor |
| KR101999656B1 (en) | 2012-06-20 | 2019-07-12 | 삼성전자 주식회사 | License verification method, apparatus and computer readable medium thereof |
| US20140143885A1 (en) * | 2012-11-20 | 2014-05-22 | Ati Technologies Ulc | Firmware-implemented software licensing |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6243468B1 (en) | Software anti-piracy system that adapts to hardware upgrades | |
| US8423794B2 (en) | Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications | |
| US7475254B2 (en) | Method for authenticating software using protected master key | |
| AU2002368159B2 (en) | System and method for authentication | |
| JP5703391B2 (en) | System and method for tamper resistant boot processing | |
| KR100896625B1 (en) | System and method for authenticating software using hidden intermediate keys | |
| JP5535243B2 (en) | Software application validation | |
| CN101308530B (en) | Method of installing software for using digital content and apparatus for playing digital content | |
| JP2005506628A (en) | How to bind a software data domain to specific hardware | |
| US20100031373A1 (en) | Method and system for secure flexible software licensing | |
| CN115795438B (en) | Method, system and readable storage medium for authorizing application program | |
| CN101923616A (en) | Service providing device, user terminal and copyright protection method in copyright protection | |
| US6651169B1 (en) | Protection of software using a challenge-response protocol embedded in the software | |
| CN116167020A (en) | Software authorization method and system | |
| WO2009142689A1 (en) | Authentication for access to software development kit for a peripheral device | |
| US7500109B2 (en) | System and method for secure authentication of external software modules provided by third parties | |
| US20140230068A1 (en) | System and method for packaging and authenticating a software product | |
| WO2011031129A1 (en) | Software license registration management system | |
| CN114070548A (en) | Software copyright encryption protection method based on soft dongle device | |
| CN104866736A (en) | Anti-spreading digital copyright management system and method | |
| US20050246285A1 (en) | Software licensing using mobile agents | |
| WO2012050421A1 (en) | Secure external storage system and method thereof | |
| Tsai et al. | Android App copy protection mechanism based on dynamic loading | |
| JP2009032165A (en) | Software license management system, program and device | |
| WO2006101765A2 (en) | Method for preventing unauthorized installation of a software product |
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: 10815672 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: 10815672 Country of ref document: EP Kind code of ref document: A1 |