A method for accessing a private key, comprising: - a) storing, by a first device, the private key and an associated public key; - b) generating, by the first device, an access token; - c) sending, by the first device, to a second device, the access token; - d) sending, by the second device, to a first server, an address relating to a decentralized identifier and the access token; - e) sending, by the first server, to a ledger, a request for getting a decentralized identifier along with the decentralized identifier address; - f) sending, by the ledger, to the first server, the decentralized identifier, the decentralized identifier including the public key; - g) generating, by the first server, a challenge; - h) encrypting, by the first server, the challenge using the public key; - i) sending, by the first server, through a second server, to the first device, the encrypted challenge and the access token, an address relating to the second server being identified by using the decentralized identifier; - j) verifying, by the first device, whether the received access token is or is not the generated access token; - k) decrypting, by the first device, only if the received access token is the generated access token, the encrypted challenge using the private key; - l) sending, by the first device, directly or through the second server, to the first server, the challenge; - m) verifying, by the first server, whether the received challenge is or is not the generated challenge; and - n) attesting, by the first server, only if the received challenge is the generated challenge, that the decentralized identifier includes data that belongs to a user or an entity. - a) storing, by a first device, the private key and an associated public key; - b) generating, by the first device, an access token; - c) sending, by the first device, to a second device, the access token; - d) sending, by the second device, to a first server, an address relating to a decentralized identifier and the access token; - e) sending, by the first server, to a ledger, a request for getting a decentralized identifier along with the decentralized identifier address; - f) sending, by the ledger, to the first server, the decentralized identifier, the decentralized identifier including the public key; - g) generating, by the first server, a challenge; - h) encrypting, by the first server, the challenge using the public key; - i) sending, by the first server, through a second server, to the first device, the encrypted challenge and the access token, an address relating to the second server being identified by using the decentralized identifier; - j) verifying, by the first device, whether the received access token is or is not the generated access token; - k) decrypting, by the first device, only if the received access token is the generated access token, the encrypted challenge using the private key; - l) sending, by the first device, directly or through the second server, to the first server, the challenge; - m) verifying, by the first server, whether the received challenge is or is not the generated challenge; and - n) attesting, by the first server, only if the received challenge is the generated challenge, that the decentralized identifier includes data that belongs to a user or an entity.