A server-implemented method for identifying a device, wherein the method comprises: receiving a device identification request sent from a terminal device, the device identification request comprising a current user identifier of a current user of the terminal device; acquiring a public key in a preset asymmetric key pair to serve as a first public key; sending the first public key and a randomly-generated first random number to the terminal device which are used by the terminal to generate device characteristic information; receiving the device characteristic information sent from the terminal device; and identifying the terminal device based on the current user identifier, the first random number and the device characteristic information, wherein the step of identifying the terminal device based on the current user identifier, the first random number and the device characteristic information comprises: resolving the device characteristic information to obtain a user identifier and a random number; determining whether the user identifier obtained by resolving is identical to the current user identifier and whether the random number obtained by resolving is identical to the first random number; and generating an identification result indicating a failed identification for the device identification request, in response to determining that the user identifier obtained by resolving is different from the current user identifier or the random number obtained by resolving is different from the first random number. receiving a device identification request sent from a terminal device, the device identification request comprising a current user identifier of a current user of the terminal device; acquiring a public key in a preset asymmetric key pair to serve as a first public key; sending the first public key and a randomly-generated first random number to the terminal device which are used by the terminal to generate device characteristic information; receiving the device characteristic information sent from the terminal device; and identifying the terminal device based on the current user identifier, the first random number and the device characteristic information, wherein the step of identifying the terminal device based on the current user identifier, the first random number and the device characteristic information comprises: resolving the device characteristic information to obtain a user identifier and a random number; determining whether the user identifier obtained by resolving is identical to the current user identifier and whether the random number obtained by resolving is identical to the first random number; and generating an identification result indicating a failed identification for the device identification request, in response to determining that the user identifier obtained by resolving is different from the current user identifier or the random number obtained by resolving is different from the first random number. resolving the device characteristic information to obtain a user identifier and a random number; determining whether the user identifier obtained by resolving is identical to the current user identifier and whether the random number obtained by resolving is identical to the first random number; and generating an identification result indicating a failed identification for the device identification request, in response to determining that the user identifier obtained by resolving is different from the current user identifier or the random number obtained by resolving is different from the first random number.