A method for enhancing security of a communication device when conducting a transaction using a transaction application of the communication device, the method comprising: - a remote system generates at least one session cryptographic key, the remote system binds said session cryptographic key to a specific context defined with a preventing data for unauthorized use and/or access of the session cryptographic key so that any change in the specific context will corrupt the session cryptographic key during an unbinding phase; wherein the binding of said session cryptographic key is based on a reversible obfuscation algorithm applied to the session cryptographic key and the specific context defined with the preventing data, - the remote system sends the generated bound session cryptographic key to the communication device during a provisioning or replenishment phase of the session cryptographic key to the communication device, - during computation of a transaction cryptogram, the transaction application of the communication device: * -determines preventing data for unauthorized use and/or access of the session cryptographic key to unbind the session cryptographic key to the specific context with the determined preventing data; whereas if the determined preventing data is not the expected one, the unbinding session cryptographic key is corrupted, * -computes the transaction cryptogram using the unbound session cryptographic key, wherein the transaction is authorized based on at least whether the computed transaction cryptogram is the expected one and the unbound session cryptographic key is not corrupted. - a remote system generates at least one session cryptographic key, the remote system binds said session cryptographic key to a specific context defined with a preventing data for unauthorized use and/or access of the session cryptographic key so that any change in the specific context will corrupt the session cryptographic key during an unbinding phase; wherein the binding of said session cryptographic key is based on a reversible obfuscation algorithm applied to the session cryptographic key and the specific context defined with the preventing data, - the remote system sends the generated bound session cryptographic key to the communication device during a provisioning or replenishment phase of the session cryptographic key to the communication device, - during computation of a transaction cryptogram, the transaction application of the communication device: * -determines preventing data for unauthorized use and/or access of the session cryptographic key to unbind the session cryptographic key to the specific context with the determined preventing data; whereas if the determined preventing data is not the expected one, the unbinding session cryptographic key is corrupted, * -computes the transaction cryptogram using the unbound session cryptographic key, wherein the transaction is authorized based on at least whether the computed transaction cryptogram is the expected one and the unbound session cryptographic key is not corrupted. * -determines preventing data for unauthorized use and/or access of the session cryptographic key to unbind the session cryptographic key to the specific context with the determined preventing data; whereas if the determined preventing data is not the expected one, the unbinding session cryptographic key is corrupted, * -computes the transaction cryptogram using the unbound session cryptographic key, wherein the transaction is authorized based on at least whether the computed transaction cryptogram is the expected one and the unbound session cryptographic key is not corrupted.