Network node authentication
An authentication technique is disclosed that uses a distributed secure listing of transactions that includes encrypted data that can be used to authenticate a principal to a verifier.
1. A method, comprising:
receiving, by a computing device of a verifier, a signed version of a token, a public electronic address corresponding to a computing device of a principal, and a crypto-variable;
successfully validating, by the verifier computing device, that a key of the principal was used to sign the signed version of the token;
in response to the successful validation that the key of the principal was used to sign the signed version of the token, determining, by the verifier computing device, that a non-expired transaction in a digital distributed secure ledger corresponds to an address of a validating organization and a ledger identifier of the principal, wherein the non-expired transaction in the digital distributed secure ledger comprises an obfuscated attribute comprising one or more of an encrypted version of a unique identifier of the principal computing device and a unique identity of the principal; and
verifying, by the verifier computing device, that the obfuscated attribute was derived from the crypto-variable in order to verify the unique identity of the principal.
2. The method of claim 1 , further comprising: sending, by the verifier computing device to the principal computing device, the token and one or more keys, each of the one or more keys corresponding to a part of the unique identity of the principal.
3. The method of claim 2 , wherein, in the receiving, the verifier computing device further receives from the principal computing device, one or more attributes of or associated with the principal.
4. The method of claim 3 , wherein the crypto-variable is a salt used to enrich a salted hash function and wherein the salt enriched salted hash function generates the obfuscated attribute of the unique identity of the principal.
5. The method of claim 1 , further comprising: sending, to the principal computing device, an attribute request and a blockchain address verification address comprising an unsigned version of the token, a set of attributes comprising a set of keys to be validated, each corresponding to a part of the unique identity of the principal and wherein the receiving is in response to sending the attribute request and a blockchain address verification address.
6. The method of claim 5 , wherein, in the receiving, the computing device of a verifier further receives a list of attribute values corresponding to the set of keys.
7. The method of claim 1 , wherein the signed version of the token is signed with a public address and a private key of the principal.
8. The method of claim 1 , wherein a set of keys and values corresponding to the set of keys are hashed and wherein the crypto-variable comprises one or more secret salts used for hashing the set of keys and values corresponding to the set of keys.
9. The method of claim 8 , wherein in the verifying, the verifier computing device verifies hashes of the one or more secret salts and values corresponding to the set of keys and applies the following rules: when the verification is successful, the unique identity of the principal is authentic and, when the verification fails, the unique identity of the principal is not authentic.
10. A system, comprising:
an arithmetic/logic unit (“ALU”) to perform one or more mathematical operations and compare selected variables;
a register to hold a value from a comparison of selected variables performed by the ALU;
an instruction decoder to provide read and write commands to memory;
an address bus to provide a location address to memory for a read or write operation; and
a data bus to provide or access data for a write or read operation to or from memory, wherein:
as a part of a transaction, the system:
receives a signed version of a token, a public electronic address of a computing device of a principal, and a crypto-variable;
successfully validates, by the ALU comparing, using the register, the received signed version of the token with a version of the token generated by the ALU using a key of the principal, that a key of the principal was used to sign the signed version of the token;
in response to the successful validation that the key of the principal was used to sign the signed version of the token, determines that a non-expired transaction in a digital distributed secure ledger corresponds to an address of a validating organization and a ledger identifier of the principal, wherein the non-expired transaction in the digital distributed secure ledger comprises an obfuscated attribute comprising one or more of an encrypted version of a unique identifier of the principal computing device and a unique identity of the principal; and
verifies that the obfuscated attribute was derived from the crypto-variable in order to verify the unique identity of the principal.
11. The system of claim 10 , wherein the system sends, to the principal computing device, the token and one or more keys, each of the one or more keys corresponding to a part of the unique identity of the principal.
12. The system of claim 11 , wherein the system further receives from the principal computing device, one or more attributes of or associated with the principal.
13. The system of claim 12 , wherein the crypto-variable is a salt used to enrich a salted hash function and wherein the salt enriched salted hash function generated the obfuscated unique identity of the principal.
14. The method of claim 1 , wherein, in response to successful completion of the verifying, an information provider provides restricted information to the verifier computing device.
15. The system of claim 10 , wherein, in response to successful completion of the verifying, an information provider provides restricted information to a verifier computing device.
16. The system of claim 10 , wherein the system further sends, to the principal computing device, an attribute request and a blockchain address verification address comprising an unsigned version of the token, a set of attributes comprising a set of keys to be validated, each corresponding to a part of the unique identity of the principal and wherein the receipt of the signed version of the token is in response to sending the attribute request and a blockchain address verification address.
17. The system of claim 16 , wherein the system further receives a list of attribute values corresponding to the set of keys.
18. The system of claim 10 , wherein the signed version of the token is signed with a public address and a private key of the principal.
19. The system of claim 10 , wherein a set of keys and values corresponding to the set of keys are hashed and wherein the crypto-variable comprises one or more secret salts used for hashing the set of keys and values corresponding to the set of keys.
20. The system of claim 19 , wherein the system verifies hashes of the one or more secret salts and values corresponding to the set of keys and applies the following rules: when the verification is successful, the unique identity of the principal is authentic and, when the verification fails, the unique identity of the principal is not authentic.