1. A computer-implemented method for providing database services, comprising: receiving, by a database access system, a query from a client application on a client system, the query specifying a protected field within a remote database on a database server, the protected field having underlying fields stored in the remote database, the underlying fields having been protected with one or more keys inaccessible to the database server but accessible to a database driver, the underlying fields including an encrypted data field, an authentication code field, and a protected range field, the query comprising a requested range of field values within the protected field; altering, by the database driver, using the one or more keys, the query to form a modified query having query terms associated with the protected field modified to use one or more of the underlying fields, the altering comprising: obtaining a list of range segments, the range segments having discrete values representing a range of values within the protected field; and modifying the query to request a set of the range segments from the protected field, the set of the range segments containing at least the requested range of the query; sending the modified query to the database server; receiving a query result from the database server, the query result including one or more underlying field results associated with the protected field; modifying, by the database access system, using the one or more keys, the one or more underlying field results in the query result to form a modified query result, the one or more underlying field results used to form a field result for the protected field; and sending the modified query result to the client application based at least in part on filtering the modified query result to match the requested range of the query.
3. The computer-implemented method of claim 1 , wherein modifying the one or more underlying field results further includes: verifying the query results by comparing an authentication code with a computed authentication code based at least in part on one or more field values within a table row containing the authentication code, the authentication code stored within the authentication code field of the table row.