Web application protection
AssigneeJscrambler S.A.
InventorsAntonio Pedro Freitas Fortuna dos Santos, Rui Miguel Silvares Ribeiro, Filipe Manuel Gomes Silva
Life of this patent
Estimating the term…
Abstract
A method and system for generating a protected version of the digital content is disclosed. The method includes obfuscating the digital content to yield a functionally equivalent obfuscated digital content, encrypting the obfuscated digital content using at least one device or non-device parameter, generating a decryption logic to be used for generating a decryption key based upon the at least one device or non-device parameter, and concatenating the encrypted digital content and the decryption logic to generate the protected version of the digital content.
Claims7
A method for generating a protected version of a digital content in a server, wherein the digital content comprises an original source code, the method comprising:
- obfuscating the digital content to yield an obfuscated digital content, wherein the obfuscated digital content comprises a valid executable code that maintains an underlying functionality of the original source code of the digital content;
- installing at least one trap in the obfuscated digital content, wherein the at least one trap comprising at least one device or non-device parameter, the at least one trap being a code requiring verification of the at least one device or non-device parameter when the digital content is executed on a client;
- installing an execution control check in the obfuscated digital content, the execution control check to be conducted every time the digital content is executed on the client;
- encrypting using the at least one device or non-device parameter, the obfuscated digital content with the at least one trap and the execution control check yielding an encrypted digital content, wherein the encrypted digital content can be decrypted using a decryption key, and wherein the decryption key is based on the at least one device or non-device parameter;
- generating a decryption logic configured to generate a decryption key using the at least one device or non-device parameter at the client;
- concatenating the encrypted digital content and the decryption logic to generate the protected version of the digital content;
- sending the protected version of the digital content such that the client is permitted to generate the decryption key using the decryption logic and only the client can execute the obfuscated digital content after a successful decryption of the encrypted digital content;
- and
- receiving a request based on the installed execution control check when the client executes the digital content to determine the client is permitted to execute the digital content.
A server for generating a protected version of a digital content, the server comprising:
- a communication interface configured to receive data from a client over a network;
- and
- at least one hardware processor configured to cause the server to,
- obfuscate the digital content to yield an obfuscated digital content, wherein the obfuscated digital content is a valid executable code that is a functional equivalent of the digital content;
- install at least one trap in the obfuscated digital content, wherein the at least one trap comprises at least one device or non-device parameter, the at least one trap being a code requiring verification of the at least one device or non-device parameter when the digital content is executed on the client;
- install one or more execution control checks in the digital content, the execution control checks to be conducted every time the digital content is executed on the client;
- encrypt the obfuscated digital content with the at least one trap and the one or more execution control checks using the at least one device or non-device parameter to yield an encrypted digital content, wherein the encrypted digital content can be decrypted using a decryption key, and wherein the decryption key is based on the at least one device or non-device parameter;
- generate a decryption logic configured to generate the decryption key at the client using the at least one device or non-device parameter;
- concatenate the decryption logic and the encrypted digital content to generate a protected version of the digital content;
- send the protected version of the digital content such that the client is permitted to generate the decryption key using the decryption logic and only the client can execute the obfuscated digital content after a successful decryption of the encrypted digital content;
- and
- receive a request based on the installed one or more execution control checks when the client executes the digital content to determine the client is permitted to execute the digital content.
A non-transitory computer readable medium having instructions recorded thereon which, when implemented by a processor on a server, causes the server to:
- obfuscate a digital content, wherein an obfuscated digital content is a valid executable code that is a functional equivalent of the digital content;
- install at least one trap in the obfuscated digital content, wherein the at least one trap comprises at least one device or non-device parameter, the at least one trap being a code requiring verification of the at least one device or non-device parameter when the digital content is executed on a client;
- install one or more execution control checks in the digital content, the execution control checks to be conducted every time the digital content is executed on the client;
- encrypt the obfuscated digital content with the at least one trap and the one or more execution control checks using the at least one device or non-device parameter to yield an encrypted digital content, wherein the encrypted digital content can be decrypted using a decryption key, and wherein the decryption key is based on the at least one device or non-device parameter;
- generate a decryption logic configured to generate the decryption key at the client using the at least one device or non-device parameter;
- concatenate the decryption logic and the encrypted digital content to generate a protected version of the digital content;
- send the protected version of the digital content such that the client is permitted to generate the decryption key using the decryption logic and only the client can execute the obfuscated digital content after a successful decryption of the encrypted digital content;
- and
- receive a request based on the installed one or more execution control checks when the client executes the digital content to determine the client is permitted to execute the digital content.
Dependencies are inferred from the claim text.