Method and system for data security and verification
A method includes transmitting a first encrypted data contract and an encrypted token to a data consumer computer, which decrypts the first encrypted data contract with a private key to obtain a data contract, encrypts the data contract with a public key to create a second encrypted data contract, and transmits it and the encrypted token to the data producer computer. The data producer computer decrypts the second encrypted data contract and with the private key, decrypts the encrypted token with the private key, encrypts the token and the data contract with the public key of the data exchange computer to form a third encrypted data contract, and transmits them to the data exchange computer. The data exchange computer decrypts the third encrypted data contract and the encrypted token. It verifies the token and facilitates an action of the data contract.
1 . A method comprising:
transmitting, by a data exchange computer via an API (application programming interface), a first encrypted data contract and one or more encrypted tokens to a data consumer computer;
decrypting, by the data consumer computer, the first encrypted data contract with a private key of the data consumer computer to obtain a data contract;
encrypting, by the data consumer computer, the data contract with a public key of a data producer computer to create a second encrypted data contract;
transmitting, by the data consumer computer, the second encrypted data contract and the encrypted one or more tokens to the data producer computer;
after receiving the second encrypted data contract and the encrypted one or more tokens, initiating providing data mentioned in the data contract by the data producer computer to the data consumer computer;
decrypting, by the data producer computer, the second encrypted data contract with the private key of the data producer computer to obtain the data contract;
decrypting, by the data producer computer, decrypts the encrypted one or more tokens with the private key of the data producer computer to obtain one or more tokens; encrypting, by the data producer computer, the one or more tokens;
encrypting, by the data producer computer, the data contract with the public key of the data exchange computer to form a third encrypted data contract;
transmitting, by the data producer computer, the encrypted one or more tokens and the third encrypted data contract to the data exchange computer;
receiving, by the data exchange computer, the encrypted one or more tokens and the third encrypted data contract;
decrypting, by the data exchange computer, the third encrypted data contract and the encrypted one or more tokens with the private key of the data exchange computer;
verifying, by the data exchange computer, the one or more tokens; and
facilitating, by the data exchange computer, an action of the data contract.
2 . The method of claim 1 , further comprising:
creating, by the data exchange computer, the data contract between a data consumer operating the data consumer computer and a data producer operating the data producer computer;
creating, by the data exchange computer, the one or more tokens corresponding to the data contract;
encrypting, by the data exchange computer, the one of more tokens corresponding to the data contract using the public key of the data producer computer to form the one or more encrypted tokens; and
encrypting, by the data exchange computer, the data contract using the public key of the data consumer computer to form the first encrypted data contract.
3 . The method of claim 1 , wherein the data contract specifies terms associated with the delivery of data from the data producer computer to the data consumer computer.
4 . The method of claim 1 , wherein the data producer computer delivers the data to the data consumer computer according to the data contract.
5 . The method of claim 1 , wherein facilitating the action of the data contract comprises providing, by the data exchange computer, a settlement report to the data consumer computer and the data producer computer.
6 . The method of claim 1 , wherein the data producer computer delivers data to the data consumer computer according to the data contract, wherein the data producer computer obtains the data from IoT sensors.
7 . The method of claim 1 , wherein verifying the one or more tokens comprises comparing the one or more tokens received from the data producer computer to the one or more tokens sent by the data exchange computer to the data consumer computer.
8 . The method of claim 1 , wherein the data producer computer delivers data to the data consumer computer according to the data contract, wherein the data producer computer obtains the data from IoT sensors, and wherein the IoT sensors comprises environmental sensors comprising one or more of road sensors, weather sensors, or temperature sensors.
9 . The method of claim 1 , wherein the data contract comprises a plurality of standardized data fields.
10 . The method of claim 1 , wherein the data exchange computer, the data consumer computer, and the data producer computer are in communication with each other using a public computer network.
11 . A data exchange system comprising:
a data exchange computer comprising
a first processor and
a first non-transitory computer readable medium, the first non-transitory computer readable medium comprising first code, executable by the first processor for performing first operations comprising,
transmitting, via an API (application programming interface), a first encrypted data contract and one or more encrypted tokens to a data consumer computer;
the data consumer computer comprising a second processor and a second non-transitory computer readable medium comprising second code, executable by the second processor for performing second operations comprising,
decrypting the first encrypted data contract with a private key of the data consumer computer to obtain a data contract, encrypting the data contract with a public key of a data producer computer to create a second encrypted data contract, and transmitting the second encrypted data contract and the encrypted one or more tokens to the data producer computer; and
the data producer computer, the data producer computer comprising a third processor and a third non-transitory computer readable medium, the third non-transitory computer readable medium comprising third code, executable by the third processor for performing third operations comprising providing data mentioned in the data contract to the data consumer computer, decrypting the second encrypted data contract with the private key of the data producer computer to obtain the data contract, decrypting the encrypted one or more tokens with the private key of the data producer computer to obtain one or more tokens, encrypting the one or more tokens and encrypting the data contract with the public key of the data exchange computer to form a third encrypted data contract, and transmitting the encrypted one or more tokens and the third encrypted data contract to the data exchange computer,
wherein the first operations further comprise
receiving the encrypted one or more tokens and the third encrypted data contract,
decrypting the third encrypted data contract and the encrypted one or more tokens with the private key of the data exchange computer,
verifying the one or more tokens, and
facilitating an action of the data contract.
12 . The data exchange system of claim 11 , wherein the one or more tokens comprises one or more digital signatures by the data exchange computer.
13 . The data exchange system of claim 11 , wherein the data contract specifies terms associated with the delivery of data from the data producer computer to the data consumer computer.
14 . The data exchange system of claim 11 , further comprising one or more sensors, wherein the third operations further comprise delivering data to the data consumer computer according to the data contract, and obtaining the data from IoT sensors.
15 . The data exchange system of claim 14 , wherein the IoT sensors comprises environmental sensors comprising one or more of road sensors, weather sensors, or temperature sensors.
16 . The data exchange system of claim 11 , wherein the data producer computer stores the private key of the data producer computer.
17 . The data exchange system of claim 11 , wherein the data consumer computer stores the private key of the data consumer computer.
18 . The method of claim 1 , wherein the data contract comprises a contract identifier, a contract expiration date, a description of a type of data to be delivered to the data consumer computer, and a contract price.
19 . The method of claim 1 , wherein the action comprises sending a settlement report from the data exchange computer to the data consumer computer.
20 . The method of claim 1 , wherein the action comprises facilitating payment between parties to the data contract.