A method of identity authentication at a user for proving to a certificate authority that a key is owned by the user , the method comprising,: selecting (S101, S201, S301) a certain number of keys from a set of keys of the user ; obtaining (S102, S202, S302) a hash value of a correspondence between each key in the certain number of keys and a user identifier of the user respectively, and transmitting the obtained hash values to the certificate authority ; and after receiving from the certificate authority a notification regarding a first subset of hash values, sending keys corresponding to the first subset of hash values as a first subset of keys to the certificate authority , wherein the first subset of hash values is selected by the certificate authority from the obtained hash values; selecting (S201, S301) a first key from the set of keys except the certain number of keys; obtaining (S202, S302) a hash value of a correspondence between the first key and the user identifier, and obtaining a hash value of a combination respectively, the combination comprising the obtained hash value in relation to the first key, the user identifier and all keys from the certain number of keys except the first subset of keys; recording (S203, S303) the obtained the hash value of the combination and the hash value in relation to the first key on a public medium , wherein the public medium is configured to ensure information published thereon not being tampered with; and releasing (S204, S304) all keys in the certain number of keys except the first subset of keys after the certificate authority signs all the hash values received from the user except the first subset of hash values and after the hash value of the combination and the hash value in relation to the first key are recorded on the public medium . selecting (S101, S201, S301) a certain number of keys from a set of keys of the user ; obtaining (S102, S202, S302) a hash value of a correspondence between each key in the certain number of keys and a user identifier of the user respectively, and transmitting the obtained hash values to the certificate authority ; and after receiving from the certificate authority a notification regarding a first subset of hash values, sending keys corresponding to the first subset of hash values as a first subset of keys to the certificate authority , wherein the first subset of hash values is selected by the certificate authority from the obtained hash values; selecting (S201, S301) a first key from the set of keys except the certain number of keys; obtaining (S202, S302) a hash value of a correspondence between the first key and the user identifier, and obtaining a hash value of a combination respectively, the combination comprising the obtained hash value in relation to the first key, the user identifier and all keys from the certain number of keys except the first subset of keys; recording (S203, S303) the obtained the hash value of the combination and the hash value in relation to the first key on a public medium , wherein the public medium is configured to ensure information published thereon not being tampered with; and releasing (S204, S304) all keys in the certain number of keys except the first subset of keys after the certificate authority signs all the hash values received from the user except the first subset of hash values and after the hash value of the combination and the hash value in relation to the first key are recorded on the public medium . <EOS>