System and method for controlling usage of software on computing devices -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
07/26/07 - USPTO Class 713 |  141 views | #20070174631 | Prev - Next | About this Page  713 rss/xml feed  monitor keywords

System and method for controlling usage of software on computing devices

USPTO Application #: 20070174631
Title: System and method for controlling usage of software on computing devices
Abstract: Described is a method and system for controlling usage of software on a computing device. An authorization key is generated as a function of a device string and a software string. The device string is a unique string stored in the device. The software string is a unique string stored in a software authorized for use on the device. The authorization key is encrypted using a private key and stored in the device. Upon a request to use software on the device, the authorization key is decrypted using a public key corresponding to the private key. A test key is generated as a function of the device string and a request software string. The request software string is a unique string stored in the software for which use has been requested. The authorization key is compared to the test key. When the test key matches the authorization key, usage of the software for which use has been requested on the device is permitted. (end of abstract)



Agent: Fay Kaplun & Marcin, LLP - New York, NY, US
Inventors: Allan Herrod, Alan J. Epshteyn, Robert J. Schreib
USPTO Applicaton #: 20070174631 - Class: 713185000 (USPTO)

Related Patent Categories: Electrical Computers And Digital Processing Systems: Support, System Access Control Based On User Identification By Cryptography, Using Record Or Token

System and method for controlling usage of software on computing devices description/claims


The Patent Description & Claims data below is from USPTO Patent Application 20070174631, System and method for controlling usage of software on computing devices.

Brief Patent Description - Full Patent Description - Patent Application Claims
  monitor keywords

PRIORITY CLAIM

[0001] The present application is a Continuation application of U.S. patent application Ser. No. 10/609,956 filed Jun. 30, 2003 entitled "System and Method for Controlling Usage of Software on Computing Devices", the entire disclosure of which is expressly incorporated herein by reference.

Background

[0002] Conventional computing devices utilize a wide variety of software packages in their everyday operations. Although presently, software distribution is primarily regulated through licensing, access codes, CD-keys, etc., such security precautions are susceptible to manipulation by unauthorized third parties. Therefore, there is a need for more secure means of authorizing software usage on particular computing devices.

SUMMARY OF THE INVENTION

[0003] The present invention relates to a method and system for controlling usage of software on a computing device. An authorization key is generated as a function of a device string and a software string. The device string is a unique string stored in the device. The software string is a unique string stored in a software authorized for use on the device. The authorization key is encrypted using a private key and stored in the device.

[0004] Upon a request to use software on the device, the authorization key is decrypted using a public key corresponding to the private key. A test key is generated as a function of the device string and a request software string. The request software string is a unique string stored in the software for which use has been requested. The authorization key is compared to the test key. When the test key matches the authorization key, usage of the software for which use has been requested on the device is permitted.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute part of the specification, illustrate several embodiments of the invention and, together with the description, serve to explain examples of the present invention. In the drawings:

[0006] FIG. 1 shows an exemplary system according to the present invention for controlling usage of a software;

[0007] FIG. 2 shows an exemplary system according to the present invention for creating and storing a software authorization key;

[0008] FIG. 3 shows a an exemplary system according to the present invention for verifying whether the software can be executed on a particular computing device;

[0009] FIG. 4 shows an exemplary embodiment of a method for creating and storing a software authorization key according to the present invention; and

[0010] FIG. 5 shows an exemplary embodiment of a method for verifying whether the software can be executed on a particular computing device according to the present invention.

DETAILED DESCRIPTION

[0011] FIG. 1 shows an exemplary system for controlling usage of software on computing devices where the use of a software 4 is allowed only particular platforms 2a and 2d. The platforms 2a-2d may be any computing devices (e.g., PCs, handheld devices, PDAs, etc.) which may operate on one of a plurality of operating systems, (e.g., Windows, Unix, Apple OS, etc.). The software 4 may be any program/code (e.g., office suite, image recognition software, etc.) which a hardware/software manufacturer desires to restrict the use thereof.

[0012] The restriction of software 4 to particular platforms 2a and 2d may be accomplished by creating and storing the authorization keys 14a and 14d for the software in the registries 16a and 16d of the corresponding platforms. Each of the registries 16a-16d is a digital storage area of a computing device (e.g., ROM, hard drive, etc.) that may contain information about the particular platforms 2a-2d (e.g., build date, manufacturer, etc.).

[0013] As described in detail below, the authorization keys 14a and 14d may be created using the first string 6a and 6d stored in the platforms 2a and 2d respectively, in conjunction with the second string 10 stored in the software 4 as shown in FIGS. 2 and 4, so that only platforms 2a and 2d may utilize the software 4. The first strings 6a and 6d and the second string 10 are unique and specific to the platforms 2a and 2d and the software 4 respectively. The first strings 6a-6d may be created and stored by the manufacturer in the platforms 2a-2d during the production process. The second string 10 may likewise be created and stored in the software 4. The platform string 6 may be formed by combining sub-strings present on the platform 2, such as a combination of an original equipment manufacturer ("OEM") string and a product-name string. The first strings 6a and 6d and the second string 10 may not be modified by the subsequent user after the manufacturing process. The unique nature of the first strings 6a and 6d and the second string 10 and the lack of available modification means makes them suited for identification and authorization purposes of the platforms 2a and 2d and the software 4.

[0014] As shown in FIG. 1, only the platforms 2a and 2d are allowed to run the software 4 because they are the only ones that have the proper authorization keys 14a and 14d. The authorization keys 14a and 14d are created using the second string 10 and the first string 6a and 6d stored in the platforms 2a and 2d respectively. Since the platforms 2a and 2d are used in creating the authorization keys 14a and 14d these are the only platforms capable of running the software 4. Conversely, the platforms 2b and 2c lack the required authorization keys. Therefore, these platforms 2b and 2c are not able to utilize the software 4.

[0015] FIG. 2 shows the generation of the authorization key 14 using the first string 6 and the second string 10 stored in the platform 2 and the software 4, respectively. As stated above, the first string 6 and the second string 10 are specific and unique to their locations (i.e., the platform 2 and the software 4).

[0016] FIG. 4 shows a method for creating the authorization key 14 which may be subsequently used by the platform 2 to determine if it is allowed to utilize the software 4. In step 32, the first string 6 and the second string 10 are utilized to generate a third string 8. The third string 8, for example, may be formed by combining or concatenating the first string 6 and the second string 10. This step is important to the creation of the unique authorization key 14. Since the first string 6 is unique to the platform 2 and the second string is unique to the software 4, the resulting third string 8 is specific only to a combination of the platform 2 and the software 4 that are used in creating the third string 8.

[0017] In step 34, the third string 8 may be hashed in order to form a first encryption key 12. In particular, a conventional hashing algorithm may be used to produce a hash value of the third string 8. A person skilled in the art will understand that any one of a plurality of hashing algorithms (e.g., MD2, MD4, MD5, and SHA-1, etc.) may be used for such purpose. A hashing algorithm is part of a hashing function which transforms a set of data (i.e., the third string 8) into another form that is more suitable for computing processes (i.e., the encryption key 12). Hashing of the third string 8 may also provide another level of security because the hashed data cannot be utilized unless it can be hashed in reverse to obtain the original data (i.e., the third string 8).

[0018] In step 36, after the third string 8 is hashed, the resulting first encryption key 12 is encrypted to form an authorization key 14 using one of a plurality of encryption schemes. The first encryption key 12, for example, may be encrypted using the private key of a private/public key pair. The private/public key pair algorithm is similar to a conventional PGP system where the private key is used to encrypt messages (e.g., email) and a public key is used to decrypt the previously encrypted messages. The PGP system may operate in the following manner: a creator of the message possesses one half of the private/public key pair, which is used to encrypt messages and the other half is distributed to parties who need to decrypt the messages sent to them by the creator. In the present invention, the private/public key pair may be used in a substantially similar manner as that in the PGP system: the encryption key 12 is exported to a binary large object ("blob") where it is encrypted using the private key. The blob is a generic sequence of bits that contain one or more fixed-length header structures plus context specific data. This blob may be then stored in the registry 16 as the authorization key 14.

[0019] In step 38, the authorization key 14 is stored in a registry 16 of the platform 2. For example, the authorization key 14 may be in the form of the blob which can be exported to a file and copied to any number of computing devices of the platform 2. As a result, all the computing devices of the platform 2 could be capable of operating software 4 which greatly reduces the difficulties of mass-producing the authorization key 14.

Continue reading about System and method for controlling usage of software on computing devices...
Full patent description for System and method for controlling usage of software on computing devices

Brief Patent Description - Full Patent Description - Patent Application Claims

Click on the above for other options relating to this System and method for controlling usage of software on computing devices patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like System and method for controlling usage of software on computing devices or other areas of interest.
###


Previous Patent Application:
System and method of mobile anti-pharming and improving two factor usage
Next Patent Application:
Biometric based user authentication and data encryption
Industry Class:
Electrical computers and digital processing systems: support

###

FreshPatents.com Support
Thank you for viewing the System and method for controlling usage of software on computing devices patent info.
IP-related news and info


Results in 0.17387 seconds


Other interesting Feshpatents.com categories:
Qualcomm , Schering-Plough , Schlumberger , Seagate , Siemens , Texas Instruments , 174
filepatents (1K)

* Protect your Inventions
* US Patent Office filing
patentexpress PATENT INFO