×

Reverse proxy database system and method

  • US 9,043,895 B2
  • Filed: 08/01/2011
  • Issued: 05/26/2015
  • Est. Priority Date: 08/02/2010
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for providing security for a plurality of databases, the method comprising:

  • providing a plurality of servers;

    providing said plurality of databases running on a first portion of said plurality of servers;

    providing a plurality of database accessing applications running on a second portion of said plurality of servers;

    providing a first network and a second network;

    providing a reverse database proxy running on a third portion of said plurality of servers for handling database queries between said plurality of accessing applications and said plurality of database;

    wherein said plurality of accessing applications communicates with said reverse database proxy over said first network and wherein said reverse database proxy communicates with said plurality of databases over said second network;

    wherein said reverse database proxy comprises a front end parser and a back end parser;

    providing a first secure channel over said first network, wherein said first secure channel comprises a first certificate, and wherein said reverse database proxy issues said first certificate to one of said plurality of accessing applications, such that communication between said reverse database proxy and said one of said plurality of accessing applications is secured by a first certificate;

    providing a second secure channel over said second network, wherein said second secure channel comprises a second certificate, and wherein said reverse database proxy issues said second certificate to a receiving database, such that communication between said reverse database proxy and said receiving database is secured by a second certificate;

    sending a database query from said one of said plurality of accessing applications to said reverse database proxy over said first secure channel;

    parsing by said front end parser of said database query from said one of said plurality of accessing applications into a general format understandable by said reverse database proxy;

    analyzing said database query by said reverse database proxy to determine whether said database query is acceptable according to at least one security policy and to determine an address of said receiving database from one of said plurality of databases for receiving said database query;

    when said database query is acceptable, passing said database query to said back end parser for parsing into a format according to the requirements of said receiving database;

    passing said database query to said address of said receiving database over said second secure channel by said reverse database proxy;

    receiving a database response by said reverse database proxy from said receiving database over said second secure channel;

    parsing said response from said receiving database by said back end parser into a general format understandable by said reverse database proxy;

    analyzing said response by said reverse database proxy to determine whether said database response is acceptable according to at least one security policy;

    when said database response is acceptable, then passing said database response to said front end parser for parsing into a format according to the requirements of said one of said plurality of accessing applications; and

    transferring said database response to said one of said plurality of accessing application over said first secure channel by said reverse database proxy;

    wherein said analyzing said database response by said reverse database proxy comprises determining whether sensitive information is included in said database response; and

    when included, removing said sensitive information before said database response is transferred to said accessing application.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×