Encrypting and decrypting database records
AssigneeRocket Software, Inc.
InventorsJing Cui, Jianhua Zhou
Life of this patent
Estimating the term…
Abstract
Provided are a method, system, and article of manufacture for encrypting and decrypting database records. Encryption metadata is provided for a database file having fields, wherein the encryption metadata indicates at least one encryption key for the file. A request is received to perform a read or write operation with respect to a record including the fields for the database file. A determination is made from the encryption metadata of the at least one encryption key for the database file. The determined encryption key is used to encrypt or decrypt for the read or write operation with respect to at least one of the fields in the database file.
Claims36
A computer implemented method, comprising:
- providing encryption metadata for a database file in a computer readable storage device having fields, wherein the encryption metadata indicates at least one of:
- record level encryption information indicating a record level encryption key to use for all fields in records in the database file;
- and
- for each of a plurality of fields in the database file, field level encryption information indicating a field level encryption key and a field identifier identifying the field to which the field level encryption key applies;
- receiving a request to perform a read or write operation with respect to a record including the fields for the database file;
- determining from the encryption metadata whether record level or field level encryption is indicated;
- in response to determining that the encryption metadata indicates record level encryption, performing:
- determining from the record level encryption information in the encryption metadata the record level encryption key to use with respect to all fields;
- and
- using the determined record level encryption key to encrypt or decrypt for the read or write operation with respect to the fields in the database file;
- and
- in response to determining that the encryption metadata indicates field level encryption and not record level encryption, performing:
- for each field in the record, determining whether there is field level encryption information in the encryption metadata for the field having the field level encryption key to use with respect to the field;
- and
- using the determined field level encryption key for each field for which the field level encryption key is provided to encrypt or decrypt for the read or write operation with respect to the field.
A system, comprising:
- at least one computer readable storage device including an encryption metadata repository including encryption metadata for a database file having fields, wherein the encryption metadata indicates at least one of:
- record level encryption information indicating a record level encryption key to use for all fields in records in the database file;
- and
- for each of a plurality of fields in the database file, field level encryption information indicating a field level encryption key and a field identifier identifying the field to which the field level encryption key applies;
- and
- at least one of a hardware device or the at least one computer readable storage device including instructions executed by a processor having an encryption manager executed to perform operations, the operations comprising:
- receiving a request to perform a read or write operation with respect to a record including the fields for the database file;
- determining from the encryption metadata whether record level or field level encryption is indicated;
- in response to determining that the encryption metadata indicates record level encryption, performing:
- determining from the record level encryption information in the encryption metadata the record level encryption key to use with respect to all fields;
- and
- using the determined record level encryption key to encrypt or decrypt for the read or write operation with respect to the fields in the database file;
- and
- in response to determining that the encryption metadata indicates field level encryption and not record level encryption, performing:
- for each field in the record, determining whether there is field level encryption information in the encryption metadata for the field having the field level encryption key to use with respect to the field;
- and
- using the determined field level encryption key for each field for which the field level encryption key is provided to encrypt or decrypt for the read or write operation with respect to the field.
An article of manufacture comprising a computer readable storage device having code executed to access a database file and cause operations to be performed, the operations comprising:
- providing encryption metadata for the database file having fields, wherein the encryption metadata indicates at least one of:
- record level encryption information indicating a record level encryption key to use for all fields in records in the database file;
- and
- for each of a plurality of fields in the database file, field level encryption information indicating a field level encryption key and a field identifier identifying the field to which the field level encryption key applies;
- receiving a request to perform a read or write operation with respect to a record including the fields for the database file;
- determining from the encryption metadata whether record level or field level encryption is indicated;
- in response to determining that the encryption metadata indicates record level encryption, performing:
- determining from the record level encryption information in the encryption metadata the record level encryption key to use with respect to all fields;
- and
- using the determined record level encryption key to encrypt or decrypt for the read or write operation with respect to the fields in the database file;
- and
- in response to determining that the encryption metadata indicates field level encryption and not record level encryption, performing:
- for each field in the record, determining whether there is field level encryption information in the encryption metadata for the field having the field level encryption key to use with respect to the field;
- and
- using the determined field level encryption key for each field for which the field level encryption key is provided to encrypt or decrypt for the read or write operation with respect to the field.
Dependencies are inferred from the claim text.