IP Library Granted Patent US 10,348,693
Granted Patent B2
US 10,348,693 · App. 12/832,433 · Granted Jul 9, 2019

Trustworthy extensible markup language for trustworthy computing and data services

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,348,693
App. No.
12/832,433
Granted
Jul 9, 2019
Kind
B2
Abstract

A digital escrow pattern for data services can include selective access for obscured data at a remote site or in a cloud service, distributing trust across multiple entities to avoid a single point of data compromise. Based on the pattern, a “trustworthy envelope” for any kind of payload enables curtained access through a variety of decorations or seals placed on the envelope that allow for a gamut of trust ranging with guarantees such as, but not limited to, confidentiality, privacy, anonymity, tamper detection, integrity, etc. For instance, XML tags can be applied or augmented to create trust envelopes for structured XML data. Some examples of mathematical transformations or ‘decorations’ that can be applied to the XML data include, but are not limited to, size-preserving encryption, searchable-encryption, or Proof(s) of Application, blind fingerprints, Proof(s) of Retrievability, etc.

Claims (61)

1. A method for hosting extensible markup language (XML) data, comprising:

receiving, by at least one computing device in a first region of control from at least one computing device in a second region of control, at least partially encrypted XML data, the at least partially encrypted XML data including encrypted XML payload data and separately encrypted XML metadata, the at least partially encrypted XML data formed from at least partial encrypting a defined XML data set according to at least one searchable encryption algorithm based on access information, the forming of the at least partially encrypted XML data also includes a copying of the XML metadata from the defined XML data set before the at least partial encrypting of the defined XML data set;

receiving a request for data defining at least one capability based on the access information defining at least one privilege for accessing at least some of the encrypted XML payload data, the encrypted XML metadata defining at least one of authentication information or authorization information for the at least partially encrypted XML data;

in response to the request for the data defining the at least one capability, transmitting the data defining the at least one capability to a recipient computing device; and

validating receipt of the data defining the at least one capability by the recipient computing device.

2. The method of claim 1 , wherein the access information includes cryptographic key information.

3. The method of claim 1 , wherein the receiving of the request for data includes:

receiving a request for trapdoor data that includes at least one cryptographic trapdoor for selectively accessing at least one of the encrypted XML payload data or encrypted XML metadata.

4. The method of claim 1 , wherein the receiving of the request for data includes:

receiving a request for at least one data item from the defined XML data set;

receiving at least one trapdoor for extracting the at least one data item from the at least partially encrypted XML data; and

if the at least one trapdoor is valid extracting and transmitting the at least one data item from the at least partially encrypted XML data.

5. The method of claim 1 , wherein the receiving of the at least partially encrypted XML data includes:

receiving auxiliary metadata encrypted based on cryptographic key information, the auxiliary metadata formed from an analysis of at least one of the encrypted XML payload data or the encrypted XML metadata.

6. The method of claim 1 , wherein the XML metadata was encrypted in a manner that generated encrypted indices.

7. A computer readable medium having computer-executable instructions, which when executed perform actions, comprising:

receiving, by at least one computing device in a first region of control from at least one computing device in a second region of control, at least partially encrypted XML data, the at least partially encrypted XML data including encrypted XML payload data and separately encrypted XML metadata, the at least partially encrypted XML data formed from at least partial encrypting a defined XML data set according to at least one searchable encryption algorithm based on access information, the forming of the at least partially encrypted XML data also includes a copying of the XML metadata from the defined XML data set before the at least partial encrypting of the defined XML data set;

receiving a request for data defining at least one capability based on the access information defining at least one privilege for accessing at least some of the encrypted XML payload data, the encrypted XML metadata defining at least one of authentication information or authorization information for the at least partially encrypted XML data;

in response to the request for the data defining the at least one capability, transmitting the data defining the at least one capability to a recipient computing device; and

validating receipt of the data defining the at least one capability by the recipient computing device.

8. The computer readable medium of claim 7 , wherein the access information includes cryptographic key information.

9. The computer readable medium of claim 7 , wherein the receiving of the request for data includes:

receiving a request for trapdoor data that includes at least one cryptographic trapdoor for selectively accessing at least one of the encrypted XML payload data or encrypted XML metadata.

10. The computer readable medium of claim 7 , wherein the receiving of the request for data includes:

receiving a request for at least one data item from the defined XML data set;

receiving at least one trapdoor for extracting the at least one data item from the at least partially encrypted XML data; and

if the at least one trapdoor is valid extracting and transmitting the at least one data item from the at least partially encrypted XML data.

11. The computer readable medium of claim 7 , wherein the receiving of the at least partially encrypted XML data includes:

receiving auxiliary metadata encrypted based on cryptographic key information, the auxiliary metadata formed from an analysis of at least one of the encrypted XML payload data or the encrypted XML metadata.

12. The computer readable medium of claim 7 , wherein the XML metadata was encrypted in a manner that generated encrypted indices.

13. A method for hosting data, comprising:

receiving, by at least one computing device in a first region of control from at least one computing device in a second region of control, at least partially encrypted data, the at least partially encrypted data including encrypted payload data and separately encrypted metadata, the at least partially encrypted data formed from at least partial encrypting a defined data set according to at least one searchable encryption algorithm based on access information, the forming of the at least partially encrypted data also includes a copying of the metadata from the defined data set before the at least partial encrypting of the defined data set;

receiving a request for data defining at least one capability based on the access information defining at least one privilege for accessing at least some of the encrypted payload data, the encrypted metadata defining at least one of authentication information or authorization information for the at least partially encrypted data;

in response to the request for the data defining the at least one capability, transmitting the data defining the at least one capability to a recipient computing device; and

validating receipt of the data defining the at least one capability by the recipient computing device.

14. The method of claim 13 , wherein the access information includes cryptographic key information.

15. The method of claim 13 , wherein the receiving of the request for data includes:

receiving a request for trapdoor data that includes at least one cryptographic trapdoor for selectively accessing at least one of the encrypted payload data or encrypted metadata.

16. The method of claim 13 , wherein the receiving of the at least partially encrypted data includes:

receiving auxiliary metadata encrypted based on cryptographic key information, the auxiliary metadata formed from an analysis of at least one of the encrypted payload data or the encrypted metadata.

17. The method of claim 13 , wherein the receiving of the request for data includes:

receiving a request for at least one data item from the defined data set;

receiving at least one trapdoor for extracting the at least one data item from the at least partially encrypted data; and

if the at least one trapdoor is valid extracting and transmitting the at least one data item from the at least partially encrypted data.

18. The method of claim 13 , wherein the metadata was encrypted in a manner that generated encrypted indices.

19. A computing device, comprising:

at least one memory, and at least one processor, wherein the at least one memory and the at least one processor are respectively configured to store and execute instructions for causing the computing device to:

receive from at least one computing device in a second region of control, at least partially encrypted data, the at least partially encrypted data including encrypted payload data and separately encrypted metadata, the at least partially encrypted data formed from at least partial encrypting a defined data set according to at least one searchable encryption algorithm based on access information, the forming of the at least partially encrypted data also includes a copying of the metadata from the defined data set before the at least partial encrypting of the defined data set; and

receive a request for data defining at least one capability based on the access information defining at least one privilege for accessing at least some of the encrypted payload data, the encrypted metadata defining at least one of authentication information or authorization information for the at least partially encrypted data;

in response to the request for the data defining the at least one capability, transmit the data defining the at least one capability to a recipient computing device; and

validate receipt of the data defining the at least one capability by the recipient computing device.

20. The computing device of claim 19 , wherein the access information includes cryptographic key information.

21. The computing device of claim 19 , wherein causing the computing device to receive the request for data includes:

receiving a request for trapdoor data that includes at least one cryptographic trapdoor for selectively accessing at least one of the encrypted payload data or encrypted metadata.

22. The computing device of claim 19 , wherein causing the computing device to receive the at least partially encrypted data includes:

receiving auxiliary metadata encrypted based on cryptographic key information, the auxiliary metadata formed from an analysis of at least one of the encrypted payload data or the encrypted metadata.

23. The computing device of claim 19 , wherein causing the computing device to receivethe request for data includes:

receiving a request for at least one data item from the defined data set;

receiving at least one trapdoor for extracting the at least one data item from the at least partially encrypted data; and

if the at least one trapdoor is valid extracting and transmitting the at least one data item from the at least partially encrypted data.

24. The computing device of claim 19 , wherein the metadata was encrypted in a manner that generated encrypted indices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2010
From: AURADKAR, RAHUL V.; D'SOUZA, ROY PETER; CANNON, DARRELL J.; KRISHNAN, VENKATESH
To: MICROSOFT CORPORATION
Reel/Frame 024653/0292 →
Cited By (3)
US 12,579,292 US 12,682,350 US 12,687,967