# US 12,001,586 B2 · Searchable index encryption

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,586 B2
- Document ID: US12001586B2
- Status: Granted
- Kind: B2
- Application number: 18/141,637
- Filed: 2023-05-01
- Published: 2023-08-24
- Granted: 2024-06-04
- Earliest claimed: 2019-05-23
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Dinesh Sundaram
- Web page: https://patentgrep.com/patent/US12001586B2

## CPC

- G06Q 40/0305: {Platforms for credit or lending product research, comparison or matching}
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 9/54: Interprogram communication
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/9558: {Details of hyperlinks; Management of linked annotations}
- G06F 16/9562: {Bookmark management}
- G06F 18/24: Classification techniques
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/604: {Tools and structures for managing or administering access control systems}
- G06F 21/606: {by securing the transmission between two devices or processes}
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06F 40/103: Formatting, i.e. changing of presentation of documents (automatic justification G06F40/189; automatic line break hyphenation G06F40/191)
- G06F 40/174: Form filling; Merging
- G06F 40/18: of spreadsheets (form-filling G06F40/174)
- G06N 3/02: Neural networks
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 5/025: Extracting rules from data
- G06N 5/047: Pattern matching networks; Rete networks
- G06N 20/00: Machine learning
- G06Q 10/10: Office automation; Time management
- G06Q 20/382: {insuring higher security of transaction}
- G06Q 20/4014: {Identity check for transactions}
- G06Q 30/0185: {Product, service or business identity fraud}
- G06Q 30/0206: {Price or cost determination based on market factors}
- G06Q 30/0601: Electronic shopping [e-shopping]
- G06Q 30/0613: {using intermediate agents}
- G06Q 30/0619: {Neutral agent}
- G06Q 30/0637: {requiring approval before final submission, e.g. parental approval}
- G06Q 30/0643: {graphically representing goods, e.g. 3D product representation}
- G06Q 40/02: Banking, e.g. interest calculation or account maintenance (credit or loans G06Q40/03)
- G06Q 40/03: Credit; Loans; Processing thereof
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/0435: {wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06)}
- H04L 63/0471: {applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding}
- H04L 63/0478: {applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key (cryptographic mechanisms or cryptographic arrangements using a plurality of keys or algorithms H04L9/14)}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/0815: {providing single-sign-on or federations}
- H04L 63/102: {Entity profiles}
- H04L 63/123: {received data contents, e.g. message integrity}
- H04L 63/166: {at the transport layer}
- H04L 63/168: {above the transport layer}
- H04L 67/01: Protocols
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 2221/2107: File encryption
- G06K 7/1417: {2D bar codes}
- G06N 3/048: Activation functions
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 20/10: using kernel methods, e.g. support vector machines [SVM]
- G06Q 50/265: {Personal security, identity or safety}
- G06Q 2220/00: Business processing using cryptography
- H04L 9/0822: {using key encryption key}
- H04L 63/0442: {wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for public-key encryption H04L9/30)}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS

## Abstract

Auditing data containing sensitive data are stored in a data structure comprising data objects. Each data object comprises one or more pairs of a name and a value. Pairs that are flagged or identified as containing sensitive data are partially encrypted; the value is encrypted using an asymmetric key and the name corresponding to the encrypted value remains unencrypted. Some pairs that are not flagged or identified as containing sensitive data are left unencrypted. Unencrypted data may be stored in the partially encrypted auditing data as plain text. The auditing data may be analyzed to generate business metrics and identify application errors. The auditing data may also be queried, and data objects containing unencrypted pairs and/or partially encrypted pairs may be returned based on matching unencrypted names and/or values to the data query.

## Claims

### Claim 1

A method comprising:
generating auditing data comprising one or more data objects, wherein each data object comprises one or more pairs of a name and a value;
generating partially encrypted auditing data by:
encrypting a first value of a first pair in the auditing data, using an encryption key, while leaving a first name of the first pair unencrypted and leaving a second name and second value of a second pair in the auditing data unencrypted, wherein the first pair is partially encrypted and the second pair is unencrypted, and
replacing the first value of the first pair with the corresponding encrypted first value;
receiving, based on an indication of an operational error in the partially encrypted auditing data sent to a user device, at least one of an identification of the operational error or confirmation of the operational error; and
generating, based on at least one of an unencrypted name or an unencrypted value in the partially encrypted auditing data, the indication of the operational error.

### Claim 2 (depends on 1)

The method of claim 1, wherein the receiving at least one of the identification of the operational error or the confirmation of the operational error comprises receiving at least one of the identification of the operational error or the confirmation of the operational error from an administrator device.

### Claim 3 (depends on 1)

The method of claim 1, wherein at least one of the identification of the operational error or the confirmation of the operational error is based on decrypted values of the partially encrypted auditing data.

### Claim 4 (depends on 1)

The method of claim 1, wherein the encrypting of the first value of the first pair comprises encrypting the first value of the first pair using an asymmetric encryption key.

### Claim 5 (depends on 1)

The method of claim 1, wherein the generating the auditing data comprises generating the auditing data based on a user-defined rule applied to input data.

### Claim 6 (depends on 4)

The method of claim 4, wherein the user-defined rule comprises at least one of a rule for prequalifying a user for a transaction, a rule for determining product eligibility, or a rule for determining a price for a product.

### Claim 7

A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:
generating auditing data comprising one or more data objects, wherein each data object comprises one or more pairs of a name and a value;
generating partially encrypted auditing data by:
encrypting a first value of a first pair in the auditing data, using an encryption key, while leaving a first name of the first pair unencrypted and leaving a second name and second value of a second pair in the auditing data unencrypted, wherein the first pair is partially encrypted and the second pair is unencrypted, and
replacing the first value of the first pair with the corresponding encrypted first value;
receiving, based on an indication of an operational error in the partially encrypted auditing data sent to a user device, at least one of an identification of the operational error or confirmation of the operational error; and
generating, based on at least one of an unencrypted name or an unencrypted value in the partially encrypted auditing data, the indication of the operational error.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the receiving at least one of the identification of the operational error or the confirmation of the operational error comprises receiving at least one of the identification of the operational error or the confirmation of the operational error from an administrator device.

### Claim 9 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein at least one of the identification of the operational error or the confirmation of the operational error is based on decrypted values of the partially encrypted auditing data.

### Claim 10 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the encrypting of the first value of the first pair comprises encrypting the first value of the first pair using an asymmetric encryption key.

### Claim 11 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the generating the auditing data comprises generating the auditing data based on a user-defined rule applied to input data.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the user-defined rule comprises at least one of a rule for prequalifying a user for a transaction, a rule for determining product eligibility, or a rule for determining a price for a product.

### Claim 13

A system, comprising:
a memory; and
at least one processor coupled to the memory and configured to perform operations comprising:
generating auditing data comprising one or more data objects, wherein each data object comprises one or more pairs of a name and a value;
generating partially encrypted auditing data by:
encrypting a first value of a first pair in the auditing data, using an encryption key, while leaving a first name of the first pair unencrypted and leaving a second name and second value of a second pair in the auditing data unencrypted, wherein the first pair is partially encrypted and the second pair is unencrypted, and
replacing the first value of the first pair with the corresponding encrypted first value;
receiving, based on an indication of an operational error in the partially encrypted auditing data sent to a user device, at least one of an identification of the operational error or confirmation of the operational error; and
generating, based on at least one of an unencrypted name or an unencrypted value in the partially encrypted auditing data, the indication of the operational error.

### Claim 14 (depends on 13)

The system of claim 13, wherein the receiving at least one of the identification of the operational error or the confirmation of the operational error comprises receiving at least one of the identification of the operational error or the confirmation of the operational error from an administrator device.

### Claim 15 (depends on 13)

The system of claim 13, wherein at least one of the identification of the operational error or the confirmation of the operational error is based on decrypted values of the partially encrypted auditing data.

### Claim 16 (depends on 13)

The system of claim 13, wherein the encrypting of the first value of the first pair comprises encrypting the first value of the first pair using an asymmetric encryption key.

### Claim 17 (depends on 13)

The system of claim 13, wherein the generating the auditing data comprises generating the auditing data based on a user-defined rule applied to input data, and wherein the user-defined rule comprises at least one of a rule for prequalifying a user for a transaction, a rule for determining product eligibility, or a rule for determining a price for a product.
