[go: up one dir, main page]

WO2011031129A1 - Software license registration management system - Google Patents

Software license registration management system Download PDF

Info

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
Application number
PCT/MY2010/000159
Other languages
French (fr)
Inventor
Siong Ng Kang
Md Zin Wan Zawawi
Raj T. Ramanathan Thillai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mimos Bhd
Original Assignee
Mimos Bhd
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 Mimos Bhd filed Critical Mimos Bhd
Publication of WO2011031129A1 publication Critical patent/WO2011031129A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

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.
PCT/MY2010/000159 2009-09-11 2010-09-02 Software license registration management system Ceased WO2011031129A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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