A method of establishing a secure communication channel between a mobile handset and a remotely accessible server, the method being carried out at the remotely accessible server and comprising the steps of: deterministically updating a used counter value to yield an updated counter value, the used counter value having been used to generate a previously used symmetric key for encrypting communications between the remotely accessible server and the mobile handset; storing the updated counter value; using the updated counter value to generate a symmetric key; generating a key transfer message including the symmetric key generated using the updated counter value; asymmetrically encrypting the key transfer message using a handset public key associated with the mobile handset; transmitting the key transfer message to the mobile handset such that the mobile handset is capable of using a handset private key corresponding to the handset public key to decrypt the key transfer message and obtain the symmetric key, characterised in that the method further comprises the steps of: decrypting further data received from the mobile handset asymmetrically using a server private key associated with the remotely accessible server and symmetrically using the symmetric key; encrypting further data communicated to the mobile handset symmetrically using the symmetric key and asymmetrically using the handset public key; determining that the previously used symmetric key or a symmetric key used or generated prior to the previously used symmetric key was used to encrypt data received from the mobile handset instead of using the symmetric key generated using the updated counter value; and associating the mobile handset with a potential security threat. deterministically updating a used counter value to yield an updated counter value, the used counter value having been used to generate a previously used symmetric key for encrypting communications between the remotely accessible server and the mobile handset; storing the updated counter value; using the updated counter value to generate a symmetric key; generating a key transfer message including the symmetric key generated using the updated counter value; asymmetrically encrypting the key transfer message using a handset public key associated with the mobile handset; transmitting the key transfer message to the mobile handset such that the mobile handset is capable of using a handset private key corresponding to the handset public key to decrypt the key transfer message and obtain the symmetric key, decrypting further data received from the mobile handset asymmetrically using a server private key associated with the remotely accessible server and symmetrically using the symmetric key; encrypting further data communicated to the mobile handset symmetrically using the symmetric key and asymmetrically using the handset public key; determining that the previously used symmetric key or a symmetric key used or generated prior to the previously used symmetric key was used to encrypt data received from the mobile handset instead of using the symmetric key generated using the updated counter value; and associating the mobile handset with a potential security threat.