Demonstrator
Für die Vorstellung unseres Demonstrators werden grundsätzlich zwei Komponenten benötigt: ein Laptop und ein oder mehrere Android-Geräte. Auf dem Laptop wird eine XML-basierte Datenbank laufen, auf welche die Clients zugreifen und die Daten abfragen oder neu hochladen können. Die Clients (Android-Geräte) sind mit der sogenannten Sec²-Middleware Komponente ausgestattet, die die Ver- und Entschlüsselung der Daten übernimmt.
Als Beispielanwendung wurde eine App entwickelt, die es ermöglicht, Notizen zu verwalten. Beim Hochladen einer Notiz wählt der Client die Daten aus, die verschlüsselt werden sollen. Er kann bestimmte Abschnitte einer Notiz auswählen oder die ganze Notiz verschlüsseln lassen. Die Verschlüsselung findet vor dem Transport der Datei, in der auf dem Android-Gerät laufenden Sec²- Middleware, statt. Die verschlüsselte Datei wird auf den XML-Server hochgeladen und dort gespeichert.
Beim Herunterladen der Daten funktioniert der Algorithmus dementsprechend in umgekehrter Reihenfolge. Der Client fragt die Daten ab, die verschlüsselten Daten werden heruntergeladen und in der Sec²-Middleware mit dem Schlüssel des Clients entschlüsselt. Die Daten werden danach in der App unverschlüsselt abgebildet.
In der Abbildung kann man die Screenshots der App sehen und ihre grundlegende Funktionalität betrachten:
- Der Client loggt sich mit einer PIN ein.
- Danach kann er neue Notizen innerhalb von der Applikation anlegen.
- Bestimmte Abschnitte der Notizen können ausgewählt und verschlüsselt werden.
- Anschließend werden die Daten auf den Server hochgeladen. Die Notiz erscheint in der Notiz- Verwaltung.

Die Daten werden auf dem Server wie folgt abgebildet: ausgewählte Daten innerhalb der Notiz werden mittels XML Encryption Standard verschlüsselt. Dies ermöglicht eine Suche auf unverschlüsselten Teilen der Daten, bei gleichzeitiger Wahrung der Vertraulichkeit aller relevanten Daten, die weiterhin geschützt bleiben.
<document> <events> <event> <title>My First Event</title> <style>uni-event</style> <date>21.08.2011</date> <time>12:00-13:00</time> <location>university</location> <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"></xenc:EncryptionMethod> <xenc:CipherData> <xenc:CipherValue>ICs6RBErO1sgKzpEESs7W7dkUWvim6gwPpjUJmmh8ad2l4eOk7lfgtT2hl5Yw2z1/ hx4XPBiaHfq96qrJwDZGCCKfH69Ia6nRQ0XEcD4/+I=</xenc:CipherValue> </xenc:CipherData> <xenc:EncryptionProperties> <xenc:EncryptionProperty> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:KeyName>Group1</ds:KeyName> </ds:KeyInfo> </xenc:EncryptionProperty> </xenc:EncryptionProperties> </xenc:EncryptedData> </event> </events> </document>