System and method for providing secure transmission, search, and storage of data
Abstract
A system and method for securely transmitting, searching, and storing data. To ensure security on the client side of a communication network, the system and method double encrypt sensitive data and single encrypt non-sensitive data. The system and method also fuzzy searches for user information. Thus, it is possible to find the information for the user in a database knowing only a minimal amount of detail about that user. Privacy and security is provided without impeding performance or compromising any of the standard database search functionality. Capitalizing on the difference in privacy requirements between users, the number of keys required to access sensitive data is minimized by using a single key for each user (e.g., a patient) and two keys for other users (e.g., health care providers).
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system for generating and storing encrypted data, comprising:
a record database which includes a set of records; a fuzzy signature database; and an application server performing the following:
generating a first set of trigrams for each record of the records,
sorting the first set of trigrams for each record of the records,
generating signature vectors using the first set of trigrams,
wherein one of the signature vectors is assigned to a respective record residing in the record database,
encrypting the signature vectors using a key to generate encrypted vectors, wherein one of the encrypted vectors is assigned to the respective record, and
storing the encrypted vectors in the fuzzy signature database.
2 . The system according to claim 1 , wherein the application server:
generates a second set of trigrams for a fuzzy query, sorts the second set of trigrams, computes a query vector using the second set of trigrams, encrypts the query vector using the key to generate an encrypted fuzzy query vector, and locates a particular vector of the encrypted vectors in the fuzzy signature database which substantially corresponds to the encrypted fuzzy query vector.
3 . The system of claim 1 , wherein the first set of trigrams is sorted alphabetically.
4 . The system of claim 2 , wherein the second set of trigrams is sorted alphabetically.
5 . The system of claim 1 , wherein the record database includes non-privileged user records and privileged user records.
6 . The system of claim 2 , wherein the key is a public key of a user.
7 . A method for generating and storing encrypted data, comprising the steps of:
generating a first set of trigrams for each record of a record database, the record database including a plurality of records; for each record of the records, sorting the first set of trigrams; generating signature vectors using the first set of trigrams, wherein one of the signature vectors is assigned to a respective record of the records; encrypting the signature vectors using a key to generate the encrypted vectors, wherein one of the encrypted vectors is assigned to the respective record; and storing the encrypted vectors in a fuzzy signature database.
8 . The method of claim 7 , further comprising the steps of:
generating a second set of trigrams for a fuzzy query; sorting the second set of trigrams; computing a query vector using the second set of trigrams; encrypting the query vector using the key to generate an encrypted fuzzy query vector; and locating a particular vector of the encrypted vectors in the fuzzy signature database which substantially corresponds to the encrypted fuzzy query vector.
9 . The method of claim 7 , wherein for each record of the records, the first set of trigrams is sorted alphabetically.
10 . The method of claim 8 , wherein the second set of trigrams is sorted alphabetically.
11 . The method of claim 7 , wherein the records include non-privileged user records and privileged user records.
12 . The method of claim 8 , wherein the key is a public key of a user.
13 . A machine-readable medium having stored thereon data representing sequences of instructions, the sequences of instructions including particular instructions which, when executed by a processor connected to a communication network, cause the processor to perform the steps of:
generating a first set of trigrams for each record of a record database, the record database including a plurality of records; for each record of the records, sorting the first set of trigrams; generating signature vectors using the first set of trigrams, wherein one of the signature vectors is assigned to a respective record of the records; encrypting the signature vectors using a key to generate encrypted vectors, wherein one of the encrypted vectors is assigned to the respective record; and storing the encrypted vectors in a fuzzy signature database.Join the waitlist — get patent alerts
Track US2004193905A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.