IP Library Granted Patent US 8,819,770
Granted Patent B2
US 8,819,770 · App. 13/644,921 · Granted Aug 26, 2014

Data mapping using trust services

Inventors: Michael Entin (Redmond, WA); Dmitry Denisov (Bellevue, WA); Lars Kuhtz (Seattle, WA); Irina Gorbach (Bellevue, WA); Venkatesh Krishnan (Sammamish, WA); Andrey Shur (Redmond, WA)
Assignee: Microsoft Corporation
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 8,819,770
App. No.
13/644,921
Granted
Aug 26, 2014
Kind
B2
Abstract

Embodiments are directed to mapping encryption policies to user data stored in a database using a policy column uniform resource identifier (URI). In one scenario, a computer system receives the following: a database schema name that identifies the name of a specified schema within a relational database in which user data is stored, a table name that identifies a specified table within the relational database, a column name that identifies a specified column in the specified table and a namespace identifier that identifies a set of relational databases. The computer system also receives an indication that identifies which type of encryption is to be applied when encrypting the column of data specified by the column name. The computer system then generates a policy column URI that includes a hierarchical string comprising the namespace identifier, the database schema name, the table name and the column name.

Claims (41)

1. A computer system comprising the following:

one or more processors;

system memory;

one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for mapping encryption policies to user data stored in a database using a policy column uniform resource identifier (URI), the method comprising the following:

an act of receiving the following: a database schema name that identifies the name of a specified schema within a relational database in which at least a portion of a user's data is stored, a table name that identifies a specified table within the relational database, a column name that identifies a specified column in the specified table and a namespace identifier that identifies a set of relational databases where each column identified by the column name has the same semantics for each database in the set;

an act of receiving an indication that identifies which type of encryption is to be applied when encrypting the column of data specified by the column name; and

an act of generating a policy column URI, wherein the policy column URI comprises a hierarchical string comprising the namespace identifier, the database schema name, the table name and the column name.

2. The computer system of claim 1 , wherein the policy column URI identifies a plurality of different columns that are to be encrypted using the indicated type of encryption.

3. The computer system of claim 1 , wherein the policy column URI identifies a plurality of different columns that are to be encrypted using the indicated type of encryption.

4. The computer system of claim 1 , further comprising using the policy column URI to retrieve one or more portions of data.

5. The computer system of claim 1 , wherein the policy column URI is shared between one or more software applications to access encrypted data.

6. The computer system of claim 5 , wherein the policy column URI is reused a plurality of times to access the encrypted data.

7. The computer system of claim 1 , wherein the policy column URI is enforced by a client software application.

8. The computer system of claim 1 , wherein the policy column URI is used to specify one or more portions of a data blob that are to be encrypted.

9. The computer system of claim 8 , wherein the specified portions of the data blob are encrypted automatically based on the policy column URI.

10. The computer system of claim 1 , wherein the database schema name, table name, column name and namespace identifier are received from at least one of a user and a second computer system.

11. The computer system of claim 1 , further comprising an act of creating an alias for policy column URI.

12. The computer system of claim 11 , wherein the alias is used to access the policy column URI.

13. A computer system comprising the following:

one or more processors;

system memory;

one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for mapping encryption policies to user data stored in a database using a policy column uniform resource identifier (URI), the method comprising the following:

an act of receiving the following: a database schema name that identifies the name of a specified schema within a relational database in which at least a portion of a user's data is stored, a table name that identifies a specified table within the relational database, a column name that identifies a specified column in the specified table and a namespace identifier that identifies a set of relational databases where each column identified by the column name has the same semantics for each database in the set;

an act of receiving an indication that identifies which type of encryption is to be applied when encrypting the column of data specified by the column name;

an act of generating a policy column URI, wherein the policy column URI comprises a hierarchical string comprising the namespace identifier, the database schema name, the table name and the column name; and

an act of using the generated policy column URI both to access an encryption policy indicating an encryption type for the encrypted data stored in the table identified by the table name and column identified by the column name, and to access the encrypted data according to the encryption type indicated in the encryption policy.

14. The computer system of claim 13 , wherein the namespace identifier has a specified meaning to the user.

15. The computer system of claim 13 , wherein the namespace identifier is randomly generated.

16. The computer system of claim 13 , wherein the namespace identifier refers to the same data regardless of where the data is located and regardless of whether the data is replicated over multiple physical databases.

17. The computer system of claim 13 , wherein the same namespace identifier applies to a plurality of different policies for the same database.

18. The computer system of claim 13 , further comprising an act of creating an alias for the policy column URI.

19. The computer system of claim 18 , wherein the alias comprises an alternative URI by which the policy is queryable.

20. A computer system comprising the following:

one or more processors;

system memory;

one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for mapping encryption policies to user data stored in a database using a policy column uniform resource identifier (URI), the method comprising the following:

an act of receiving the following: a database schema name that identifies the name of a specified schema within a relational database in which at least a portion of a user's data is stored, a table name that identifies a specified table within the relational database, a column name that identifies a specified column in the specified table and a namespace identifier that identifies a set of relational databases where each column identified by the column name has the same semantics for each database in the set;

an act of receiving an indication that identifies which type of encryption is to be applied when encrypting the column of data specified by the column name;

an act of generating a policy column URI, wherein the policy column URI comprises a hierarchical string comprising the namespace identifier, the database schema name, the table name and the column name;

an act of a first software application using the generated policy column URI both to access an encryption policy indicating an encryption type for the encrypted data stored in the table identified by the table name and column identified by the column name, and to access the encrypted data according to the encryption type indicated in the encryption policy; and

an act of a second software application using the generated policy column URI both to simultaneously access an encryption policy indicating an encryption type for the same encrypted data stored in the table identified by the table name and column identified by the column name, and to access the encrypted data according to the encryption type indicated in the encryption policy.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2012
From: ENTIN, MICHAEL; DENISOV, DMITRY; KUHTZ, LARS; GORBACH, IRINA; KRISHNAN, VENKATESH; SHUR, ANDREY
To: MICROSOFT CORPORATION
Reel/Frame 029078/0834 →
Continuity (1)
Related Publication 20140101713A1 · Apr 10, 2014