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. <EOS>