| CPC G06F 16/9558 (2019.01) [H04L 9/50 (2022.05); H04L 63/0428 (2013.01); H04L 63/067 (2013.01); H04L 63/18 (2013.01)] | 18 Claims |

|
1. A method of a consuming party accessing data from a providing party wherein the data is stored in a first transaction on a blockchain in encrypted form requiring an access key to decrypt; the method comprising, by computer equipment of the consuming party:
communicating to the providing party a second transaction for recordal on the blockchain, the second transaction specifying a payment for the data and further including an identifier of the first transaction and a signal indicating a request for the data therefrom, wherein in response the second party broadcasts a third transaction including an encrypted password to be recorded on the blockchain;
inspecting the blockchain to read the encrypted password from the third transaction, wherein the password is encrypted based on a shared secret between the consuming party and the providing party, and the access key is a first predetermined function of the password; and
decrypting the received password based on the shared secret, determining the access key by applying the predetermined function to the decrypted password, and decrypting the data based on the determined access key;
wherein the data is included in the first transaction along with a message authentication code being a second predetermined function of the password, the second predetermined function also being a function of the data; and
the method further comprises computing the message authentication code based on the decrypted data and the determined password, and comparing the computed message authentication code with the message authentication code as included in the first transaction in order to authenticate the data.
|