Diplomarbeit. Entwurf und prototypische Realisierung einer Architektur zur flexiblen Verschlüsselung von XML-Daten. Arne Priewe IPSI: Gerald Huck



Ähnliche Dokumente
Möglichkeiten der verschlüsselten -Kommunikation mit der AUDI AG Stand: 11/2015

11. Das RSA Verfahren und andere Verfahren

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Programmiertechnik II

Sicherer Datenaustausch mit EurOwiG AG

XSL Templates. Mit Templates arbeiten. XSL Templates

Klaus Schild, XML Clearinghouse Namensräume

Informatik für Ökonomen II HS 09

Verteilte Systeme: Übung 4

Anleitung Thunderbird Verschlu sselung

Stand: Dokumentenverwaltung Modulbeschreibung

Registrierungsanleitung Informatik-Biber

XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick. GPN4:

Containerformat Spezifikation

Containerformat Spezifikation

IAWWeb PDFManager. - Kurzanleitung -

GnuPG für Mail Mac OS X 10.4 und 10.5

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

10. Kryptographie. Was ist Kryptographie?

Allgemeine Erläuterungen zu

Einrichtung eines -Kontos bei Mac OS X Mail Stand: 03/2011

Anforderungen an die HIS

Java und XML 2. Java und XML

Task: Nmap Skripte ausführen

SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN

Bearbeiten elektronische Rechnungen (Invoices)

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Kurzeinführung Excel2App. Version 1.0.0

Digitale Signaturen. Sven Tabbert

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Anwendungsbeispiele Sign Live! Secure Mail Gateway

PeDaS Personal Data Safe. - Bedienungsanleitung -

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Betr.: Neuerungen eps Online-Überweisung

Öffnen Sie den Internet-Browser Ihrer Wahl. Unabhängig von der eingestellten Startseite erscheint die folgende Seite in Ihrem Browserfenster:

Erste Vorlesung Kryptographie

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Übungen zur Softwaretechnik

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Grundlagen von Python

Anleitung. Serienbrief - Outlook 2010 (Stand: Mai 2014)

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

3D Visualisierung von UML Umgebungsmodellen

ÖSTERREICH RECHNET MIT UNS. Standard e-rechnungs-webservice (SERWS) - Status DI Philip Helger, BRZ

2. Installation unter Windows 8.1 mit Internetexplorer 11.0

-Verschlüsselung mit GPG. Von der Key-Erzeugung zur verschlüsselten . Chemnitzer Linux-Tage März 2010 Vortrag

PGP-Verschlüsselung. PGP-Verschlüsselung beim -versand von Dateien in der Micro-Epsilon-Gruppe. Mit Abstand der bessere Weg

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Pflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright CD Software GmbH Version:

Software Engineering Klassendiagramme Assoziationen

Policy-Framework (PFW) - Eine Methode zur Umsetzung von Sicherheits-Policies im Cloud-Computing

Leitfaden einrichtung Outlook Stand vom:

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo.

USB 2.0 Ultimate Card Reader

Zeichen bei Zahlen entschlüsseln

Sicherheit von PDF-Dateien

Infrastruktur: Vertrauen herstellen, Zertifikate finden

Seite 1 von 6

K-TAG Master. Dateientschlüsselung/ Dateiverschlüsselung für Slaves. Version 1.0

Windows Server 2008 (R2): Anwendungsplattform

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

vorab noch ein paar allgemeine informationen zur d verschlüsselung:

Vodafone Conferencing Meeting erstellen

Planung für Organisation und Technik

Bewertung der Einsatzmöglichkeiten von XML Sicherheitslösungen in mobilen Kommunikationsumgebungen. Ziel SSL/TLS. XML Signature/Encryption

Leitfaden einrichtung Outlook Stand vom:

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil D2:

Professionelle Seminare im Bereich MS-Office

IBIS Professional. z Dokumentation zur Dublettenprüfung

ECO-Manager - Funktionsbeschreibung

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Jahrgang: Jahrgang 1. Thema: Systementwicklung einer Webapplikation - Geheimnachrichten-Generator

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Excel Pivot-Tabellen 2010 effektiv

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Richtlinien für das Design und das Bestellen von Nutzen für Leiterplatten im Pool

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Kostenstellen verwalten. Tipps & Tricks

UpToNet Workflow Workflow-Designer und WebClient Anwendung

Installationsanleitung WibuKey Treiber

Information der Ärztekammer Hamburg zum earztausweis. Beantragung und Herausgabe des elektronischen Arztausweises

Entwurf und prototypische Realisierung einer Architektur zur flexiblen Verschlüsselung von XML-Daten

Installation von MailON2!

Nutzungsbedingungen für 1-Click Trading auf der Next Generation Handelsplattform der CMC Markets UK Plc

Datenaustausch mit Ihren Versicherten einfach und sicher über die Cloud

Cambridge ESOL BULATS Online FAQs Konfiguration des Internet Explorers

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

... MathML XHTML RDF

Transkript:

Institut für Informatik Professur ABVS / Telematik Johann Wolfgang Goethe-Universität Frankfurt am Main Diplomarbeit Entwurf und prototypische Realisierung einer Architektur zur flexiblen Verschlüsselung von XML-Daten Arne Priewe IPSI: Gerald Huck

Motivation und Ziele Vertraulichkeit durch Verschlüsselung feingranular hierarchisch verarbeitbar Architektur zur Verschlüsselung flexibel deklarativ verteilt pflegbar erweiterbar Alle Mitarbeiter Sekretär Managerin Managerin Jeder Alle Mitarbeiter Sekretär Alle Mitarbeiter Managerin Alle Mitarbeiter 2

Inhalt Verschlüsselung von XML-Daten Generische Architektur zur Verarbeitung von XML-Daten Architektur zur Verschlüsselung von XML-Daten Prototypische Realisierung Demonstration Ausblick Diskussion 3

Verschlüsselung von XML-Daten

Repräsentation und Granularität Repräsentation verschlüsselter XML-Daten wiederum in XML Super-Verschlüsselung (Verschlüsselung von verschlüsselten XML-Daten) Hierarchische Verschlüsselung Granularität Element <root>text<child attr="value" /></root> Attribut <root>text<child attr="value" /></root> Text <root>text<child attr="value" /></root> 5

Platzierung verschlüsselter Inhalte Prinzip der Stabilität: für Verarbeitbarkeit essenziell wichtig Verschlüsselte Inhalte ersetzen die Daten direkt am vorherigen Ort Positionierung verschlüsselter Attribute schwierig, weil nie völlig stabil: Wird als direktes Kind-Element platziert. 6

Serialisierung und Deserialiserung Vollständige Unterstützung von XML- Namensräumen Elemente werden direkt nach XML serialisiert Attribute benötigen ein spezielles Serialisierungsschema <element ns:attr="wert" xmlns:ns="http://cs.uni-frankfurt.de/meinns"> ns:attr="wert" http://cs.uni-frankfurt.de/meinns Text wird direkt serialisiert Zeichenkodierung erfolgt immer mit UTF-8 7

Verschlüsselung (1) Verschlüsselungs-Schemas nach CMS-Spezifikation (RFC 2630 Cryptographic Message Syntax) DES-ede mit CBC-Modus 168 Bits, 8 Oktets Initialisierungsvektor (IV) Padding nach PKCS #5 (RFC 2898) RSAES-PKCS1-v1_5 (RFC 2437 PKCS #1: RSA Cryptography Specifications Version 2.0) mind. 1024 Bits Spezifikation der Verfahren mittels URLs 8

Verschlüsselung (2) XML-Daten mit symmetrischen Verfahren Geteilter Schlüssel oder Sitzungsschlüssel Sitzungsschlüssel mit asymmetrischen Verfahren Schlüsseltransport für Sitzungsschlüssel innerhalb des Kommunikationsbandes ausserhalb des Kommunikationsbandes Wiederverwendung von Sitzungsschlüsseln 9

Schema (Übersicht) EncryptedKey Verschlüsselte(r) Sitzungsschlüssel Meta-Daten zur Entschlüsselung KeyInfo wird von XML- Signature (W3C) importiert EncryptedData Verschlüsselte XML- Daten Meta-Daten zur Entschlüsselung 10

Verschlüsseln von XML-Daten Randbedingungen berücksichtigen Keine Entitäten-Referenzen Verarbeitungsvorschriften (bitte warten...) Super-Verschlüsselung Implizite Festlegung eine Reihenfolge für die Entschlüsselung Hierarchische Verschlüsselung Bei Elementen möglich Definition basiert auf dem DOM (W3C) 11

Hierarchische Verschlüsselung Attribute erfordern eine Erweiterte Postorder- Traversierung 1 3 9 8 7 5 6 2 4 1, 2 3 8 9 7 5 6 4 3, 4, 5, 6 Beispiel für die Verschlüsselung der Knoten 2, 6, 7, und 9 8, 9 8 9 7 8 9 7 Element-Knoten Text-Knoten 12 Attribut-Knoten Element-Knoten mit verschlüsselten Daten

Entschlüsseln von XML-Daten Randbedingungen berücksichtigen Keine Entitäten-Referenzen Inverse Transformationen (siehe Arbeit) Verarbeitungsvorschriften (bitte warten...) Entschlüsselte XML-Daten in das Dokument einfügen Zeichenkodierung von UTF-8 in die des Dokuments konvertieren (falls notwendig) Bei Attributen vorhandene XML-Namensräume und Präfixe berücksichtigen und bei Bedarf anpassen 13

Verarbeitungsvorschriften Einfüge-, Lösch- und Änderungsoperationen Atomizität verschlüsselter Daten Wahrung der referenziellen Integrität Verschlüsselte Attribute Referenzen von KeyInfo-Elementen auf EncryptedKey-Elemente im gleichen Dokument Randbedingungen Doppelte Attribute Eineindeutigkeit von Referenzen 14

XML Encryption (W3C) im Vergleich Teilweise noch in der Entwurfsphase Granularität (binäre Datenobjekte, XML-Dokumente, Elemente, Element-Inhalte) Reichhaltigere Auswahl bei kryptografischen Verfahren Mehrere Empfänger nur mittels geteilter Schlüssel Hierarchische Verschlüsselung nicht explizit spezifiziert Keine expliziten Verarbeitungsvorschriften spezifiziert Kein Verfahren zur Serialisierung und Deserialisierung spezifiziert 15

Generische Architektur zur Verarbeitung von XML-Daten

Überblick (1) Verwendet ausschliesslich XML / XML-Technologien Transformation von XML-Dokumenten mittels Transformations-Prozessoren (auf DOM basierend) Meta-Daten (Annotationen genannt) können die Transformations-Prozessoren steuern Annotations-Prozessor als generische Komponente zur Anbringung von Annotationen XPath als Selektions-Sprache für Annotationen Konfigurierbare Steuerungs-Komponente zur Kontrolle des Datenflusses (Prinzip der Kette von Werkzeugen) 17

Überblick (2) Document Processing Framework (DPF) XML XML DOM T(DOM) XML DPS DPC DTP 1 : Encryption XML DAS DTP 2 : Decryption DAP DTP n W3C: DOM / XPath / DSig / XEnc Java: XML Parser / JCA / JCE 18

Document Processing Controller (DPC) Steuerungs- Komponente Konfiguration über ein DPS XML Annotated DOM XML DOM Annotation Map XML DAS DOM DAP XML DPS DPC DTP i XML 19 T(DOM)

Document Processing Sheet (DPS) Deklarative Konfiguration des DPCs mittels eines XML-Dokuments (DPS) 20 Mehrere Transformations-Prozessoren (DTPs) können hintereinander ausgeführt werden (Prinzip der Kette von Werkzeugen) DTPs werden über URIs referenziert Weitere Argumente können an DTPs übergeben werden

Annotierter DOM-Baum Aggregation des DOM-Dokumenten-Baums und der zugeordneten Annotationen Alle Prozessoren setzen darauf auf Annotated Document DOM-Dokumenten-Baum Annotation Map Element-Knoten Attribut-Knoten Text-Knoten 21 DOM-Dokumenten-Baum (Annotationen)

Document Annotation Processor (DAP) Fügt ausschliesslich Annotationen an die Knoten des annotierten DOM-Baum hinzu Ändert nie die im DOM repräsentierten XML-Daten XML List of DAS DAS Annotated DOM Annotated DOM' XML Annotation Map DAP XML Annotation Map' 22 DOM DOM

Document Annotation Sheet (DAS) Deklarative Spezifikation von Annotationen mittels eines XML-Dokuments (DAS) 23 Verteilte Pflege/Erstellung von Annotationen durch Verwendung mehrerer DAS-Dokumente Beinhaltet Annotationsregeln: Annotation (beliebige XML-Daten) + Selektionsregel (XPath-Ausdruck)

Document Transformation Processor (DTP) Transformiert den annotierten DOM-Baum nach Belieben (also auch Annotationen!) Berücksichtigt dabei übergebene Parameter: Argumente + Annotationen Parameters from DPS Annotated DOM T(Annotated DOM') XML Annotation Map DTP XML Annotation Map' DOM T(DOM) 24

Erweiterbarkeit Durch Spezifikation / Implementierung von DTPs Jeder DTP spezifiziert einen URI, der ihn eineindeutig identifiziert die benötigten / möglichen Aufrufparameter: Argumente für das DPS Annotationen (z.b. per XML-Schema) - diese sollten immer einem eineindeutigen XML-Namensraum zugeordnet werden! Bestehende Transformations-Prozessoren können relativ leicht integriert werden, wenn diese auf dem DOM aufsetzen 25

Architektur zur Verschlüsselung von XML-Daten

Überblick Verschlüsselung anhand deklarativer Regeln Sicherheitsrichtlinien (security policies) müssen berücksichtigt werden können implizite Regeln (d.h. implizit erkennbar) explizite Regeln (d.h. explizit angegeben) Optimierung von Verschlüsselungs-Regeln Unabhängig von der hier vorgestellten Spezifikation zur Verschlüsselung Baut auf dem DPF auf: DTPs zur Ver- und Entschlüsselung 27

DTP-Encrypt Besteht aus mehreren Unter-Komponenten Nur beim Verschlüsseln wird der DOM-Baum transformiert Die anderen Unter- Komponenten arbeiten nur auf den Annotationen T(Annotated DOM''') XML Parameters from DPS Annotated DOM XML DOM T(DOM) Annotation Map Annotation Map''' Policy Enforcement Rules Optimization Encryption JCA / JCE DTP-Encrypt Annotated DOM' XML DOM Annotation Map' Annotated DOM'' XML DOM Annotation Map'' 28 Local Keystore Keystore Key Maintenance PKI

Policy Enforcement Durchsetzung von Sicherheits-Richtlinien anhand impliziter und/oder expliziter Regeln (z.b. als Annotationen) Ist in hohem Masse von der Einsatz- Umgebung abhängig, daher schwer generalisierbar Kann zur Garantie des Zugriffs auf verschlüsselte Daten eingesetzt werden (Vier-Augen-Prinzip) 29

Rules Optimization Entfernung unnötiger Verschlüsselungs- Regeln 1. Redundante Annotationen zu einem Knoten des DOM-Baums: können immer entfernt werden 2. Die Kinder eines Elements enthalten unnötige Annotationen: abhängig von der Anwendung (z.b. bei Workflow-Prozessen) 1 A, B 2 3 A, B Element-Knoten C A, B A, B, C C, D B, C B Attribut-Knoten A, B, A B, B A C Text-Knoten 30 A, B C, D A, B B, C A B C Annotationen unnötig

Encryption Verschlüsselt Knoten im DOM-Baum anhand von Annotationen und/oder Argumenten Erzeugt verschlüsselte Daten nach einer gegebenen Spezifikation (z.b. vom W3C) Garantiert ein nach den gegebenen Verschlüsselungs-Regeln adäquates Ergebnis (insbes. die Entschlüsselbarkeit) 31

DTP-Decrypt Entschlüsselt verschlüsselte Daten anhand einer gegebenen Spezifikation Parameters from DPS Annotated DOM XML Annotation Map DTP-Decrypt Decryption T(Annotated DOM') XML Annotation Map' DOM JCA / JCE T(DOM) Local Keystore 32

Prototypische Realisierung

Überblick Implementierung in Java Java 2 SE v1.3 (Win2000) Xerces 1.4.0 (XML-Parser) Xalan 2.1.0 (XPath-Implementierung) GMD/IPSI XML-Utilities (Serialisierung) JCE-Implementierungen und Security-Provider Bouncycastle Crypto Package 1.0.5 OpenJCE 1.1 Cryptix JCE v20000905-snap Baltimore KeyTools Lite v5 for Java 34

35 Paket-Übersicht

Verschlüsselung von XML-Daten Prototypische Implementierung der hier vorgestellten Spezifikation Die Möglichkeiten des KeyInfo-Elements werden nicht voll unterstützt Unabhängig vom DPF 36

Document Processing Framework Prototypische Implementierung der hier vorgestellten Architektur Vollständige Implementierung 37

DTPs zur Ver- und Entschlüsselung Prototypische Implementierung der hier vorgestellten Architektur Die Unter- Komponenten zur Ver- und Entschlüsselung sind implementiert 38

DTP-Encrypt URN des Prozessors urn:ipsi-gmd-de:dtp-encrypt Argument im DPS: Lokation des Schlüsselspeichers als URL <keystore>./keystores/certificates</keystore> Annotationen XML-Namensraum http://www.darmstadt.gmd.de/2001/04/dtp-encrypt XML-Schema das:match ist aus dem XML-Schema für DAS importiert 39

DTP-Decrypt URN des Prozessors urn:ipsi-gmd-de:dtp-decrypt Argument im DPS: Lokation des Schlüsselspeichers als URL <keystore>../keystores/myprivatekeys</keystore> Annotationen werden nicht benötigt Entschlüsselt immer rekursiv und maximal 40

Probleme mit JCA/JCE (1) JCA/JCE unterspezifiziert Vergleich der Parameter für DES 41

Probleme mit JCA/JCE (2) Vergleich der Parameter für RSA 42

Probleme mit XML-Technologien (1) Xerces und XML-Schema Werden URIs als Datentyp spezifiziert, werden nur absolute URLs bei der Validierung akzeptiert Relative URLs in den XML-Schemas werden in bestimmten Fällen nicht korrekt aufgelöst (Import von XML-Schemas innerhalb eines XML-Schemas) Serialisierung von DOM-(Teil-)Bäumen: Überall Fehler bei XML-Namensräumen Absoluten URL eines XML-Dokuments berechnen ist aufwändig 43

Probleme mit XML-Technologien (2) XPath-Ausdrücke und XML-Namensräume Die Bindung der Namensräume erfolgt nicht über deren URIs sondern über Präfixe diese sind aber variabel Joker sind für Präfixe nicht erlaubt Relativ komplexe Ausdrücke werden notwendig //*[local-name()= inherit and namespace-uri()= http://examples.org/anotherns ] Zusätzlich unerwartete Ergebnisse bei der Selektion von Elementen mit vererbtem Namensraum (Liegt wahrscheinlich am verwendeten Xalan) 44

Demonstration

Szenario Anonymisierte Bestellung 6 - Entschlüsseln + 2 - Verschlüsseln + 1 - Bestellen 3 - Bestellung 4 - Entschlüsseln + 5 - Zahlungsanweisung 7 - Bestätigung Bank Kunde PC eshop 8 - Lieferauftrag 12 - Ware 9 - Ware PC 11 - Lieferadresse Lieferant 46 10 - Entschlüsseln +

Ausblick

Ausblick (1) Vervollständigung der Implementierungen DTP-Decrypt um eine Unter-Komponente zur Überprüfung von Sicherheitsrichtlinien erweitern Gewährleistung der Vertrauenswürdigkeit durch Signaturen (XML Signature) mittels eines eigenständigen DTPs und/oder einem integrierten DTP Spezifikation/Implementierung weiterer DTPs z.b. XML Encryption (W3C), Policy-Checker, ACLs, XSLT, Messaging,... 48

Ausblick (2) Übergabe von Parametern an DPS- und/oder DAS-Dokumente über den DPC Prozessoren um Rückgabewerte erweitern und eine Sprache zur Steuerung des Kontrollflusses in DPS- Dokumenten einführen Grafische Werkzeuge zur Erstellung / Pflege von DPS- und DAS-Dokumenten Komponente zur Assoziation von XML-Dokumenten mit den dazu relevanten DPS-Dokumenten kann dann einen vollständigen Dienst zur Transformation von Dokumenten bieten 49

Ausblick (3) Unterstützung grosser dynamischer Empfängergruppen und sicherer Workflow- Systeme durch extern referenzierte Sitzungsschlüssel 50

51 Diskussion

52 Diskussion

Quellen Diplomarbeit (PDF) http://www.informatik.uni-frankfurt.de/~priewe/ Arne Priewe email: priewe@informatik.uni-frankfurt.de Gerald Huck email: huck@darmstadt.gmd.de 53