Hasso-Plattner-Institut
 
    • de
 

BP2006M2

Goal:

 Development of an application module for Lock-Keeper to provide a secure database replication and synchronization.

Motivation:

Nowadays huge databases create the need to protect an enormous amount of data, including business information, intellectual property and highly sensitive data. Yet, there is often the desire to offer access to those databases, not limited to a well protected internal target group, but also to an external audience. While the database itself might be placed in a secured network, these access methods will more likely include insecure networks, or even the Internet. Exposing the database to the public creates a number of privacy problems and security risk. One way to decrease the potential dangers is separating the public and the internal database, e.g. by mirroring the main content. To keep the two database instances in the same state, a regular synchronization or replication between the two systems is needed. The separation minimizes the risk, but it's impossible to prevent all current and future attacks or security threats using conventional approaches, such as firewalls or content scanners, as long as there is a network connection between insecure and secure segments. Lock-Keeper fills this gap and offers a general secure data exchange tool. The motivation for our project is to utilize this tool and extend it to secure database replication. Such functionality is seriously needed in industry and government, as proved by cooperation to several institutions, e.g. Siemens Switzerland and Police Brandenburg. Besides security concerns, replication can also be used to increase the performance and the availability by using local replicas for read--only access and coordination of replicas on failure.

Requirements:

To realize a highly secure database replication or synchronization between secure and insecure networks as intended by this project, a number of requirements need to be fulfilled. Firstly, there is the above mentioned physical separation of the networks as a definite mean to protect the internal network. Secondly, the well-known principles of database applications need to be considered, especially the ACID properties: atomicity, consistency, isolated execution and durability. Furthermore, the final solution needs to be reliable, simple and extensible, basic concepts of secure applications. To be usable and salable, all major mainstream databases need to be supported, preferably also heterogeneous replications between database systems of different vendors. The solution will only be successful, if it can be used in practical and real application scenarios. The solution will be even more attractive if its flexible and open to future development. Therefore some technologies will be involved, e.g. virtual machines, web services or XML.

Structure:

  • Replication process - three sub processes
    • Capture process
    • Apply process
    • Propagation process
  • Sub processes realizable with different approaches
  • Capture process
    • Trigger based approach
    • Log-file based approach
    • Manual approach
    • Proprietary approach
  • Apply process
    • Trigger based approach
    • Log-file based approach
    • Manual approach
    • Proprietary approach
  • Propagation process

Messaging framework:

  • Provide application independent messaging through Lock-Keeper
  • Asynchronous and content independent messaging
  • Loosly coupled framework (SOA-principles)
  • Extensible and robust architecture
  • SOAP-based message format (utilization of standard SOAP-header extensions, e.g. WS-Security, WS-Routing, etc.)
  • Routing capabilities and independent addressing scheme
  • Utilization of high security standard mechanisms

Our Works:

  • Research on database replication technologies
  • Research on virtual machine technologies
  • Research on database security mechanisms
  • Research on content filtering
  • Preparation of summary (SS2006)
  • Development of architecture proposals
  • Evaluation of architecture proposals
  • Installation of simulation lab
  • Experiments with replication and synchronization
  • Analysis of network traffic in combination with Lock-Keeper
  • Development of application scenarios in Lock-Keeper environment
  • Determination of final architecture
  • Replication agents for MySQL, MaxDB, MSSQL, Oracle and DB2
  • Logic communication protocol for replication
  • Message exchange via messaging framework
  • Logic communication protocol for messaging framework
  • Evaluation of additional features
  • System testing
  • Final project report
  • Final project presentation

Project Team:

Members: Sebastian Roschke, Ralf Gueldemeister, Marco Baar, Thomas Janda

Tel: +49-(0)331-5509-157, Office: A-1.3
Chair of Internet Technologies and Systems
Hasso-Plattner-Institute at University of Potsdam
PO Box 900460, 14440 Potsdam, Germany

Supervisors: Feng Cheng, Prof. Dr. Christoph Meinel

Tel: +49-(0)331-5509-521, Office: B-1.12
Chair of Internet Technologies and Systems
Hasso-Plattner-Institute at University of Potsdam
PO Box 900460, 14440 Potsdam, Germany