Software copyright protection and licensing system using RFID

The present invention provides a software copyright protection and licensing system (200) using RFID. A RFID tag (110) is supplied with a software package (100). During installation of the software package in a computer, a RFID reader (158) interrogates the RFID tag (110) for a product installation and licensing key (114). During installation of the software, an installation signature (TSig) is generated and stored in the RFID tag and computer, operation of the software is allowed if the installation signatures tally, otherwise permission is denied. Further, the system (200) allows reinstallation (process C) of the software and/or re-generation (process D) of a new installation signature under certain situations.

FIELD OF INVENTION

The present invention relates to software copyright protection and licensing system using radio-frequency identification.

BACKGROUND

Most commercial computer softwares are distributed with licenses. For example, in a retail shop, softwares are distributed in packages that are shrinked-wrapped. A so-called “shrink-wrap” license accompanies each software package. Such software licensing is based on a licensee's trust and honesty to abide by the license agreement, for example, by breaking the shrink-wrap and agreeing to install a copy of the software in only one computer. In a similar manner, a “site” license allows a licensee to install a predetermined number of copies of a software in many computers, for example, at a site or organisation.

To enable a licensee to install a software package10, a product installation key14, as shown inFIGS. 1A and 1B, typically consisting of 16 alphanumeric characters, is also included in the software package. To begin installation of the software package, an installation manager prompts a licensee to enter the product installation key14. The installation manager then authenticates the software to ensure that the software is genuine before the software is installed into the computer.

These software product installation keys in the form of alphanumeric characters are visible and, thus, cannot prevent a software from being installed in more than the agreed number of copies. Enforcement of copyright of these softwares depends very much on the licensee's organizations that own these softwares. It is obvious that enforcement of copyright of softwares installed in homes or small businesses is less effective.

To ensure more effective enforcement of softwares copyright and licensing, attempts have been made to distribute softwares that require dongles. Each dongle is connected to one of the I/O ports of a computer. Such a protected software queries the I/O port to which a dongle is connected at start-up and at predetermined time intervals during its operation. This means a licensee can only run one copy of the software with a dongle supplied with the software. However, this does not prevent a user from making copies of the software in other machines and operating the software therefrom.

It can thus be seen that there exists a need for another system for protecting the copyright of softwares and ensuring more effective licensing control. The present invention also aims to overcome the disadvantages of the existing prior art.

SUMMARY

The following presents a simplified summary to provide a basic understanding of the present invention. This summary is not an extensive overview of the invention, and is not intended to identify key features of the invention. Rather, it is to present some of the inventive concepts of this invention in a generalised form as a prelude to the detailed description that is to follow.

In one embodiment, the present invention provides a software copyright protection and licensing system using radio-frequency identification (RFID). The system comprises: a RFID tag accompanying a software package, said RFID tag contains at least a product installation and licensing key of the software; and a RFID reader in communication with a central processing unit (CPU) of a computer and the RFID tag; wherein during execution of the software into the CPU, the RFID reader interrogates the RFID tag for the software's product installation and licensing key; said system generates an installation signature (ISigtag) from the product installation and licensing key and allowing execution of the software when the ISigtagtallies with the installation signature (ISigpc) stored in the CPU when the software was first installed, or denies execution when the installation signatures do not tally.

In another embodiment, the present invention provides a method of enforcing software copyright and license comprising: supplying a RFID tag with a software package, said RFID tag containing at least a product installation and licensing key; communicating a RFID reader with a central processing unit (CPU) of a computer and the RFID tag; allowing installation of the software in the CPU if the product installation key is valid, otherwise denying installation of the software package; during installation of the software, prompting a licensee for licensee information, encrypting the licensee information, sending the encrypted licensee information to the RFID tag and generating an installation signature (ISig) for storage in the CPU; and allowing the software to operate if an installation signature obtained from the RFID tag tallies with the installation signature stored in the CPU, otherwise exiting the software operation.

In yet another embodiment, the present invention provides a computer product. The computer product comprises: a software package; a RFID tag accompanying the software package, said RFID tag containing at least a product installation and licensing key for installing the software; and an amount of adhesive for attaching the RFID tag onto a casing of a central processing unit (CPU) of a computer in which the software is operable; wherein a RFID reader in communication with the CPU and the RFID tag allows installation of the software if the RFID tag is valid.

In a further embodiment, the installation signature (ISig) comprises a unique identification and a product identification of the software in addition to the licensee information. Preferably, the licensee information comprises one or more of the following: a license number and licensee's name, address and/or contact numbers.

In yet a further embodiment, the RFID tag has a line and/or an area of weakness surrounding a miniature component of the RFID tag. Preferably, the miniature component of the RFID tag may be a memory chip, a resistor and/or a capacitor.

DETAILED DESCRIPTION

One or more specific and alternative embodiments of the present invention will now be described with reference to the attached figures. It shall be apparent to one skilled in the art, however, that this invention may be practised without such specific details. Some of the details may not be described at length so as not to obscure the invention. For ease of reference, common reference numerals or series of numerals will be used throughout the figures when referring to the same or similar features common to the figures.

FIG. 2Ashows a software package100with a radio-frequency identification (RFID) tag110according to an embodiment of the present invention. The RFID tag110is schematically made up of a memory chip118connected to a resistor122, a capacitor126and an antenna130. In one embodiment, the RFID tag110around the memory chip118is weakened, for example, by a perforated line. In another embodiment, the backing behind the memory chip118is thinner compared to the rest of the RFID tag110. In yet another embodiment, a line or area of weakness surrounds the miniature components of the RFID tag such as the memory chip118, resistor122and/or capacitor126. It is also possible to provide a line of weakness across one or more coils of the antenna130.

During manufacture of the software package100, the memory chip118of the RFID tag110is encrypted with a unique product installation and licensing key114. Other information such as manufacturing date, recommended retail price, destination market, and so on, may also be encrypted in the memory chip118. Further information, such as licensee information, number of available licenses, associated computer device number, may be written into the RFID tag110via a RFID reader158when the tag110is in use.FIG. 3Ashows the product installation and licensing key114is encoded with at least the following information: unique identification114a; product identification114b; product information114c; and licensee information114d.

After purchasing a software package100, a user implicitly agrees to the terms of the license agreement, tears off the shrink-wrap from the package and sticks the RFID tag110onto a side of a computer's casing150, as shown inFIGS. 2A and 2B.FIG. 2Balso illustrates the computer having a mother-board154and a RFID reader158built on the mother-board154. As shown inFIG. 2B, the RFID tag110and RFID reader158are in close proximity to each other. In an embodiment, the RFID operates at a medium frequency, typically around 13.5 MHz, and the distance between the RFID tag110and reader158is substantially in a range of from about 2 cm to about 20 cm. Preferably, the plane of the RFID tag110is perpendicular to the radio-frequency flux radiating from the RFID reader158such that the radio-frequency flux and the antenna130are optimally coupled.

After a licensee (user) has removed the software medium, such as, a compact disc and inserted it into an optical drive, an installation manager in the software package100invokes the RFID reader158to read the product installation and licensing key114from the RFID tag110without the licensee having to read and manually enter the product installation and licensing key114. As shown inFIG. 3B, the RFID reader158decodes the product installation and licensing key114. The installation manager then extracts the unique identification114a, product identification114band licensee information114c, and creates an installation hash or signature (ISig)116. The installation hash or signature (ISig)116is a secure file stored in the computer and is used to verify the copyright and licensing of the software package100; these verifications will be clearer when the installation and execution of a software package according to the present invention is described inFIG. 4.

An advantage of the present copyright protection and licensing system is that the product installation and licensing key114is in an electronic form and cannot be visually read. By storing the product installation and licensing key114in the memory chip118of the RFID tag110, the present invention helps to enforce software copyright protection. In addition, users are prevented from installing unauthorised copies of the software in separate machines. Thus, enforcement of software licensing becomes more effective. Further, with the line of weakness and/or the thin backing on the RFID tag110, these features help to discourage a licensee from tampering with the RFID tag110after it is attached to the casing150of a computer's CPU.

FIG. 4illustrates an installation process200of a software package according to another embodiment of the present invention. As shown inFIG. 4, the installation process200is started by a user initiating, in step204, to install the software package100into a computer. For example, the user removes the software medium, such as a compact disc and inserts it into an optical drive in the computer. Upon the computer's operating system detecting the installation medium and executing the installation command, an installation manager in the software medium invokes the RFID reader158, in step210, to scan the RFID tag110that is supplied with the software package100. A decision is made, in step214, whether the RFID tag110is present. If the RFID tag110is attached to the recommended region on a side of the computer casing150and is within interrogation range of the RFID reader158, the decision in step214is positive, ie. “yes” and the process proceeds to step220.

If the decision in step214is “no”, the installation manager issues a message to the user, in step218, prompting the user to attach the RFID tag110at a recommended position. After elapse of a time interval, the installation manager again requests the RFID reader158to interrogate the RFID tag110. In another embodiment, the RFID interrogation is repeated for a predetermined period of time, after which, the installation manager exits the installation process. In yet another embodiment, the installation manager prompts the user whether to continue with the installation process; if the user so wishes, the installation manager re-executes process steps210and214. If not, the installation manager exists the installation process.

When a RFID tag110is detected by the RFID reader158, in step214, the RFID reader158sends out a burst of radio-frequency waves and interrogates the RFID tag in step220. Powered by the radio-frequency waves inducting the RFID tag's antenna130, the RFID tag110responds by encrypting the product installation and licensing key114from it memory chip118and sends a burst of return radio-frequency waves through the antenna130back to the RFID reader158. In step224, the installation manager requests the RFID reader158to decrypt the product installation and licensing key114from the RFID tag110.

A decision is then made, in step230, whether the product installation and licensing key114is successfully transmitted by the RFID tag110and decrypted by the RFID reader158. If the decision in step230is negative, ie. “no”, the installation manager considers the RFID tag to be invalid, and proceeds to step298and ends the installation process200.

If the decision in step230is positive, ie. “yes”, the installation manager extracts the licensee information114dfrom the product installation and licensing key114that was already de-crypted by the RFID reader158. A decision is then made, in step244, whether the licensee information114dexists.

If the software package100is new and the licensee information114ddoes not exist, the installation manager proceeds to step250. In step250, a new installation process B is started. If the decision in step244is positive, the installation manager proceeds to process C. In process C, the software package100is reinstalled in step300.

FIG. 5illustrates a new software installation process B according to another embodiment of the present invention. As shown inFIG. 5, the new software installation process B starts from step250. In step252, the installation manager requests the user (licensee) for the licensee information. The licensee information may include the licensee name; address; and telephone, facsimile and/or email contact. As soon as the required licensee information is entered by the licensee, the installation manager proceeds to step254.

In step254, the installation manager installs the software package100into the licensee's computer. At the end of the installation process, a decision is made, in step256, whether the installation is successful. If the decision in step256is negative, the installation manager determines, in step258, that the installation has failed. As a result, the installation manager executes, in step278, an installation roll-back and removes the software components that were installed by the installation manager, before ending the installation process in step298.

If the decision in step256is positive, the installation manager proceeds to step260. In step260, the installation manager sends the licensee information114dto the RFID reader158for the licensee information114dto be updated into the product installation and licensing key114. The updated product installation and licensing key114is then encrypted, also in step260, and transmitted to the RFID tag110, in steps264and268. A decision is then made in step270whether the licensee information114dis encrypted and transmitted to the RFID tag110.

If the decision in step270is negative, the installation manager prompts the licensee, in step274, whether to retry encrypting and transmitting the licensee information114dto the RFID tag110. If the licensee's decision in step274is positive, the installation manager repeats process steps260,264and268accordingly. In another embodiment, a number of retry in step274is predetermined. If the decision in step274is negative, the installation manager performs an installation roll-back in step278before ending the installation process in step298.

If the decision in step270is positive, the installation manager proceeds to step280. In step280, the installation manager creates the installation signature (ISig) or hash116from the unique identification114a, product identification114band licensee information114d. The installation signature (ISig)116is then stored in the licensee's computer, in step284. The installation signature stored in the computer is identified as ISigpcin step288. A decision is then made, in step290, whether the generation and storage of the installation signature ISigpc116is successful.

If the decision in step290is negative, the installation manager prompts the licensee, in step294, whether to retry storing the installation signature (ISigpc)116. If the licensee's decision in step294is positive, the installation manager re-executes the process steps284and288accordingly. In another embodiment, a number of retry in step294is predetermined. If the decision in step294is negative, the installation manager proceeds to step278and performs an installation roll-back before ending the installation process in step298.

If the decision in step290is positive, the installation is successful. Accordingly, the installation manager proceeds to end the new installation process B in step298.

FIG. 6illustrates a re-installation process of a software package according to another embodiment of the present invention. As shown inFIG. 6, the re-installation process C starts from step300. In step302, the installation manager selects the location of the installation signature (ISig)116. By default, the installation signature (ISigpc)116is located in a storage drive, such as a boot drive “C” of a computer. In step304, the installation manager retrieves the ISigpcfrom the storage drive. A check is then made, in step306, whether the ISigpcis found in the computer.

If the decision in step306is positive, the installation manager requests the RFID reader158to extract the unique identification114a, product identification114band licensee information114dfrom the RFID tag110. An installation signature (ISigtag) is then generated from the RFID tag110in step310. The ISigtagis compared to the ISigpcin step320and a decision is made, in step324.

If the result of comparison in step320is positive, meaning that the installation signatures from the computer and RFID are identical, the decision in step324would also be positive. Accordingly, the installation manager proceeds to complete the installation of the software package100, in step330, before ending the re-installation process C in step394.

If the result of comparison in step320is negative, the installation signatures ISigpcand ISigtagare determined to be invalid in step324. As a result, the installation manager ends the installation process in step394.

In another embodiment, when the decision in step324is negative, the installation manager prompts the licensee whether to retry the re-installation process. If the licensee so wishes, the installation manager proceeds to step340. If not, the installation manager proceeds to end the reinstallation process C in step394.

If the ISigpcis not found in step306, the installation manager proceeds to step340. In step340, the installation manager prompts the licensee whether to request for a new installation signature.

If the licensee declines, in step340, to regenerate a new installation signature, the installation manager proceeds to end the re-installation process C in step394. If the licensee wishes to regenerate a new installation signature, the installation manager proceeds to step350. In step350, process D for re-generating a new installation signature is initiated. Process D will be described underFIG. 7. A decision is then made, in step380, whether the new installation signature is successfully re-generated.

If the decision in step380is positive, the installation manager prompts the licensee, in step382, to choose a location to store the new installation signature. Upon the licensee entering a requested location, the installation manager stores the new installation signature (ISig) in the computer in step384, and replaces the previous installation signature (ISigpc) in step386. Accordingly, the software re-installation process C continues from step302.

If the decision in step380is negative, the installation manager prompts the licensee, in step390, whether to re-try executing process D. If the licensee wishes, the installation manager executes step350again. If the licensee declines, the installation manager ends the reinstallation process in step394.

FIG. 7illustrates the installation signature regenerating process D according to another embodiment of the present invention. Reinstallation of a software may be required, for example, after one's computer hard disk clashes. It may also happen when a computer operating system need to be reinstalled, for example, after a virus attack and a copy of the ISig has not been copied on a portable drive. As shown inFIG. 7, the ISig re-generating process D starts from step350. In step352, the installation manager checks the network ports for any network connection, and a decision is made, in step354, whether a network port is available.

If none of the network port is connected and the decision in step354is negative, the installation manager prompts the licensee, in step370, to provide a network connection and the process control then jumps to step374. Accordingly, the re-installation process continues through steps380and390(as shown inFIG. 6) and steps352and354. In another embodiment, as shown inFIG. 7, the process control jumps to steps352and354from step370.

If the decision in step354is positive, the installation manager proceeds to step356. In step356, the installation manager extracts the product installation and licensing key114from the RFID tag110, encrypts the key and sends it to the licensor's server. With the information returned from the licensor's server, the installation manager verifies, in step360, the product installation and licensing key114retrieved from the RFID tag110. A decision is then made, in step362, whether the product installation and licensing key114from the RFID tag110is valid.

If the decision in step362is positive, the installation manager keeps a log, in step364, for each attempt in re-generating a new installation signature (ISig). The installation manager then proceeds to generate a new installation signature (ISig), in step368, and returns process control, in step374, to step380shown inFIG. 6. If the decision in step362is negative, the installation manager interrupts the installation signature regeneration process and proceeds to end process D in step394.

FIG. 8illustrates the licensing control of a software package100according to another embodiment of the present invention. The licensing control system300executes at regular predetermined intervals, and allows a licensee to continue operating the software package100as long as the installation signatures from both the computer and RFID tag110match each other. As shown inFIG. 8, the licensing control system300starts from step800. In step810, the licensing system300periodically retrieves the installation signature (ISigpc) from the computer. At substantially the same time, the licensing system300also retrieves the unique identification114a, product information114b, and licensee information114dfrom the RFID tag110in step820, and generates the installation signature (ISigtag) from the RFID tag110. In another embodiment, the licensing system300retrieves the installation signatures (ISigtag) directly from the memory118of the RFID tag110in step825, instead of re-processing the ISig from the RFID tag110.

In step840, the installation signatures from the computer and RFID tag are compared, and a decision is made, in step844, whether the software license is still valid. If the decision in step844is positive, the licensing system300allows the software package100to continue operating. The licensing system300periodically repeats its control from step800after elapse of a predetermined time interval. In another embodiment, the licensing system periodically ends by executing step870after each cyclic licensing loop execution.

If the decision in step844is negative, and the installation signatures (ISig) from the computer and RFID tag110do not match (in step848), the licensing control system300proceeds to step850. In step850, the licensing system300causes the software to exit, and the licensing system300to end in step870.

Whilst this copyright protection system is described with a RFID reader158installed on the mother-board154, the present invention is not so limited. The RFID reader158may be an external device, which is connectable to the CPU, for example, via a USB port or any I/O port with an appropriate port driver. In the later embodiment, transmitting and storing the licensee information as part of the installation and licensing key114in the memory chip118discourage users from making copies of a software and running the copies in separate machines.

Where a software package100is sold with multiple licenses, or so called site licenses, a number of RFID tags110corresponding to the number of licenses is included in the package. Each license number is stored as part of the licensee information114din the installation and licensing key114.

So far, the present invention has been described with respect to users installing and executing licensed copies of software packages. The present invention, therefore, provides protection of software copyrights and ensures more effective licensing control. With the present invention, other areas of application such as software asset and licensing management, as shown inFIG. 9, as part of an entire enterprise management system is also enabled. In such asset and licensing management, a licensee carries a portable RFID reader, interrogates each RFID tag110to extract each software product installation and licensing key114and sends the product identification and licensing information to a computer for administrative purposes.

While specific embodiments have been described and illustrated, it is understood that many changes, modifications, variations and combinations thereof could be made to the present invention without departing from the scope of the invention. For example, the RFID tag110may be provided with an area of weakness such that tampering with it would separate the memory chip118from the other parts of the tag. This would discourage attempts to circumvent software copyright protection.