A method for accessing a resource comprising: receiving, by a ledger, a request, corresponding to a user, to access the resource, wherein the resource is associated with a resource control entity; in response to the request, obtaining user metadata corresponding to the user; sending, to the user, a ledger authentication token, LAT, wherein a credential application uses the LAT to verify that the ledger is a valid ledger; receiving, from the credential application executing on a user device of the user, an encrypted payload comprising a plurality of signature entries, wherein the encrypted payload is encrypted using a payload public key, PPK; decrypting, by the ledger, the encrypted payload using a payload secret key, PSK, to obtain the plurality of signature entries and other user data; obtaining results of a verification by successively verifying each of the plurality of signature entries until a scoring threshold associated with the resource is at least met, wherein the verification comprises a comparison between each of the plurality of signature entries and a signature obtained from the user, corresponding to a factor of authentication associated with each of the plurality of signature entries; transmitting, to the resource control entity, a notification comprising the results of the verification, wherein the resource control entity uses the results of the verification to determine whether to grant the user access to the resource; generating a new PPK-PSK pair comprising a new PPK and a new PSK; encrypting the plurality of signature entries with the new PPK to obtain a new encrypted payload, wherein the new encrypted payload is generated when successively verifying each of the plurality of signature entries; discarding the new PPK; associating the new PSK with the user metadata; and sending the new encrypted payload to the credential application. receiving, by a ledger, a request, corresponding to a user, to access the resource, wherein the resource is associated with a resource control entity; in response to the request, obtaining user metadata corresponding to the user; sending, to the user, a ledger authentication token, LAT, wherein a credential application uses the LAT to verify that the ledger is a valid ledger; receiving, from the credential application executing on a user device of the user, an encrypted payload comprising a plurality of signature entries, wherein the encrypted payload is encrypted using a payload public key, PPK; decrypting, by the ledger, the encrypted payload using a payload secret key, PSK, to obtain the plurality of signature entries and other user data; obtaining results of a verification by successively verifying each of the plurality of signature entries until a scoring threshold associated with the resource is at least met, wherein the verification comprises a comparison between each of the plurality of signature entries and a signature obtained from the user, corresponding to a factor of authentication associated with each of the plurality of signature entries; transmitting, to the resource control entity, a notification comprising the results of the verification, wherein the resource control entity uses the results of the verification to determine whether to grant the user access to the resource; generating a new PPK-PSK pair comprising a new PPK and a new PSK; encrypting the plurality of signature entries with the new PPK to obtain a new encrypted payload, wherein the new encrypted payload is generated when successively verifying each of the plurality of signature entries; discarding the new PPK; associating the new PSK with the user metadata; and sending the new encrypted payload to the credential application.