Software protection
OwnerJohn Aram Safainventor
Life of this patent
Estimating the term…
Abstract
Software on a wireless device is protected by an arrangement in which an identifier is derived from the hardware of the device on which the software is to be run. The identifier is sent to a server which derives a derived identifier by applying a function g to the identifier. The derived identifier is returned to the device which executes a function h. Function h is the inverse of function g. Comparison with the original identifier thus confirms that operation of the software is authorised. In the event that it is not, the server does not send back a derived identifier.
Claims40
A software protection arrangement for protecting software to be run on a wireless device operable for communication over a wireless network, the arrangement including:
- identifying means operable to create an identifier which characterises the device on which the protected software is to be run;
- authorisation means operable to receive an identifier created by the identifying means to execute a predetermined function on a received identifier to form a derived identifier, execution of the predetermined function being conditional upon verification of a condition required for authorisation of the use of the software;
- and the arrangement further comprising enabling means operable to enable execution of the protected software only when in receipt of an enabling identifier from the authorisation means, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the protected software is to be run.
An arrangement for use in protecting software to be run on a wireless device operable for communication over a wireless network, the arrangement including:
- identifying means operable to create an identifier which characterises the device on which the protected software is to be run;
- enabling means operable to receive a derived identifier derived by authorisation means from the identifier created by the identifying means, and the enabling means being further operable to enable execution of the software only when in receipt of an enabling identifier, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the software is to be run.
An arrangement for use in protection of software to be run on a wireless device operable for communication over a wireless network, the arrangement including:
- authorisation means operable to receive an identifier characterising a device on which protected software is to be run, and the authorisation means being operable to execute a predetermined function on a received identifier to form a derived identifier, execution of the predetermined function being conditional upon verification of a condition required for authorisation of the use of the software;
- and to provide the derived identifier to allow enabling means to enable execution of the software only when in receipt of an enabling identifier which is a derived identifier derived from the identifier of the device on which the software is to be run.
Computer software which, when installed on one or more devices, is operable to provide a software protection arrangement for protecting software to be run on a wireless device operable for communication over a wireless network, the arrangement including:
- identifying means operable to create an identifier which characterizes the device on which the protected software is to be run;
- authorisation means operable to receive an identifier created by the identifying means to execute a predetermined function on a received identifier to form a derived identifier, execution of the predetermined function being conditional upon verification of a condition required for authorisation of the use of the software;
- and the arrangement further comprising enabling means operable to enable execution of the protected software only when in receipt of an enabling identifier from the authorisation means, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the protected software is to be run.
Computer software which, when installed on one or more devices, is operable to provide a software protection arrangement including:
- identifying means operable to create an identifier which characterizes the device on which the protected software is to be run;
- enabling means operable to receive a derived identifier derived by authorisation means from the identifier created by the identifying means, and the enabling means being further operable to enable execution of the software only when in receipt of an enabling identifier, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the software is to be run.
A carrier medium for software which, when installed on one or more devices, is operable to provide a software protection arrangement for protecting software to be run on a wireless device operable for communication over a wireless network, the arrangement including:
- identifying means operable to create an identifier which characterizes the device on which the protected software is to be run;
- authorisation means operable to receive an identifier created by the identifying means to execute a predetermined function on a received identifier to form a derived identifier, execution of the predetermined function being conditional upon verification of a condition required for authorisation of the use of the software;
- and the arrangement further comprising enabling means operable to enable execution of the protected software only when in receipt of an enabling identifier from the authorisation means, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the protected software is to be run.
A carrier medium for software which, when installed on one or more devices, is operable to provide a software protection arrangement including:
- identifying means operable to create an identifier which characterizes the device on which the protected software is to be run;
- enabling means operable to receive a derived identifier derived by authorisation means from the identifier created by the identifying means, and the enabling means being further operable to enable execution of the software only when in receipt of an enabling identifier, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the software is to be run.
A signal propagating on a transmission medium and carrying software which, when installed on one or more devices, is operable to provide a software protection arrangement for protecting software to be run on a wireless device operable for communication over a wireless network, the arrangement including:
- identifying means operable to create an identifier which characterizes the device on which the protected software is to be run;
- authorisation means operable to receive an identifier created by the identifying means to execute a predetermined function on a received identifier to form a derived identifier, execution of the predetermined function being conditional upon verification of a condition required for authorisation of the use of the software;
- and the arrangement further comprising enabling means operable to enable execution of the protected software only when in receipt of an enabling identifier from the authorisation means, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the protected software is to be run.
A signal propagating on a transmission medium and carrying software which, when installed on one or more devices, is operable to provide a software protection arrangement including:
- identifying means operable to create an identifier which characterizes the device on which the protected software is to be run;
- enabling means operable to receive a derived identifier derived by authorisation means from the identifier created by the identifying means, and the enabling means being further operable to enable execution of the software only when in receipt of an enabling identifier, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the software is to be run.
A signal propagating on a transmission medium and carrying an identifier or derived identifier of a software protection arrangement for protecting software to be run on a wireless device operable for communication over a wireless network, the arrangement including:
- identifying means operable to create an identifier which characterizes the device on which the protected software is to be run;
- authorisation means operable to receive an identifier created by the identifying means to execute a predetermined function on a received identifier to form a derived identifier, execution of the predetermined function being conditional upon verification of a condition required for authorisation of the use of the software;
- and the arrangement further comprising enabling means operable to enable execution of the protected software only when in receipt of an enabling identifier from the authorisation means, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the protected software is to be run.
A method of protecting software to be run on a wireless device operable for communication over a wireless network, including the steps of:
- creating an identifier which characterizes the device on which the protected software is to be run;
- receiving an identifier and executing a predetermined function on a received identifier to form a derived identifier, execution of the predetermined function being conditional upon verification of a condition required for authorisation of the use of the software;
- and enabling execution of the protected software only in response to an enabling identifier, the derived identifier serving as an enabling identifier in the event that the derived identifier has been derived by the predetermined function from the identifier of the device on which the protected software is to be run.
Dependencies are inferred from the claim text.