System and method for software protection and secure software distribution
First Claim
1. A secure software distribution and execution system, comprising:
- a server into which a received software application from a service provider is stored;
a client machine connectable to the server;
the server having an application generator interface that codes the received software application, identifies sections of code for encryption, inserts calls in the received software application at appropriate places before being downloaded to the client machine by the server, builds an application and placing one or more binaries in the server;
the server having an ID reader that reads an identity data of the client machine;
the server having an algorithm generator that generates an algorithm for encryption, and decryption and a decryption key based on received identity data of the client machine in the server;
the server having an encryptor that encrypts the identified sections of the received software application using the generated encryption algorithm in the server;
the server having an application downloader that downloads the encrypted sections of the received software application along with the generated decryption key and the decryption algorithm to a driver of the client; and
wherein the application generator interface is configured to send the encrypted section to the driver of the client machine so that the driver of the client machine decrypts the encrypted section using the decryption key and the decryption algorithm to enable the continuous execution of the downloaded software.
1 Assignment
0 Petitions
Accused Products
Abstract
The various embodiments of the present invention provide a secure software distribution and execution method. According to the method, a server receives software from service provider for downloading to a client and identifies the sections for encoding. APIs are inserted in the identified sections. A unique ID is created based on the identity of the each client to generate an encryption algorithm, decryption key and decryption algorithm. The identified sections are encrypted with the generated encryption algorithm. The encrypted application along with encryption algorithm, decryption key and decryption algorithm are downloaded to the driver of the client machine. The API makes call to the driver by sending the encrypted segment when the encrypted portion is reached during the execution of software in the client machine so that the driver decrypts the encoded portion using the received key and the decryption algorithm to enable the continuous execution of the downloaded software.
-
Citations
5 Claims
-
1. A secure software distribution and execution system, comprising:
-
a server into which a received software application from a service provider is stored; a client machine connectable to the server; the server having an application generator interface that codes the received software application, identifies sections of code for encryption, inserts calls in the received software application at appropriate places before being downloaded to the client machine by the server, builds an application and placing one or more binaries in the server; the server having an ID reader that reads an identity data of the client machine; the server having an algorithm generator that generates an algorithm for encryption, and decryption and a decryption key based on received identity data of the client machine in the server; the server having an encryptor that encrypts the identified sections of the received software application using the generated encryption algorithm in the server; the server having an application downloader that downloads the encrypted sections of the received software application along with the generated decryption key and the decryption algorithm to a driver of the client; and wherein the application generator interface is configured to send the encrypted section to the driver of the client machine so that the driver of the client machine decrypts the encrypted section using the decryption key and the decryption algorithm to enable the continuous execution of the downloaded software.
-
-
2. A secure software distribution and execution system, comprising:
-
a server into which a received software application from a service provider is stored; a client machine connectable to the server; the server having an application generator interface that codes the received software application, identifies sections of code for encryption, inserts calls in the received software application at appropriate places before being downloaded to the client machine by the server, builds an application and placing one or more binaries in the server; the server having an ID reader that reads an identity data of the client machine; the server having an algorithm generator that generates an algorithm for encryption, and decryption and a decryption key based on received identity data of the client machine in the server; the server having an encryptor that encrypts the identified sections of the received software application using the generated encryption algorithm in the server; the server having an application downloader that downloads the encrypted sections of the received software application along with the generated decryption key and the decryption algorithm to a driver of the client machine; and wherein the identity data includes the serial number of the client machine, serial number of the hard disc used in the client machine, biometric data and other identity related information provided by the client.
-
-
3. A secure software distribution and execution system, comprising:
-
a server into which a received software application from a service provider is stored; a client machine connectable to the server; the server having an application generator interface that codes the received software application, identifies sections of code for encryption, inserts calls in the received software application at appropriate places before being downloaded to the client machine by the server, builds an application and placing one or more binaries in the server; the server having an ID reader that reads an identity data of the client machine; the server having an algorithm generator that generates an algorithm for encryption, and decryption and a decryption key based on received identity data of the client machine in the server; the server having an encryptor that encrypts the identified sections of the received software application using the generated encryption algorithm in the server; the server having an application downloader that downloads the encrypted sections of the received software application along with the generated decryption key and the decryption algorithm to a driver of the client machine; and wherein the server assigns weighting factors to each of the identity data read from the client machine so that the client machine is authenticated to decode the encrypted section, even when the identification component is changed in the client machine. - View Dependent Claims (4, 5)
-
Specification