Data access policies
To verify compliance with a data access policy, a query result including data specified by a requesting entity and a representation of a data access policy is received from a database. Based on the representation of the data access policy included in the query result, it is verified whether the requesting entity is permitted to access the data included in the query result. Transmission of the data included in the query result to the requesting entity is controlled responsive to the verification. Related methods, systems, and computer program products are also discussed.
1. A method, comprising:
comparing, by a server, electronic data to an electronic data access policy identified by a database, comprising:
receiving, by the server, a cryptographic key from a data owner of the electronic data, wherein the cryptographic key comprises a hash function used to generate the electronic data access policy; and
determining, by the server, whether at least a portion of the electronic data complies with the electronic data access policy based on the cryptographic key received from the data owner;
determining, by the server, that an access to the electronic data by a communication device is permissible when the portion of the electronic data complies with the electronic data access policy; and
transmitting, by the server, the portion of the electronic data to the communication device when the access to the electronic data is permissible.
2. The method of claim 1 , further comprising:
determining, by the server, that the portion of the electronic data fails to comply with the electronic data access policy.
3. The method of claim 2 , further comprising:
declining, by the server, the access to the electronic data in response to the portion of the electronic data failing to comply with the electronic data access policy.
4. The method of claim 1 , further comprising:
hashing, by the server, the electronic data using the hash function to generate a hash value representing the electronic data.
5. The method of claim 4 , further comprising:
comparing, by the server, the hash value representing the electronic data to the electronic data access policy.
6. A system, comprising:
a hardware processor of a first communication device; and
a memory device, the memory device storing instructions, the instructions when executed causing the hardware processor to perform operations, the operations comprising:
comparing electronic data to an electronic data access policy, comprising:
receiving a cryptographic key from a data owner of the electronic data, wherein the cryptographic key comprises a hash function used to generate the electronic data access policy; and
determining whether at least a portion of the electronic data complies with the electronic data access policy based on the cryptographic key received from the data owner;
determining that an access to the electronic data by a communication device is permissible when the portion of the electronic data complies with the electronic data access policy; and
transmitting the electronic data to the communication device when the access to the electronic data is permissible.
7. The system of claim 6 , wherein the operations further comprise:
determining that the portion of the electronic data fails to comply with the electronic data access policy.
8. The system of claim 7 , wherein the operations further comprise:
declining the access to the electronic data in response to the portion of the electronic data failing to comply with the electronic data access policy.
9. The system of claim 6 , wherein the operations further comprise:
hashing the electronic data using the hash function to generate a hash value representing the electronic data.
10. The system of claim 9 , wherein the operations further comprise:
comparing the hash value representing the electronic data to the electronic data access policy.
11. A non-transitory memory device storing instructions that when executed cause a hardware processor of a first communication device to perform operations, the operations comprising:
receiving a result of an electronic query, wherein the electronic query is initiated by a second communication device;
comparing electronic data of the result to an electronic data access policy, comprising:
receiving a cryptographic key from a data owner of the electronic data, wherein the cryptographic key comprises a hash function used to generate the electronic data access policy; and
determining whether at least a portion of the electronic data complies with the electronic data access policy based on the cryptographic key received from the data owner;
determining that an access to the electronic data by the second communication device is permissible when the portion of the electronic data complies with the electronic data access policy; and
transmitting the portion of the electronic data to the second communication device when the access to the electronic data by the second communication device is permissible.
12. The non-transitory memory device of claim 11 , wherein the operations further comprise:
determining that the portion of the electronic data fails to comply with the electronic data access policy.
13. The non-transitory memory device of claim 12 , wherein the operations further comprise:
declining the access to the electronic data by the second communication device in response to the portion of the electronic data failing to comply with the electronic data access policy.
14. The non-transitory memory device of claim 12 , wherein the operations further comprise:
comparing the hash value representing the electronic data to the electronic data access policy.
15. The non-transitory memory device of claim 11 , wherein the operations further comprise:
hashing the electronic data using the hash function to generate a hash value representing the electronic data.