System and method for securely accessing a database from a remote location
First Claim
1. A system for preventing unauthorized access of database systems, comprising:
- a client configured to maintain a list of coded expressions, said client configured to display a plurality of options to a user and to enable said user to select one of said options, said client further configured to correlate one of said coded expressions with said one option selected by said user and to transmit said one coded expression to said first server;
a database configured to receive a query, to retrieve data based on said query, and to transmit said retrieved data; and
a first server configured to maintain said list of coded expressions, to receive said one coded expression from said client, to translate said one coded expression into said query, to transmit said query to said database, to receive said data transmitted from said database, to encrypt said data received from said database, and to transmit said encrypted data to said client, wherein said first server, in translating said one coded expression into said query, is configured to correlate said one coded expression with query data based on said list, to retrieve said query data correlated with said one coded expression in response to said one coded expression, and to form said query based on said retrieved query data.
11 Assignments
0 Petitions
Accused Products
Abstract
A secure client/server system allows remote access to a database system without allowing unauthorized users to access data stored within the database system. A server receives a request for data from a client located at a remote location. The server translates the request for data into an appropriate query or queries. The queries are used by the server to retrieve data from databases associated with the server. If the requested data resides in a plurality of databases that utilize different protocols, the server submits a plurality of queries which are respectively compatible with the databases. Furthermore, if some of the information requested by the request for data is located in a remote database, the server creates a second request for data and transmits the second request for data to a remote server associated with the appropriate database. The remote server translates the second request for data into a second query and retrieves the requested data from the remote server with the second query. The remote server then transmits the data retrieved from the remote database to the server that originally received the request for data from the client. The original server assimilates all of the retrieved data and submits the data in encrypted form to the client.
-
Citations
29 Claims
-
1. A system for preventing unauthorized access of database systems, comprising:
-
a client configured to maintain a list of coded expressions, said client configured to display a plurality of options to a user and to enable said user to select one of said options, said client further configured to correlate one of said coded expressions with said one option selected by said user and to transmit said one coded expression to said first server;
a database configured to receive a query, to retrieve data based on said query, and to transmit said retrieved data; and
a first server configured to maintain said list of coded expressions, to receive said one coded expression from said client, to translate said one coded expression into said query, to transmit said query to said database, to receive said data transmitted from said database, to encrypt said data received from said database, and to transmit said encrypted data to said client, wherein said first server, in translating said one coded expression into said query, is configured to correlate said one coded expression with query data based on said list, to retrieve said query data correlated with said one coded expression in response to said one coded expression, and to form said query based on said retrieved query data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 25)
a remote database configured to receive a second query, to retrieve data associated with said request for data based on said second query, and to transmit said data associated with said request for data; and
a remote server configured to receive said request for data, to translate said request for data into said second query, to receive said data transmitted from said remote database, to encrypt said data received from said remote database, and to transmit said data received from said remote database to said first server.
-
-
8. The system of claim 1, further comprising:
-
a second database configured to receive a second query, to retrieve data associated with said one coded expression based on said second query, and to transmit said data retrieved by said second database, wherein said first server is further configured to translate said one coded expression into said second query, to receive said data transmitted from said second database, to encrypt said data retrieved from said second database, and to transmit said data retrieved from said second database to said client.
-
-
9. The system of claim 7, wherein said second query is a structured query language (SQL) query.
-
10. The system of claim 8, wherein said first server transmits said queries via different protocols.
-
25. The system of claim 1, wherein said client is further configured to encrypt said one coded expression before transmitting said one coded expression to said first server.
-
11. A system for preventing unauthorized access of database systems, comprising:
-
means for establishing a communication session between a client computer and a server computer;
means for maintaining a list of coded expressions at said client computer;
means for maintaining said list of coded expressions at said server computer;
means for displaying a plurality of options to a user of said client computer;
means for enabling said user to select one of said options;
means for coffelating said one option selected by said user with one of said coded expressions;
means for transmitting said one coded expression from said client computer;
means for receiving said one coded expression at said first server computer;
means for correlating said one coded expression with query data;
means for retrieving said query data in response to said one coded expression received by said receiving means;
means for forming a query with said retrieved query data;
means for querying a database with said query;
means for retrieving data from said database based on said query;
means for encrypting said data retrieved from said database; and
means for transmitting said data encrypted by said encrypting means to said client computer. - View Dependent Claims (12, 13, 14, 15, 16, 17, 26)
means for transmitting a new encryption key from said first server computer to said client computer in response to said communication session;
means for encrypting said one coded expression at said client computer with said new encryption key; and
means for encrypting said data retrieved from said database with said new encryption key at said first server computer.
-
-
14. The system of claim 11, further comprising:
-
means for transmitting a password from said client computer to said first server computer;
means for translating said password into a different password; and
means for accessing said database via said different password.
-
-
15. The system of claim 11, further comprising:
-
means for retrieving information from a column of a table within said database in response to said one coded expression;
means for analyzing said information at said server to determine whether said information includes inaccessible data;
means for discarding said inaccessible data at said first server computer; and
means for transmitting a remainder of said information from said first server computer to said client computer, wherein said remainder of said information includes information form a row in said column and said inaccessible data includes information form another row in said column.
-
-
16. The system of claim 11, further comprising:
-
means for creating a request for data based on said one coded expression at said first server computer;
means for transmitting said request for data to a remote server computer;
means for translating said request for data at said remote server computer into a second query;
means for querying a remote database with said second query;
means for retrieving remote data from said remote database based on said second query;
means for encrypting said remote data retrieved from said remote database;
means for transmitting said remote data from said remote server computer to said first server computer; and
means for transmitting said remote data from said first server computer to said client computer.
-
-
17. The system of claim 16, wherein said second query is a structured query language (SQL) query.
-
26. The system of claim 11, wherein said client computer further comprises a means for encypting said one coded expression.
-
18. A method for preventing unauthorized access of a database systems, comprising the steps of:
-
establishing communication between a client computer and a first server computer;
maintaining a list of coded expressions at said client computer;
maintaining said list of coded expressions at said server computer;
displaying a plurality of options to a user of said client computer;
enabling said user to select one of said options;
correlating said one option selected by said user with one of said coded expressions;
transmitting, in response to said correlating said one option step said one coded expression from said client computer;
receiving said one coded expression at said first server computer;
subsequent to said receiving step, correlating said one coded expression with query data;
retrieving, in response to said correlating said one coded expression step, said query data;
forming a query with said retrieved query data;
querying a database with said query;
retrieving data from said database based on said query;
encrypting said data retrieved from said database at said first server computer; and
transmitting said data retrieved from said database to said client computer. - View Dependent Claims (19, 20, 21, 22, 23, 24, 27)
transmitting a new encryption key from said first server computer to said client computer in response to said establishing step;
encrypting said one coded expression at said client computer with said new encryption key; and
encrypting said data retrieved from said database with said new encryption key at said first server computer.
-
-
21. The method of claim 18, further comprising the steps of:
-
transmitting a password from said client computer to said first server computer;
translating said password into a different password; and
accessing said database via said different password.
-
-
22. The method of claim 18, further comprising the steps of:
-
retrieving information from a column of a table within said database in response to said one coded expression;
analyzing said information at said server to determine whether said information includes inaccessible data;
discarding said inaccessible data at said first server computer; and
subsequent to said discarding step, transmitting a remainder of said information from said first server computer to said client computer, wherein said remainder of said information includes information from a row in said column and said inaccessible data includes information from another row in said column.
-
-
23. The method of claim 18, further comprising the steps of:
-
creating a request for data based on said one coded expression at said first server computer;
transmitting said request for data to a remote server computer;
translating said request for data at said remote server computer into a second query;
querying a remote database with said second query;
retrieving remote data from said remote database based on said second query;
encrypting said remote data retrieved from said remote database;
transmitting said remote data from said remote server computer to said first server computer; and
transmitting said remote data to from said first server computer to said client computer.
-
-
24. The method of claim 23, wherein said second query is a structured query language (SQL) query.
-
27. The method of claim 18, further comprising the step of encrypting said one coded expression at said client computer.
-
28. A method for preventing unauthorized access of database systems, comprising the steps of:
-
establishing communication between a client computer and a first server computer;
maintaining a list of coded expressions at said client computer;
displaying a plurality of options to a user of said client computer;
enabling said user to select one of said options;
correlating said one option selected by said user with one of said coded expressions;
transmitting said one coded expression from said client computer in response to said correlating step;
receiving said one coded expression at said first server computer;
subsequent to said receiving step, translating said one coded expression into a query;
querying a database with said query;
retrieving data from said database based on said query; and
transmitting said data retrieved from said database to said client computer. - View Dependent Claims (29)
-
Specification