Home | Products | Services | References | Contact | FAQ | French
 



SafeJDBC
Presentation :
Technical brief (pdf)
User Guide (pdf)
Javadoc

Evaluation version :
Download!

Buy your license online:
Buy!


Products
SafeAPI


Contact
SafeLogic
27-29, rue Raffet
75016 Paris - FRANCE
Tel +33 (0)1 45 72 25 15
Fax +33 (0)1 45 72 14 06

SafeJDBC

Java Driver for Plug-and-Play SQL Encryption

Utilizing strong encryption to ensure SQL database security is now fast and easy with the SafeJDBC Java Driver and its extensions (C/C++, C#, Visual Basic, and .NET).




Security Threats to SQL Data

Enterprise SQL databases (DBMS) contain strategic information that is both sensitive and confidential:
  • Customer databases.
  • Product databases.
  • Employee databases (histories, salaries, private data).
  • E-commerce databases (credit card numbers, transactions, B2B).
and is therefore a potential target for:
  • Competitors.
  • Malicious insiders (the vast majority of attacks on SQL data).
  • Internet hackers.
SQL security measures habitually use:
  • The native access restrictions and privileges provided by the DBMS (login/password, GRANT/REVOKE).
  • SSL or tunnels to secure the data flows between application server and DBMS.
These measures do not protect the content of the database, however, because the data files used by the SQL DBMS are stored unencrypted.

An attacker accessing the SQL server physically or via the network can still obtain your company's confidential or strategic data.




Securing SQL Databases with Encryption: Advantages and Disadvantages

The most reliable solution for protecting sensitive data is to establish a procedure to implement strong encryption at the application level, outside the SQL DBMS. This is the approach recommended by security experts (see the excellent White Paper by RSA Security).

Encryption protects data in all cases: network intrusion, database dump, theft of the hard drive.

This application-based approach does have disadvantages, however:
  • New development efforts required (strong encryption).
  • Applications must be rewritten.
  • New test sets to create before deployment.
SafeJDBC eliminates these disadvantages by adding an application layer for the SQL data encryption, with no changes to exisiting code and no new development efforts required.

Buy your license online



Plug-and-Play Encryption of SQL Data Without Rewriting Code

There are two ways of calling SafeJDBC :

1. As a pure JDBC Driver

SafeJDBC is loaded as any JDBC Driver. The class name is "com.safejdbc.api.Driver":

Call as a pure JDBC Driver
// Load SafeJDBC as a pure Driver
// & get a Cipher Connection to the database

String sDriver = "com.safejdbc.api.Driver";
Class.forName(sDriver).newInstance();
Connection connection = DriverManager.getConnection(sDbUrl, prop);


The SafeJDBC driver is configured through an initialization file which contains the connexion parameters for the wrapped driver (class name, URI, login, etc.).

2. Call and configuration in the initialization Java code

SafeJDBC is declared at application startup, with 4 lines of code:

Before
// load the Driver and get a Connection to the database
Class.forName(sNativeDriver).newInstance();
Connection connection = DriverManager.getConnection(sDbUrl);

After
// create a SafeJDBC instance
SafeJdbcSetter sjSetter = SafeJdbcSetter.getInstance();

// set the Wrapped Driver
sjSetter.setWrappedDriverName(sNativeDriver);

// set SafeJdbc's own catalog
sjSetter.setSafeJdbcDbUrl(sJdbcUrl);

// set the encryption key for cipher & decipher operations
sjSetter.setKey(sUserId, caPassphrase);

// load the Driver and get a Connection to the database
Class.forName(sDriver).newInstance();
Connection connection = DriverManager.getConnection(sDbUrl);


SafeJDBC automatically encrypts and decrypts the data on the fly, while using the existing application code.

The plug-and-play technology of SafeJDBC secures SQL databases in order to achieve the following:
  • Utilization of strong encryption to secure confidential data in databases.
  • Plug-and-play for simple and immediate integration with existing applications.
  • Minimal impact on SQL performance.
  • Interfaces with the leading SQL DBMS products (open source and proprietary): Microsoft SQL Server, DB2, Oracle, Sybase, Informix, PostgreSQL, MySQL, etc.
With SafeJDBC, confidential SQL data are always secure:
  • The data are stored in encrypted form in the DBMS tables.
  • The DBMS memory contains encrypted data.
  • Exchanges between the SQL server and application server are encrypted.
It is impossible for an attacker to use any content obtained during an attack or intrusion, because the data are encrypted with an unknown key.

Buy your license online



Uses

  • Customer information.
  • Employee records.
  • Research & Development data.
  • Financial and commercial data.
  • E-commerce transactions (credit card numbers).



Examples

Inserting secure data with SafeJDBC:





Selecting secure data with SafeJDBC:

     





Technology and Characteristics of SafeJDBC

  • SafeJDBC is a universal plug-and-play JDBC driver:
    • SafeJDBC directly integrates with the Java client code, with no additional development required.
    • SafeJDBC runs with any JDBC driver (2.x or 3.0).
    • SafeJDBC is available for any SQL 92 DBMS that has a JDBC client.

  • SafeJDBC takes into consideration SQL performance issues and data handling constraints:
    • No accessing the SQL catalog.
    • Encryption operations occur only in the client application, within the JVM (Java Virtual Machine).
    • No additional traffic between the application server and SQL server.
    • Little or no impact on SQL runtimes.



Advantages of SafeJDBC

  • Designed to provide immediate data security while accommodating existing applications and production constraints.
  • Deployment is fast, reliable, flexible, and economical.
  • Data can be transported risk-free between an application server and a DBMS server (without using SSL).
  • Provides a central policy for maintaining data confidentiality in a multidatabase environment.
Buy your license online



To find out more

See our:


Technical brief. This includes:
  • A factsheet (types of SQL handled, encryption keys and algorithms, technical requirements, etc.).
  • Availability for other languages and development environments (C/C++, C#, Visual Basic, .Net).

User Guide.
  • Installation Guide
  • Getting started
  • Examples

Javadoc.
  • Complete and detailled decription of SafeJDBC API




Copyright © 2005 SafeLogic