| CPC H04L 9/0825 (2013.01) [H04L 9/0643 (2013.01); H04L 9/085 (2013.01); H04L 9/0869 (2013.01)] | 20 Claims |

|
1. A method of permitting one or more features on a computer program, the computer program executing on a hardware with a hardware identifier, the method comprising:
at an authentication server:
receiving an authentication key, wherein the authentication key indicates authorised features of the computer program,
generating a server key based on the hardware identifier, a server secret and a feature list, and
comparing the authentication key with the server key;
at an authentication client:
receiving a feature request comprising one or more features to be permitted on the computer program,
generating a feature verification message based on the one or more features, and
transmitting the feature verification message to the authentication server;
at the authentication server:
receiving the feature verification message,
verifying that the one or more features are within the feature list,
generating a response key based on a client secret if the one more or more features are within the feature list and the authentication key matches the server key, and
transmitting the response key to the authentication client; and
at the authentication client:
receiving the response key,
verifying the response key using the client secret, and
permitting the one or more features on the computer program.
|