State-of-the-Art von Verschlüsselungstechniken für Database-as-a-Service

Größe: px
Ab Seite anzeigen:

Download "State-of-the-Art von Verschlüsselungstechniken für Database-as-a-Service"

Transkript

1 Institut für Wirtschaftsinformatik Prof. Dr. Gottfried Vossen State-of-the-Art von Verschlüsselungstechniken für Database-as-a-Service Bachelor Arbeit Betreuer: Vorgelegt von: Dr. Jens Lechtenbörger Guido Hirth Abgabetermin:

2 - I - Inhaltsverzeichnis 1 Einleitung Grundlagen Database-as-a-Service Definition Vertrauensmodell Anforderungen Kryptographie AES Ein symmetrisches Kryptosystem RSA Ein asymmetrische Kryptosystem Homomorphismen Kryptoanalyse Structured Query Language Verschlüsselungsschemata zur sicheren Abfrage externer Daten Index-Verfahren Hashbasierendes Verfahren B + -Bäume Partitionierende Verfahren Selektive Verschlüsselung Homomorphe Verschlüsselung Kryptographische Hardware Verschlüsselungskonzepte mit Proxy-Unterstützung Abfrage angepasste Verschlüsselung Mehr-Benutzer Szenario Analyse der vorgestellten Verfahren Proof-of-Concept Implementierungen CryptDB TrustedDB Zusammenfassung und Ausblick...50 Literaturverzeichnis...II Verzeichnis von Web-Adressen... IX

3 - 1-1 Einleitung Datenbanksysteme sind ein immer wichtiger werdendes Werkzeug in Organisationen. Ihre Bedeutung wird durch die zunehmende weltweite Vernetzung noch stärker wachsen. Gleichzeitig wird der systematische Einsatz von Datenbanksystemen wegen der zunehmenden Informationsmenge, der steigenden Komplexität der Anwendungen und der erhöhten Leistungsanforderungen immer schwieriger. Viele Organisationen setzten deshalb vermehrt serviceorientierte Architekturen ein bzw. lagern die komplette technische Infrastruktur aus. Sie kaufen sich diese Leistungen bei Dienstleistungsanbietern ein und erwerben eine Databaseas-a-Service, lassen also das Datenbanksystem oder Teilfunktionen davon von einem Dritten extern betreiben. Das Paradigma des Database-as-a-Service geht auf [HIM02] zurück. Die Autoren beschreiben im Jahr 2002 schon wegweisend: The technological aspects of developing database as a service lead to new research challenges. First and foremost is the issue of data privacy. [HIM02, S. 30] Es existieren mittlerweile zahlreiche Forschungsrichtungen zu dem Thema Database-as-a- Service, die beispielsweise die Geschwindigkeit und die Skalierbarkeit betrachten. Ein fundamentales Problem in diesem Kontext ist jedoch vor allem die Sicherheit der Daten. So sollen beispielsweise sensible und geschäftsrelevante Daten bei einem Anbieter hinterlegt werden, ohne vollkommene Sicherheit über die Vertrauenswürdigkeit des Anbieter zu haben. Neben den Datendiebstahl durch Dritte ist auch der unautorisierte Zugriff durch Administratoren der Anbieter (vgl. [7]) ein kritisches Hemmnis. Die Daten müssen also nicht nur vor den üblichen Angriffen durch nicht autorisierte Instanzen geschützt werden, sondern vielmehr auch vor dem Dienstleistungsanbieter selbst. Dies geschieht durch adäquate Sicherheitsmaßnahmen, insbesondere durch den Einsatz von Verschlüsselungstechniken, deren aktueller Stand und Funktionsweisen in dieser Arbeit vorgestellt werden soll. In Kapitel 2 werden für diese Arbeit notwendige Grundlagen erläutert. Dabei wird zunächst das Paradigma Database-as-a-Service erläutert, dann wichtige kryptographische Grundlagen ausgeführt und anschließend die Abfragesprache SQL weiter beleuchtet. In Kapitel 3 und 4 werden unterschiedliche Verschlüsselungsverfahren vorgestellt, wobei Kapitel 4 das Szenario um eine weitere Instanz, den Proxy, erweitert. Im folgenden Kapitel 5 werden die Verfahren analysiert. In Kapitel 6 werden dann zwei Proof-of-Concept Implementierungen präsentiert, die einen Teil der vorgestellten Verschlüsselungsschemata einbetten. Die Arbeit endet mit einem Fazit und Ausblick.

4 - 2-2 Grundlagen 2.1 Database-as-a-Service Definition Das Paradigma des Database-as-a-Service wurde geprägt von [HIM02], die das Prinzip der serviceorientierten Architektur auf Datenbanksysteme übertrugen. Die Ideen des ursprünglichen Application-Service-Provider-Modells (ASP) sind in dem heutigen Begriff des Cloud- Computing aufgegangen. Ein Anwender lagert dabei seine IT bzw. Teile von dieser an einen Dienstleister aus, um so Kosten zu sparen. Er spart dabei insbesondere die Wartungs- und Entwicklungskosten für die Rechenzentren und kann spontan benötigte Ressourcen in der Regel beliebig und dynamisch hinzufügen. Er zahlt dabei nur die im Endeffekt benötigten Ressourcen (Pay-per-Use). Der Anbieter hingegen versucht seinen Gewinn über entsprechende Skaleneffekte zu erzielen. Eine Cloud-Dienstleistung ist dabei folgendermaßen charakterisiert (vgl. [HV10]): Gemeinsame Nutzung physischer Ressourcen Verschiedene Nutzer/Mandanten nutzen die gleichen Ressourcen (Multi-Tenancy). Unverzügliche Anpassbarkeit an den Ressourcenbedarf Der Cloud-Anbieter passt die für den Nutzer aktiven Ressourcen dynamisch entsprechend der Auslastung an. Selbstbedienung nach Bedarf Der Nutzer kann benötigte Ressourcen jederzeit beliebig selbstständig aktivieren. Umfassender Netzwerkzugriff Die Bandbreite des Anbieters muss groß genug sein, um die Dienste sinnvoll nutzen zu können. Messung der Servicenutzung Die tatsächliche Ressourcennutzung muss genau berechnet werden können, dies ist für die nutzungsbezogene Bezahlung nötig. Es existieren zahlreiche verschiedene Dienstleistungen in der Cloud, die unter dem Begriff Anything-as-a-Service (XaaS), gemäß eines passenden Suffixes zusammengefasst werden. Nach der Definition des National Institute of Standards and Technology (NIST) [8] lassen sich die folgenden drei Hauptbegriffe herausstellen:

5 - 3 - Software-as-a-Service (SaaS) Platform-as-a-Service (PaaS) Infrastructure-as-a-Service (IaaS) SaaS-Anbieter stellen Software zur Verfügung, die ein Nutzer sofort und in der Regel über einen Webbrowser benutzen kann. Anbieter von PaaS erlauben es dem Nutzer eigene Software auf einer bereitgestellten Platform ausführen zu können. Im Gegensatz dazu stellen IaaS nur grundlegende Funktionen, wie Back-Ups etc. sowie eigentliche Rechenleistung zur Verfügung, die dann vom Nutzer selber weiter verwaltet werden muss. Das in dieser Arbeit fokussierte Paradigma des Database-as-a-Service kann nicht ausschließlich einer der Kategorien zugeordnet werden, sondern erstreckt sich vielmehr über die verschiedenen Ebenen und lässt sich nur bei konkreten Implementierungen einzeln einordnen. Der Begriff Database-as-a-Service wird in dieser Arbeit als DaaS abgekürzt. In der Literatur wird vielfach auch die Abkürzung DAS verwenden, was jedoch nicht dem sonst in der Cloud-Umgebung üblichem XaaS-Schema entspricht. Auch die Abkürzung DBaaS ist öfter aufzufinden, da das Kurzwort DaaS auch im Bereich der reinen Datenspeicherung für Dataas-a-Service verwendet wird. Die Bezeichnung ODB(S) für outsourced database (system) hat sich nicht durchgesetzt. DaaS ist ein duales Konzept, da es sowohl wirtschaftliche Konzepte sowie technische Konzepte berücksichtigt (vgl. [Lan09]). Aus wirtschaftlicher Sicht erhält der Nutzer eine genaue leistungsbezogene Abrechnung, die Möglichkeit Dienstgütevereinbarungen abzuschließen und die Dienste beliebig und berechenbar zu skalieren. Aus technischer Sicht erhält der Nutzer Datenbankfunktionalitäten. Dies können einzelne Teilfunktionalitäten oder Gesamtkonzepte sein. Es muss insbesondere möglich sein, ein Datenmodell vorgeben zu können und über eine Abfragesprache, meist SQL (vgl. Kapitel 2.4), auf hinterlegte Daten zuzugreifen Vertrauensmodell In dem DaaS-Szenario treten folgende verschiedene Akteure auf: Dateninhaber: Der Dateninhaber ist die Person, die im Besitz der Daten ist, diese zur Nutzung freigibt und evtl. Berechtigungen für die Datenzugriffe bestimmt (Lese-, Schreibrechte).

6 - 4 - Nutzer: Der Nutzer stellt die Abfragen an die Datenbank. 1 Server/Anbieter: Der Anbieter stellt einen Server zur Verfügung, über den er Datenbankfunktionalität anbietet. Der Dateninhaber und die Nutzer sind in diesem Zusammenhang Vertrauenswürdigkeit zu unterstellen, denn sie sind der Auftraggeber und autorisierte Nutznießer. Der Server hingegen ist nicht vollkommen vertrauenswürdig. In dem DaaS Kontext führt er zwar alle Anweisungen des Nutzers und Dateninhabers korrekt aus, indem er die richtigen Tupel entsprechend einer Anfrage zurück gibt ohne diese zu verändern und indem er sich um die ordentliche Speicherung der Daten etc. kümmert. Er gilt jedoch als honest-but-curious. Denkbar ist beispielsweise, dass der Server sensible Daten für persönliche Zwecke sammelt und auswertet, um diese an Dritte weiter zu verkaufen. Dem Server wird also die Ausführung von passiven Attacken vorgeworfen. In Kapitel 4 wird darüber hinaus noch eine weitere Instanz eingeführt, nämlich ein Proxy- Server. Proxy: Ein Proxy-Server vermittelt zwischen dem Nutzer und dem Server. Der Proxy-Server wird entweder auch von einem dritten Dienstleistungsanbieter betrieben oder vom Nutzer selbst, gilt jedoch in beiden Fällen als vertrauenswürdig. Im Unterschied zu einem DaaS-Anbieter kann einem Proxy-Anbieter eher vertraut werden, weil nur sehr kleine Datenmengen geschützt werden müssen, sodass keine umfangreiche Datenbanksystem- Funktionalität angeboten werden muss. Zudem ist dem Anbieter eines Proxys nicht unbedingt bewusst, was auf dem Server ausgeführt wird, wohingegen ein DaaS-Anbieter schon deutlich zweckspezifischer ist (vgl. [DRD11]). Alle anderen Randbedingungen werden hier als sicher unterstellt und nicht weiter betrachtet. Zum Beispiel wird die Verbindung zwischen den unterschiedlichen Akteuren als sicher angesehen (Ende-zu-Ende). Es wird darüber hinausgehend nicht weiter auf das Forschungsfeld des Private Information Retrieval (PIR) eingegangen, das u.a. Abfrageschemata komplett verbirgt. 2 1 Wenn der Begriff Nutzer nicht im Kontext einer Abfrage an eine Datenbank fällt, ist der Nutzer der Vertragspartner für den Anbieter, also auch synonym zu Dateninhaber. 2 Für einen Einstieg sei auf [CKGS98] und [OS07] verwiesen.

7 Anforderungen Trotz der beschriebenen Vorteile durch den Einsatz von DaaS-Konzepten, darf das Augenmerk auf die Datensicherheit nicht verloren gehen (vgl. [WAF11]), insbesondere wenn es sich um geschäftskritische Daten handelt. Ein Nutzer kann zwar davon ausgehen, dass der Anbieter alle Anweisungen korrekt ausführt. Er kann jedoch entweder den Implementierungen von Sicherheitsmaßnahmen seitens des Anbieters nicht vertrauen oder dem Anbieter böswillige Absichten unterstellen. Um einen sicheren Einsatz zu gewährleisten, müssen deshalb folgende Kriterien von der Dienstleistung des Anbieters erfüllt werden (vgl. [KL10]): Vertraulichkeit: Der Anbieter erhält keine Informationen über die Daten. Integrität: Daten müssen in unveränderter Form vorliegen. Jeder nicht autorisierte Zugang zu den Daten wird erkannt. Authentizität: Die Integrität und Herkunft der Daten muss beweisbar sein. Jeder Zugriff auf die Daten wird protokolliert. Verfügbarkeit: Ein berechtigter Nutzer kann zu jeder Zeit auf die Daten zugreifen. Zuverlässigkeit: Die Daten werden zuverlässig gesichert (back-up). Effizienz: Der Zugriff muss in vergleichbarer Zeit wie in herkömmlichen selbst betriebenen Datenbanken erfolgen. Der Schwerpunkt dieser Arbeit liegt auf der Vertraulichkeit der in Kapitel beschriebenen grundlegenden Konzepte, nämlich die verschlüsselte Hinterlegung der Daten und deren Abfrage. Dabei sollen zu jeder Zeit möglichst viele der Berechnungen bzw. Abfragen beim Anbieter bearbeitet werden. Die weiteren Anforderungen sind nicht Bestandteil dieser Arbeit, auch wenn insbesondere die Effizienz stark von dem gewählten Verfahren abhängig ist (vgl. Kapitel 5). 2.2 Kryptographie AES Ein symmetrisches Kryptosystem Die Abkürzung AES steht für Advanced Encryption Standard und ist ein Vertreter der symmetrischen Kryptosysteme. Symmetrische Verschlüsselungen sind dadurch gekennzeichnet, dass beide Teilnehmer den gleichen Schlüssel verwenden. Klartexte besitzen in der Regel

8 - 6 - unterschiedliche Längen, jedoch erwarten Verschlüsselungsverfahren in der Regel feste Eingabegrößen. Klartexte werden deshalb in entsprechende Einheiten (Blöcke oder Zeichen) gruppiert. Man teilt die symmetrischen Verfahren deshalb weiter in Blockchiffren-basierte Verfahren und Stromchiffren (Zeichen für Zeichen) auf (vgl. hier und im Folgenden [Eck09] und [Ert07]). AES ist seit dem Jahr 2000 der direkte Nachfolger des Data Encryption Standard (DES), ist eine symmetrische Blockchiffre mit fester Blocklänge von 128 Bit und hat eine Schlüssel k mit der Länge von wahlweise 128, 192 oder 256 Bit. Jeder Block wird in eine interne Darstellung als Form einer 4x4-Matrix umgewandelt, wobei jeder Eintrag der Matrix 8 Bit groß ist (4 4 8 = 128). Diese Matrix wird als state bezeichnet. Jeder Block wird mehrfach wiederholend (mehrere Runden) mit derselben Abfolge von Funktionen bearbeitet. Für jede Runde wird aus dem symmetrischen Schlüssel ein sogenannter Rundenschlüssel abgeleitet (Schlüsselexpansion), der dann vor und nach jeder Runde über ein exklusives Oder mit dem Block verknüpft wird. Jede Runde kann dann grob folgendermaßen beschrieben werden: Substitution: Jedes Byte aus der Matrix wird mit Hilfe einer Substitutionschiffre ersetzt. Eine solche Chiffre ersetzt jedes Zeichen eines Alphabets in ein dazu entsprechendes Zeichen aus einem anderen Alphabet. Ein Byte kann 2 8 = 256 Ausprägungen annehmen, die dazugehörige Transformationen lassen sich also effizient in einer Look-Up Tabelle speichern, der s.g. S-Box. Permutation: Die Einträge einer Zeile der Matrix werden nach links verschoben. Dabei wird jede Zeile i {0,1,2,3} um i Stellen verschoben. Dieser Vorgang wird als Shift- Row-Transformation bezeichnet. Diffusion: Nach der Zeilentransformation erfolgt nun die Spaltentransformation der Matrix, die s.g. MixColumn-Transformation. Dies erfolgt durch eine Multiplikation der Matrix mit einem Vektor, der Polynome enthält und so die Einträge der Spalten der Matrix in Wechselwirkung treten lässt. Jedes Bit ist somit von dem Schlüssel abhängig, die Substitution ist stark resistent und durch die Transformationen erfolgt eine sehr gute Durchmischung. Für eine AES-Verschlüsselung mit einer Schlüssellänge von 128 Bit werden zum Zeitpunkt dieser Arbeit 16 Runden empfohlen [1]. Da alle Schritte/Transformationen invertierbar sind, erfolgt die Entschlüsselung durch Anwendung der entsprechenden Inversen in umgekehrter Reihenfolge. Die einfachste Art Blockchiffren zu verwenden, besteht darin, die einzelnen Blöcke jeweils für sich nach obigem Schema zu verschlüsseln. Dieser Stil wird electronic codebook (ECB- Modus) genannt, da eine Art Tabelle mit Klartext-Chiffre-Paaren erstellt werden kann. Ein

9 - 7 - Angreifer kann allerdings in bestimmten Szenarien Teile der Chiffre durch Ersetzen von Blöcken manipulieren. Bei einer Banküberweisung mit immer gleichen Sender und Empfänger könnte ein Angreifer beispielsweise den Block mit dem sich nur ändernden Betrag versuchen zu manipulieren. Die einzelnen Blöcke werden deshalb in der Regel vorher miteinander verknüpft, z.b. durch das cipher block chaining (CBC-Modus). Jeder Block wird dabei erst mit dem Chiffretext seines Vorgängers verkettet und dann erst verschlüsselt: c i = Enc k (c i 1 m i ) Die Verschlüsselung des ersten Blocks erfolgt unter einem vereinbarten Startwert c 0, der als Initialisierungsvektor (IV) bezeichnet wird. Es existieren zahlreiche weitere Betriebsmodi für Blockchiffren RSA Ein asymmetrische Kryptosystem Das RSA-Verfahren ist benannt nach seinen Erfindern Rivest, Shamir und Adleman und ist ein Vertreter der asymmetrischen Verfahren. Die zentrale Idee eines asymmetrischen Verfahren ist die Einführung eines Schlüsselpaares für jeden Nutzer. Jedem Nutzer wird ein geheimer Schlüssel sk (Private-Key) und ein öffentlicher pk (Public-Key) zugewiesen, wobei der öffentliche Schlüssel allen anderen Nutzern bekannt ist. Klartexte werden vom Sender mit dem öffentlichen Schlüssel des Empfängers verschlüsselt. Nur dieser kann dann den Chiffretext unter Verwendung seines geheimen Schlüssels entschlüsseln. Ein Nutzer muss also in Abgrenzung zur symmetrischen Verschlüsselung nicht unterschiedliche Schlüssel für jeden anderen Nutzer zur verschlüsselten Kommunikation vorhalten. Asymmetrische Verfahren bestehen in der Regel aus zwei elementaren Teilen: der Schlüsselerzeugung und dem eigentlichen Verschlüsselungsalgorithmus (vgl. hier und im Folgenden [Eck09] und [Ert07]). Schlüsselerzeugung: Der private und öffentliche Schlüssel müssen von einander abhängen. Zur Berechnung der Schlüssel werden sogenannte Einweg-Funktionen verwendet, damit vom öffentlichen Schlüssel keine Rückschlüsse auf den privaten Schlüssel gezogen werden können. Eine Einweg-Funktionen f : X Y ist dadurch gekennzeichnet, dass für alle x X der Funktionswert f (x) effizient berechenbar ist und es umgekehrt kein effizientes Verfahren gibt, dass aus dem Bild y = f (x) das Urbild x berechnen kann. Das RSA-Verfahren benutzt das Faktorisierungsproblem als Einwegfunktion: Die Berechnung einer Multiplikation von zwei sehr großen Primzahlen p und q kann effizient erfolgen, allerdings ist für die Primfaktorzerlegung großer Zahle also des Ergebnisses kein effizientes Verfahren bekannt. Da laufend neue Verfahren entwickelt werden, die solche Zerlegungen für immer größere Zahlen immer schneller erledigen, wird aktuell eine Länge des entstehenden Produkts von > 2048 Bit empfohlen [BBB + 11]. Der Ablauf für die Schlüsselgenerierung kann nun folgendermaßen beschrieben werden:

10 - 8 - Wähle zwei zufällige Werte für p und q mit den oben genannten Eigenschaften und berechne pq = n. Wähle eine natürliche Zahl d [0, n 1], sodass gilt ggt (ϕ(n), d) = 1, wobei ϕ(n) = (p 1)(q 1). Empfohlen wird dabei max(p,q) < d < ϕ(n) 1. Berechne e als Lösung der Gleichung ed mod ϕ(n) = 1. e entspricht also der multiplikative Inverse modulo ϕ(n) zu d. Gib das Zahlenpaar pk = (e,n) als öffentlichen Schlüssel bekannt und halte sk = (d,n) als privaten Schlüssel geheim. Verschlüsselungsalgorithmus: Die Verschlüsselung eines Klartextes m erfolgt durch die Berechnung c = m e i mod n, wobei e i der öffentliche Schlüssel des Empfängers i ist. Der Empfänger kann nun wiederum durch die Berechnung c d i mod n = m den Klartext rekonstruieren. Für einen anderen Nutzer ist die Entschlüsselung des Chiffretextes c nicht möglich aufgrund des Problems des diskreten Logarithmus. Für eine Funktion a x mod n = y ist kein effizientes Verfahren bekannt, das zu gegebenen y mit dem diskreten Logarithmus x = log a y mod n bestimmen kann Homomorphismen Eine homomorphe Verschlüsselung erlaubt es einem Nutzer aus zwei (oder mehreren) Chiffretexten einen neuen Chiffretext zu gewinnen, der dem chiffrierten Ergebnis einer algebraischen Funktion über den Klartexten der Chiffretexte entspricht. Dabei werden weder die Klartextdaten noch die verwendeten Schlüssel sichtbar. Seien (A, g ) und (B, h ) zwei Gruppen, so wird eine Abbildung f : A B Homomorphismus genannt (vgl. [BSMM08]), wenn für alle x,y A gilt: f (x g y) = f (x) h f (y) Für eine additive homomorphe Verschlüsselung (beispielsweise [Pai99]) gilt: Dec( f (Enc(x),Enc(y))) = x + y Eine multiplikative homomorphe Verschlüsselung ist z.b. die RSA Verschlüsselung aus Kapitel

11 - 9 - Eine besondere Familie der homomorphen Verschlüsselungen stellen die vollhomomorphen Verschlüsselungsschemata dar (Fully Homomorphic Encryption FHE). Bei diesen Homomorphismen sind die Operationen nicht auf eine einzelne Funktion (entweder Addition oder Multiplikation) beschränkt, wie dies in Abgrenzung dazu bei den partiellhomomorphen Verschlüsselungen (Somewhat Homomorphic Encryption SHE) der Fall ist. Die vollhomomorphen Verschlüsselungen erlauben vielmehr die Ausführung einer beliebigen Funktion auf die Chiffredaten. Ein homomorphes Verschlüsselungsschema ε besteht aus den vier Algorithmen KeyGen ε, Encrypt ε, Decrypt ε und Evaluate ε. In einem asymmetrischen Verschlüsselungsschema generiert KeyGen ε in Abhängigkeit von λ (wobei λ ein Sicherheitsparameter ist, der die Bit- Länge der Schlüssel angibt) einen privaten Schlüssel sk und einen öffentlichen Schlüssel pk. 3 Dem Evaluate ε Algorithmus ist eine Menge erlaubter Funktionen F ε zugeordnet. Für eine Funktion f F ε und einem Chiffretext c i = Encrypt(pk,m i ) erstellt dieser einen neuen Chiffretext c = Evaluate(p k, f,c 1,...,c t ), sodass gilt: Decrypt(sk,c) = f (m 1,...,m t ). Ziel eines homomorphen Verschlüsselungsschemas in einem DaaS-Szenario ist es, Berechnungen (Evaluate ε ) auszulagern und diese von einem Dritten durchführen zu lassen. Es gelten deshalb folgende Anforderungen: Alle Algorithmen müssen effizient im Sinne einer polynomiellen Laufzeit poly(λ) sein; auch Evaluate ε soll effizient im Sinne einer polynomiellen Laufzeit für den Service- Anbieter sein. Die Entschlüsselung von c i = Encrypt( ) und c = Evaluate( ) muss die gleiche Rechenkapazität benötigen (wird vom Client durchgeführt). Die Chiffretextlänge von c und c i muss identisch sein (compact ciphertexts). c muss also unabhängig von f immer die gleiche Chiffretext-Größe und Entschlüsselungs- Komplexität haben. Die Komplexität von Evaluate ε ist ersichtlicherweise auch abhängig von f. f wird in homomorphen Verschlüsselungen als Schaltkreis dargestellt. Insbesondere Angaben wie a = b? c : d für boolsche Zuweisungen können nicht ausgewertet werden, da die Werte verschlüsselt sind. Man nutzt deshalb die bitweise Binäroperationen, die dann als Schaltkreis dargestellt werden. Das Beispiel würde dann in a = (b AND c) OR ((NOT b) AND d) entsprechend umgeschrieben werden. Die Darstellung der Funk- 3 Es sind auch symmetrische homomorphe Verschlüsselungsschemata möglich.

12 tion als Schaltkreis hat zudem den Vorteil, dass es für eine homomorphe Verschlüsselung ausreicht, die elementaren Funktionen Addition, Subtraktion und Multiplikation zu beherrschen. 4 Für die Berechnung der Komplexität von f wird die Anzahl der Gatter der Schaltkreisfunktion bestimmt. Dabei gilt Evaluate ε als effizient, wenn ein polynomielles g(λ) existiert, sodass die Komplexität in O(S f g(λ)) liegt, wobei S f die Anzahl der AND-, OR- und NOT-Gatter von f entspricht. [RAD78] waren die Ersten, die vollhomomorphe Schemata für die nahe Zukunft voraussagten. Erst [Gen09] stellt allerdings einen Entwurf für eine vollhomomorphe Verschlüsselung vor. Im Folgenden soll ein davon abgeleitetes Schema (vgl. [DGHV10] und [Gen10]), das allerdings nur Berechnungen von ganzen Zahlen ermöglicht, skizzenhaft vorgestellt werden. Zur Vereinfachung wird an dieser Stelle mit einer symmetrischen Variante begonnen. Eine Umwandlung eines symmetrischen in ein asymmetrisches Verfahren und umgekehrt ist nach [Rot11] immer möglich. In Abhängigkeit von dem Sicherheitsparameter λ gilt: N = λ,p = λ 2,Q = λ 5. KeyGen ε (λ): generiert einen zufälligen P-bit langen Schlüssel p, der ungerade ist. Encrypt ε (p,m i ): verschlüsselt ein Bit m i {0,1} mit c i = p q+(2r +m i ), wobei q eine Q-bit lange Zufallszahl und r eine Zufallszahl ist, sodass (2r + m i ) N-bit lang ist. (2r + m i ) wird dabei als Rauschen (noise) bezeichnet, welches nachfolgend näher beschrieben wird. Homomorphe Grundoperationen: Add ε (c 1,c 2 ) c = c 1 +c 2, Sub ε (c 1,c 2 ) c = c 1 c 2, Mul ε (c 1,c 2 ) c = c 1 c 2 Evaluate( f,c 1,..,c t ): wandelt die als Schaltkreis dargestellte Funktion f in eine Funktion f um, indem alle Gatter aus f mit den entsprechenden homomorphen Grundoperationen vertauscht werden. Sie erzeugt dann den Chiffretext c = f (c 1,...,c t ) Decrypt ε (p,c): berechnet das Klartext-Bit m = (c mod p) mod 2. Die Berechnung der Funktion kann vereinfacht werden durch die äquivalente Funktion m = LSB(c) LSB( c/p ), weil p ungerade ist, wobei die Rundung zur nächsten ganzzahligen Zahl darstellt und LSB( ) das niedrigstwertige Bit (least significant bit) ist. Das Rauschen ist also die Differenz zum nächsten Vielfachen von p. Es muss gelten, dass dieses Rauschen kleiner als p ist, da sonst das Ergebnis durch die Verschlüsselung verfälscht wird (c mod p). Bei jeder Operation innerhalb von Evaluate ε erhöht sich das Rauschen allerdings. Im schlimmsten Fall erhöht sich das Rauschen quadratisch durch Anwendung von Mult ε ; bei der Verwendung von Add ε verdoppelt es sich. Operationen sind also nur möglich, 4 AND(x,y) = xy, OR(x,y) = 1 (1 x)(1 y), NOT (x) = 1 x

13 solange das Rauschen kleiner als p/2 ist. Für c 1 c 2 gilt beispielsweise c = (...) p + (2r 1 r 2 + r 1 m 2 + m 1 r 2 ) 2 + m 1 m 2 Mit Decrypt ε (p,c) (c mod p) mod 2 ergibt sich daher m = m 1 m 2 Dieses Verschlüsselungsschema kann bereits Polynome bis zum Grad d mit t Variablen berechnen, für die gilt: 2 N d( t d) < p/2 Dies gilt ungefähr, wenn d < P/(N log(t)). 5 Das Schema wird als sicher angesehen, da es auf dem NP-schweren Problem des approximate gcd (vgl. [Sch85]) basiert, welches nicht in polynomieller Laufzeit gelöst werden kann. Die oben gewählten Parameter N, P und Q stellen dies sicher. Bootstrapping Bei dem bisher vorgestellten Verfahren handelt es sich um ein partiellhomomorphes Verschlüsselungsschema, da das Rauschen nach einiger Zeit zu groß wird. [Gen09] führt deshalb den Begriff und das Verfahren des Bootstrapping ein. Dies wird zunächst im allgemeinen erläutert und anschließend auf das eben vorgestellte Verschlüsselungsschema ε angewandt. Ziel des Bootstrapping ist es, das Rauschen zu reduzieren, um weitere Operationen ausführen zu können. Die einzige Funktion, die das Rauschen vermindert und das aktuelle Ergebnis erhält ist genau eine Decrypt-Funktion. Ein Schema ist also bootstrapable, wenn Decrypt F. Eine Evaluate Methode kann somit auch Decrypt verarbeiten. Das Verschlüsselungsschema ist folglich selbstreferenzierend in dem Sinne, dass es auch die eigenen Funktionen des entsprechenden Verschlüsselungsschemas ausführen kann. Dies ermöglicht es, das Rauschen wieder auf das Anfangsrauschen einer Encrypt ε Funktion zu reduzieren. Die Ent- und Wiederverschlüsselung muss allerdings so geschehen, dass zu keiner Zeit irgendjemand Zugriff auf die Klartextdaten erhält. Für die folgende konzeptionelle Erklärung wird an dieser Stelle ein asymmetrisches Verfahren verwendet. sk i = Encrypt(pk i+1,sk i ) ist der private Schlüssel sk i verschlüsselt unter pk i+1, dabei ist i die entsprechende Ebene der Schaltkreisfunktion, wenn die Gatter topologisch geordnet sind. Die eigentliche Funktion, die das Umverschlüsseln vornimmt, also das Rauschen entfernt, ist: Recrypt(pk i+1,decrypt, sk i,c i ) Diese erstellt zunächst eine weitere Verschlüsselung über das schon bereits verschlüsselte c i : c i = Encrypt(pk i+1,c i ). Recrypt ruft dann in einem zweiten Schritt die Methode Evaluate(pk i+1,decrypt, sk i, c i ) auf. Diese berechnet zunächst den Schlüssel sk i, mit dem c i verschlüsselt ist. Sie benutzt dann diesen Schlüssel dazu, c i in m umzuwandeln. Das geschieht homomorph innerhalb der 5 Die Bitfolge (b n 1,...,b 0 ) wird dabei interpretiert als die Koeffizienten des Polynoms Poly(x) vom Grad n 1: Poly(x) = b n 1 x n b 0 x 0 (Beispiel: x 4 + x 3 + 1) Es handelt sich hier mathematisch um einen Ring der Polynome x über dem Körper (0,1) (vgl. [Kow06]).

14 darüber liegenden Verschlüsselung c i. Die innere Verschlüsselung ist damit aufgehoben, der Klartext nur noch unter der äußeren Schicht verschlüsselt und das Rauschen entfernt. Die Enschlüsselungsfunktion wird also auf der inneren Schicht aufgerufen es wird dabei zu jeder Zeit auf verschlüsselten Daten gearbeitet. Der Chiffretext soll allerdings nicht nur neu umverschlüsselt werden, sondern es sollen vielmehr Operationen darauf ausgeführt werden. Deshalb wird die Decrypt Funktion in soweit zu einem D erweitert, dass diese auch zusätzlich noch eine kleine Berechnung ausführt. So wird die Berechnung sukzessiv über die Schaltkreisfunktion ausgeführt. Das oben vorgestellte Verfahren ist bisher noch nicht bootstrappable, da die Berechnung von Decrypt ε noch zu komplex ist mit m = LSB(c) LSB( c/p ). Die LSB( ) Funktion und der XOR Operator sind trivale Funktionen, allerdings stellt sich die Berechnung von c/p als zu kompliziert dar. Es handelt sich in diesem Fall um die Multiplikation von den Zahlen c und 1/p, die beide P-bit lang sind. Dabei kann das neu erhaltende Polynom bis zu P Grade haben. Wie oben angemerkt, kann das Schema allerdings nur Polynome vom Grade d < P/(N log(t) berechnen. Die Funktion Decrypt ε wird deshalb insoweit geändert, dass sie nicht mehr zwei große Zahlen, sondern nur eine Menge kleiner Zahlen multipliziert und diese dann aufsummiert. Diese Summe entspricht dann dem Ergebnis c/p. Es ergibt sich somit das folgende finale Schema Z, das hier vereinfachend auf die Funktionen des obigen Schemas ε zurückgreift: KeyGen Z (λ): erzeugt über KeyGen ε (λ) die Schlüssel (pk ε,sk ε ). Erzeugt dann eine Menge y = (y 1,...,y β ), wobei y i [0,2), sodass für eine Teilmenge S {1,...,l} gilt: i S y i 1/p mod 2. Erzeuge nun sk Z, wobei dies eine Verschlüsselung von S in Form eines Vektors s {0,1} β ist, und pk Z als das Paar (pk ε, y). Encrypt Z (pk Z,m): extrahiert pk ε und y aus pk Z. Erzeugt dann c i mit Encrypt ε (pk ε,m) und berechnet eine Menge x = (x 1,...,x β ), wobei x k = c i y k, y k y. Die Funktion gibt nun den Chiffretext c als (c i,x) zurück. Evaluate Z : entspricht Evaluate ε. Decrypt Z (sk Z,c): extrahiert S aus sk Z, sowie c i und x aus c. Berechnet nun m = LSB(c) LSB( i s i x i ). Dies gilt, da: i s i x i = i c s i y i = c 1/p mod 2. Hervorzuheben ist, dass in der Encrypt Funktion schon ein Teil der Berechnung von Decrypt vorweggenommen wird und so eine Art Zwei-Phasen-Verschlüsselung entsteht. Das hier beschriebene Schema Z ist nun vollhomomorph: Die Decrypt Z Funktion ist von der Komplexität so gering, sodass die Evaluate Z Methode diese auch verwerten kann (Bootstrapping) und so das Rauschen zu jeder Zeit verringern kann. Das Vorgehen, die Berechnung der Entschlüs-

15 selungsfunktion nach obigen Prinzip zu vereinfachen, wird in der Literatur als Squashing the Decryption Circuit bezeichnet. Das Schema gilt als sicheres Verschlüsselungsschema, obwohl pk Z bereits Hinweise auf sk Z enthält, da die Aufteilung auf dem NP-schweren Untermengensummen-Problem (sparse subset sum) basiert (vgl. [CLRS10]). 2.3 Kryptoanalyse Dieser Abschnitt soll einen Überblick über die Sicherheit von Verschlüsselungsverfahren bieten. Nach dem Kerckhoffschen Prinzip [Ker83] sollte die Stärke eines Verfahrens nur auf der Geheimhaltung des Schlüssels liegen und nicht auf der Geheimhaltung des Algorithmus. Da die Algorithmen deshalb in der Regel von ihren Autoren veröffentlicht werden, ist es das oberste Ziel der Angreifer, hieraus Rückschlüsse auf den verwendeten Schlüssel zu erlangen. Die Sicherheit eines Verschlüsselungsschema lässt sich in der Regel durch zwei Merkmale bestimmen: welche Angriffsszenarien werden durchgeführt und welche Informationen gelangen dabei an den Angreifer (vgl. hier und im Folgenden [BNS10]). Grundsätzlich unterscheidet man folgende Angriffsszenarien: COA - ciphertext only attack: Der Angreifer erhält verschiedene Chiffretexte, die alle mit demselben Schlüssel verschlüsselt sind. KPA - known plaintext attack: Der Angreifer kennt über die verschiedenen Chiffretexte hinaus auch noch eine Menge zugehöriger Klartexte. CPA - chosen plaintext attack: Der Angreifer hat in diesem Szenario die Möglichkeit, einen beliebigen Klartext in einen Chiffretext verschlüsseln zu lassen (dies geschieht durch eine dritte Partei, der Angreifer hat keinen Zugriff auf den Schlüssel). CCA - chosen ciphertext attack: Der Angreifer erhält zu einer von ihm vorgeschlagenen Menge an Chiffretexten die dazugehörigen Klartexte. Die vorgestellten Angriffsszenarien können weiter untergliedert werden in direkte und adaptive Angriffe. Führt der Angreifer seinen Angriff aus, erkennt er erst dann eines der oben beschriebenen Szenarien und agiert entsprechend, dann handelt es sich um einen direkten Angriff. Kennt der Angreifer allerdings schon bereits im Vorhinein die Angriffsmöglichkeit und kann er den Angriff entsprechend anpassen, handelt es sich um einen adaptiven Angriff. Sicher im Sinne der Ununterscheidbarkeit ist ein Schema, wenn ein Angreifer zwei Nachrichten m 1 und m 2 verschlüsseln lässt, er nur einen der beiden Chiffretexte zurückerhält und

16 er durch seinen Angriff keine weiteren Informationen erlangen konnte, die eine Zuordnung von einem der beiden Klartexte zu dem Chiffretext ermöglichen. Dieses Problem ist auch als Ciphertext Indistinguishability (IND) bekannt. Ein Kryptosystem gilt als sicher, wenn es unter einem adaptiven CCA ununterscheidbar ist (IND-CCA); in diesem Szenario darf der Angreifer allerdings nicht den erhaltenden Chiffretext entschlüsseln lassen, sondern nur andere Chiffrate. Die Trefferwahrscheinlichkeit, das richtige m i zu wählen, beträgt dann für einen Algorithmus A des Angreifers: Pr[A(m 0,m 1,c) = m c = Enc k (m), m {m 0,m 1 }] = 0,5 Die Wahrscheinlichkeit, die richtige Wahl nach einem Angriff (a posteriori) zu treffen, ist also genauso so hoch wie vor dem Angriff (a priori). Da eine solche perfekte Sicherheit für einen Datensatz der Länge n allerdings auch einen Schlüssel der Länge n benötigt, ist der Sicherheitsbegriff nicht für die Praxis geeignet. Es wurde deshalb das Konzept der praktischen Sicherheit eingeführt. Ein Verfahren wird als praktisch sicher bezeichnet, wenn der Aufwand zur Durchführung der Kryptoanalyse die Möglichkeiten eines jeden denkbaren Analsysten übersteigt und die erforderlichen Kosten den erwarteten Gewinn bei weitem übertreffen [Eck09, S. 299]. Ein Analysealgorithmus gilt als effizient, wenn er ein Problem in polynomieller Laufzeit berechnen kann. Umgekehrt gilt natürlich, dass ein sicheres Verschlüsselungsverfahren auf einem NP-schweren Problem basieren muss, damit gerade kein entsprechend effizienter Analysealgorithmus existiert. 6 Ein Verfahren, das praktisch sicher ist, sollte zudem folgende Konstruktionsprinzipien verfolgen (vgl. [Eck09]): Partitionierung: Der Schlüsselraum eines Schemas darf nicht partitionierbar sein. Würde sich der Schlüsselraum z.b. bei jedem Analyseschritt halbieren, reduziert sich der Suchaufwand bei n Schlüsseln auf log(n). Diffusion: Jedes Chiffrezeichen sollte von möglichst vielen Klartextzeichen, sowie dem gesamten Schlüssel abhängen, damit die statistischen Besonderheiten des Klartextes ausgeglichen werden. Konfusion: Der Zusammenhang zwischen dem Klartext, dem Schlüssel und dem Chiffretext sollte so komplex wie möglich gehalten werden. Klartextangriffe: Ein Verschlüsselungsschema sollte IND-CCA sicher sein. Zwei Konzepte dienen zur Definition der praktischen Sicherheit: polynomielle Ununterscheidbarkeit und semantische Sicherheit. 6 Aufgrund der Worst-Case Vorgehensweise fällt ein Algorithmus bereits dann in die Klasse NP, wenn seine Berechnung für eine Eingabe einen nicht-polynomiellen Aufwand erfordert. Ist aber der Aufwand für andere Eingaben polynomiell, so kann das zugrunde liegende Verschlüsselungsschema gebrochen werden.

17 Ein Chiffriersystem ist polynomiell ununterscheidbar, wenn ein Angreifer zwei Nachrichten wie oben generiert und deren Chiffrate in polynomieller Zeit nicht unterscheiden kann. Sicher im Sinne einer polynomiellen Ununterscheidbarkeit ist ein Schema, wenn der Angreifer bei der obigen Berechnung eine Wahrscheinlichkeit von 0,5 + ν(λ) erhält, wobei für einen wachsenden Sicherheitsparameter λ (λ entspricht der Länge des Schlüssels) der Ausdruck ν(λ) gegen 0 konvergiert und somit vernachlässigbar ist. Je größer die Schlüssellänge demnach ist, desto näher liegt die Erfolgswahrscheinlichkeit an der Ratewahrscheinlichkeit. Das Konzept der semantischen Sicherheit ähnelt dem der perfekten Sicherheit. Die semantische Sicherheit wird zur Definition der Public-Key Sicherheit verwendet. Ob ein Klartext m eine bestimmte Eigenschaft aufweist, sei durch die Funktion h(m) {0,1} erklärt. Es gilt dann für zwei verschieden Angreifer mit den Algorithmen A und B: Pr[A(λ,c,PK) = h(m)] Pr[B(λ,PK) = h(m)] + ν(λ) Jeder Angreifer A kann also nur unwesentlich bessere Aussagen über den Klartext machen, als ein Angreifer B, der keinen Chiffretext kennt. Die beiden Konzepte stehen in einer engen Beziehung. Ein Public-Key Schema ist polynomiell ununterscheidbar, wenn es semantisch sicher ist (vgl. [MRS88]). Damit ein Verfahren polynomiell sicher ist, muss es die Verschlüsselung durch Hinzufügen von Zufallsrauschen oder die entsprechende Auswahl eines Initialisierungsvektors bei einer Blockchiffre zufällig gestalten. Die Funktionen sind dann probabilistisch und erzeugen entsprechende Verteilungen über die Chiffretexte. Der Informationsgehalt einer Nachricht wird nach [Sha01] durch die so genannte Entropie beschrieben. Der Informationsgehalt und der dazugehörige Entropiewert stehen dabei in einem umgekehrten Verhältnis zueinander. Die Entropie einer Nachricht ist also maximal, wenn die Chiffretext-Werte gleichverteilt sind. Die Entropie beträgt dann H max = log(n). Je mehr eine Quelle von der maximalen Entropie abweicht, desto günstiger stehen die Chancen, dass aus einer Menge von Klartexten derjenigen, welcher am wahrscheinlichsten ist, tatsächlich zum beobachteten Chiffretext passt. Je mehr Informationen über die Chiffre- und Klartexte bekannt sind, desto unsicherer ist ein Verschlüsselungsschema. Ein Beispiel für eine Caesar-Verschlüsselung soll dies verdeutlichen: Ein solches Schema verschiebt ein Alphabet um eine bestimmte Anzahl von Stellen. Der in der deutschen Sprache am häufigsten verwendete Buchstabe ist das E. Angenommen, in dem chiffrierten Text würde der Buchstabe G am häufigsten vorkommen. Das G ist der siebte Buchstabe im Alphabet und E ist der fünfte Buchstabe im Alphabet. Es erscheint also als sehr wahrscheinlich, dass der verwendete Schlüssel 2 ist, also alle Buchstaben um zwei Buchstaben nach rechts verschoben wurden. Generell probiert ein Brute-Force Angreifer alle möglichen Schlüssel nach absteigender Wahrscheinlichkeit nacheinander aus und versucht so, den passenden Schlüssel für das Verfahren zu finden. Bei langen Schlüsseln und einem damit verbundenen großen Suchraum wird das Verfahren allerdings schnell sehr ineffizient. Angreifer bedienen sich deshalb einer Vielzahl anderer Methoden. Bekannte Vertreter sind u.a. die lineare und die differenzielle

18 Kryptoanalyse. Die lineare Kryptoanalyse basiert auf der linearen Annäherung an den wahrscheinlichsten Schlüssel, die differenzielle Analyse untersucht die Auswirkungen von Differenzen in Klartextblöcken auf die Differenzen in den Chiffretextblöcken. Einen Einstieg für verschiedene Kryptoanalyse-Methoden bietet [SL07]. 2.4 Structured Query Language Die Structured Query Language (SQL) ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO standardisiert und wird von gängigen Datenbanksystemen unterstützt. Der Sprachumfang von SQL beinhaltet vier Kategorien (vgl. [MKF + 03]): Data Definition Language (DDL) beschreibt, wie Datenbanktabellen angelegt, geändert oder gelöscht werden (CREATE, ALTER, DROP). Data Manipulation Language (DML) beschreibt, wie schreibende und manipulierende Zugriffe auf eine Datenbanktabelle wirken (INSTERT, UPDATE, DELETE). Data Query Language (DQL) wird oftmals auch mit der DML zusammengefasst. Die DQL beschreibt nur die reinen lesenden Zugriffe auf eine oder mehrere Datenbanktabellen (SELECT). Data Control Language (DCL) beschreibt, wie z.b. Zugriffsrechte in einer Datenbanktabelle vergeben oder entzogen werden können (GRANT, REVOKE) und ist u.a. auch für die referentielle Integrität der Daten verantwortlich. Im Folgenden soll ein kurzer Überblick über die Bestandteile der DQL gegeben werden, die insbesondere im Hinblick auf die Abfrage verschlüsselter, externer Daten interessant sind. Die Funktionalitäten einer lesenden Abfrage können unterteilt werden in Filterung, Aggregation und Verbund der Daten. Filterung: Eine Tabelle kann bezüglich der Werte ihrer Attribute gefiltert werden. Es werden nur die Daten angezeigt, deren Wert dem Suchbegriff entsprechen. Die Werte lassen sich dabei mit den folgenden Operatoren vergleichen: {=, <, >,,,<>}. Der LIKE Operator untersucht ein Attribut auf ein bestimmtes Muster. Durch die Verwendung von boolschen Ausdrücken (AND, OR, NOT) kann die Filterung über die Attribute dabei beliebig kombiniert werden. Es existieren weitere vereinfachende Abfragen, beispielsweise die Bereichsabfragen (BETWEEN Operator), die Kombinationen aus den vorherigen Operatoren sind. Das folgende SQL-Beispiel demonstriert den Einsatz von Filtern:

19 SELECT * FROM Person WHERE Person.Stadt LIKE %ster AND Person.PLZ > AND Person.Hausnummer BETWEEN 50 AND 100; In dem Beispiel werden aus der Datenbankrelation Person all die Datensätze zurückgegeben, die den entsprechenden Bedingungen der Abfrage genügen: Die Person wohnt in einer Stadt, die den Wortteil ster enthält, die Postleitzahl ist nummerisch größer als und die Hausnummer der Person liegt zwischen den Werten 50 und 100. Über ein ORDER BY Statement können die Daten entsprechend eines Attributs sortiert werden. Aggregation: Werden die Daten durch Operationen verdichtet, spricht man von einer Aggregation der Daten. Die wichtigsten Operatoren sind die Summe der ausgewählten Daten (SUM), die Anzahl der ausgewählten Tupel (COUNT) und der Durchschnittswert (AVG = SUM/COUNT). Hinzu kommen die Maximumsfunktion (MAX) und die Minimumsfunktion (MIN). Über das GROUP BY Statement können die Ausgaben entsprechend den Daten gruppiert werden. SELECT Person.Name, COUNT(Person.Name) FROM Person WHERE Person.Hausnummer BETWEEN 50 AND 100 GROUP BY Person.Name; In diesem Beispiel werden zunächst alle Personen betrachtet, deren Hausnummer zwischen den Werten 50 und 100 liegen. Für jeden Namen in dieser Datenbank wird nun eben dieser und die Häufigkeit des Auftretens zurückgegeben; es mögen beispielsweise 15 Personen mit dem Name Müller die Bedingung erfüllen, dann ist einer der Rückgabewerte Müller, 15. Verbund: Ein Verbund (JOIN) verknüpft zwei verschiedene Relationen miteinander. Ein wichtiges Differenzierungsmerkmal ist die Unterscheidung zwischen equi- und non-equi- Joins. Die equi-joins verbinden zwei Relationen über gleiche Werte (=). Ein non-equi-join arbeitet über andere Vergleichsoperatoren (<, >). Die equi-joins werden weiter unterschieden zwischen dem Inner- und dem Outer-Join. Der Inner-Join verknüpft Zeilen aus zwei Tabellen, wenn die zu verknüpfenden Werte in beiden Tabellen vorkommen. Ein Outer-Join verknüpft Zeilen aus zwei Tabellen, auch wenn die zu verknüpfenden Werte nur in einer Tabelle vorkommen. 7 Ein SQL-Beispiel kann beispielhaft folgendermaßen aussehen: SELECT * FROM Person INNER JOIN Abrechnung ON Person.Name = Abrechnung.Name; 7 Über die relationale Algebra hinaus gibt es in SQL noch weitere Join-Typen. Eine Übersicht findet sich unter [2].

20 Die Abfrage gibt eine neue Relation zurück, die die Attribute beider Tabellen von Person und Abrechnung enthält; sofern das Datenfeld Name beidseitig übereinstimmt, werden die entsprechenden Datensätze aus den Tabellen zeilenweise verbunden. Die bisher vorgestellten Funktionen werden zu den Begrifflichkeiten in Tabelle 2.1 zusammengeführt. Tabelle 2.1: SQL-Funktion Begriffsdefinition Begriff Vergleiche Aggregate Verknüpfung Operationen Identität =, <> Verhältnis/Bereich <,, >,, BETWEEN Suche LIKE Beschränkung MAX, MIN Anzahl COUNT Summe SUM Durchschnitt AVG Gleichheit equi-join Ungleichheit non-equi-join Auf den ersten Blick implizieren einige Funktionen andere, dies ist aber nicht unbedingt wahr, weshalb die Funktionen einzeln aufgelistet werden. Wird die Identitätsfunkion unterstützt, wird nicht zwangsweise eine Verknüpfung per Gleichheit zwischen zwei Tabellen unterstützt. Die Relationen können nämlich mit unterschiedlichen Schlüsseln verschlüsselt werden, weshalb gleiche Klartextwerte unterschiedliche Chiffrewerte in verschiedenen Tabellen aufweisen. Da selbst Datensätze innerhalb einer Tabelle mit unterschiedlichen Schlüsseln verschlüsselt werden können, wird auch COUNT nicht zwingend unterstützt, wenn die Identitätsfunkionen unterstützt wird. Die Durchschnittsfunktion AVG kann zwar durch SUM/COUNT berechnet werden, wird hier aber der Vollständigkeit halber auch aufgelistet.

11. Das RSA Verfahren und andere Verfahren

11. Das RSA Verfahren und andere Verfahren Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

10. Public-Key Kryptographie

10. Public-Key Kryptographie Stefan Lucks 10. PK-Krypto 274 orlesung Kryptographie (SS06) 10. Public-Key Kryptographie Analyse der Sicherheit von PK Kryptosystemen: Angreifer kennt öffentlichen Schlüssel Chosen Plaintext Angriffe

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Substitutions-Chiffren (Permutationschiffren): Ersetzung jedes

Mehr

10. Kryptographie. Was ist Kryptographie?

10. Kryptographie. Was ist Kryptographie? Chr.Nelius: Zahlentheorie (SoSe 2015) 39 10. Kryptographie Was ist Kryptographie? Die Kryptographie handelt von der Verschlüsselung (Chiffrierung) von Nachrichten zum Zwecke der Geheimhaltung und von dem

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009 Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Verschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09

Verschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09 Verschlüsselung Fabian Simon BBS Südliche Weinstraße Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern 12.10.2011 Fabian Simon Bfit09 Inhaltsverzeichnis 1 Warum verschlüsselt man?...3

Mehr

Voll homomorpe Verschlüsselung

Voll homomorpe Verschlüsselung Voll homomorpe Verschlüsselung Definition Voll homomorphe Verschlüsselung Sei Π ein Verschlüsselungsverfahren mit Enc : R R für Ringe R, R. Π heißt voll homomorph, falls 1 Enc(m 1 ) + Enc(m 2 ) eine gültige

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

6.2 Perfekte Sicherheit

6.2 Perfekte Sicherheit 04 6.2 Perfekte Sicherheit Beweis. H(B AC) + H(A C) = H(ABC) H(AC) + H(AC) H(C) Wegen gilt Einsetzen in die Definition gibt = H(AB C). H(A BC) = H(AB C) H(B C). I(A; B C) = H(A C) H(AB C) + H(B C). Da

Mehr

Kapitel 3: Etwas Informationstheorie

Kapitel 3: Etwas Informationstheorie Stefan Lucks 3: Informationstheorie 28 orlesung Kryptographie (SS06) Kapitel 3: Etwas Informationstheorie Komplexitätstheoretische Sicherheit: Der schnellste Algorithmus, K zu knacken erfordert mindestens

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus 1 RYPTOSYSTEME 1 ryptosysteme Definition 1.1 Eine ryptosystem (P(A), C(B),, E, D) besteht aus einer Menge P von lartexten (plaintext) über einem lartextalphabet A, einer Menge C von Geheimtexten (ciphertext)

Mehr

Digitale Signaturen. Sven Tabbert

Digitale Signaturen. Sven Tabbert Digitale Signaturen Sven Tabbert Inhalt: Digitale Signaturen 1. Einleitung 2. Erzeugung Digitaler Signaturen 3. Signaturen und Einweg Hashfunktionen 4. Digital Signature Algorithmus 5. Zusammenfassung

Mehr

Verschlüsselung. Chiffrat. Eve

Verschlüsselung. Chiffrat. Eve Das RSA Verfahren Verschlüsselung m Chiffrat m k k Eve? Verschlüsselung m Chiffrat m k k Eve? Aber wie verteilt man die Schlüssel? Die Mafia-Methode Sender Empfänger Der Sender verwendet keine Verschlüsselung

Mehr

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

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau Asymmetrische Verschlü erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau Gliederung 1) Prinzip der asymmetrischen Verschlü 2) Vergleich mit den symmetrischen Verschlü (Vor- und Nachteile)

Mehr

monoalphabetisch: Verschiebechiffren (Caesar), multiplikative Chiffren polyalphabetisch: Vigenère-Chiffre

monoalphabetisch: Verschiebechiffren (Caesar), multiplikative Chiffren polyalphabetisch: Vigenère-Chiffre Was bisher geschah Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Substitutions-Chiffren (Permutationschiffren): Ersetzung jedes

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW...

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW... 12 Kryptologie... immer wichtiger Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW... Kryptologie = Kryptographie + Kryptoanalyse 12.1 Grundlagen 12-2 es gibt keine einfachen Verfahren,

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit Thema: Asymmetrische Verschlüsselung, Digitale Signatur Vortragender: Rudi Pfister Überblick: Asymmetrische Verschlüsselungsverfahren - Prinzip

Mehr

Einfache kryptographische Verfahren

Einfache kryptographische Verfahren Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b

Mehr

Authentikation und digitale Signatur

Authentikation und digitale Signatur TU Graz 23. Jänner 2009 Überblick: Begriffe Authentikation Digitale Signatur Überblick: Begriffe Authentikation Digitale Signatur Überblick: Begriffe Authentikation Digitale Signatur Begriffe Alice und

Mehr

DES der vergangene Standard für Bitblock-Chiffren

DES der vergangene Standard für Bitblock-Chiffren DES der vergangene Standard für Bitblock-Chiffren Klaus Pommerening Fachbereich Mathematik der Johannes-Gutenberg-Universität Saarstraße 1 D-55099 Mainz Vorlesung Kryptologie 1. März 1991, letzte Änderung:

Mehr

Kryptographie I Symmetrische Kryptographie

Kryptographie I Symmetrische Kryptographie Kryptographie I Symmetrische Kryptographie Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Wintersemester 2010/11 Krypto I - Vorlesung 01-11.10.2010 Verschlüsselung, Kerckhoffs, Angreifer,

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Ein Scan basierter Seitenangriff auf DES

Ein Scan basierter Seitenangriff auf DES Ein Scan basierter Seitenangriff auf DES Seminar Codes & Kryptographie SS04 Tobias Witteler 29.06.2004 Struktur des Vortrags 1. Einführung / Motivation 2. Struktur von DES 3. Die Attacke Begriffsklärung:

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

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

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit) Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit) 1. Einleitung Die Elektronische Unterschrift (EU) dient zur Autorisierung und Integritätsprüfung von

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Informatik für Ökonomen II HS 09

Informatik für Ökonomen II HS 09 Informatik für Ökonomen II HS 09 Übung 5 Ausgabe: 03. Dezember 2009 Abgabe: 10. Dezember 2009 Die Lösungen zu den Aufgabe sind direkt auf das Blatt zu schreiben. Bitte verwenden Sie keinen Bleistift und

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Sicherheit von hybrider Verschlüsselung

Sicherheit von hybrider Verschlüsselung Sicherheit von hybrider Verschlüsselung Satz Sicherheit hybrider Verschlüsselung Sei Π ein CPA-sicheres PK-Verschlüsselungsverfahren und Π ein KPA-sicheres SK-Verschlüsselungsverfahren. Dann ist das hybride

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

8. Von den Grundbausteinen zu sicheren Systemen

8. Von den Grundbausteinen zu sicheren Systemen Stefan Lucks 8. Grundb. sich. Syst. 211 orlesung Kryptographie (SS06) 8. Von den Grundbausteinen zu sicheren Systemen Vorlesung bisher: Bausteine für Kryptosysteme. Dieses Kapitel: Naiver Einsatz der Bausteine

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012 Symmetrische und Asymmetrische Kryptographie Technik Seminar 2012 Inhalt Symmetrische Kryptographie Transpositionchiffre Substitutionchiffre Aktuelle Verfahren zur Verschlüsselung Hash-Funktionen Message

Mehr

Sicherheit von PDF-Dateien

Sicherheit von PDF-Dateien Sicherheit von PDF-Dateien 1 Berechtigungen/Nutzungsbeschränkungen zum Drucken Kopieren und Ändern von Inhalt bzw. des Dokumentes Auswählen von Text/Grafik Hinzufügen/Ändern von Anmerkungen und Formularfeldern

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Anleitung Thunderbird Email Verschlu sselung

Anleitung Thunderbird Email Verschlu sselung Anleitung Thunderbird Email Verschlu sselung Christoph Weinandt, Darmstadt Vorbemerkung Diese Anleitung beschreibt die Einrichtung des AddOn s Enigmail für den Mailclient Thunderbird. Diese Anleitung gilt

Mehr

FTP-Leitfaden RZ. Benutzerleitfaden

FTP-Leitfaden RZ. Benutzerleitfaden FTP-Leitfaden RZ Benutzerleitfaden Version 1.4 Stand 08.03.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Zeitaufwand... 3 2 Beschaffung der Software... 3 3 Installation... 3 4 Auswahl des Verbindungstyps...

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Modul Diskrete Mathematik WiSe 2011/12

Modul Diskrete Mathematik WiSe 2011/12 1 Modul Diskrete Mathematik WiSe 2011/12 Ergänzungsskript zum Kapitel 4.2. Hinweis: Dieses Manuskript ist nur verständlich und von Nutzen für Personen, die regelmäßig und aktiv die zugehörige Vorlesung

Mehr

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002 Diffie-Hellman, ElGamal und DSS Vortrag von David Gümbel am 28.05.2002 Übersicht Prinzipielle Probleme der sicheren Nachrichtenübermittlung 'Diskreter Logarithmus'-Problem Diffie-Hellman ElGamal DSS /

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

PeDaS Personal Data Safe. - Bedienungsanleitung -

PeDaS Personal Data Safe. - Bedienungsanleitung - PeDaS Personal Data Safe - Bedienungsanleitung - PeDaS Bedienungsanleitung v1.0 1/12 OWITA GmbH 2008 1 Initialisierung einer neuen SmartCard Starten Sie die PeDaS-Anwendung, nachdem Sie eine neue noch

Mehr

Sichere E-Mails. Kundeninformation zur Verschlüsselung von E-Mails in der L-Bank

Sichere E-Mails. Kundeninformation zur Verschlüsselung von E-Mails in der L-Bank Sichere E-Mails Kundeninformation zur Verschlüsselung von E-Mails in der L-Bank Version: 2.1 Stand: 18.07.2014 Inhaltsverzeichnis II Inhaltsverzeichnis 1 Einleitung... 1 1.1 Überblick... 1 1.2 Allgemeine

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

ElGamal Verschlüsselungsverfahren (1984)

ElGamal Verschlüsselungsverfahren (1984) ElGamal Verschlüsselungsverfahren (1984) Definition ElGamal Verschlüsselungsverfahren Sei n ein Sicherheitsparameter. 1 Gen : (q, g) G(1 n ), wobei g eine Gruppe G der Ordnung q generiert. Wähle x R Z

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Was bisher geschah Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Substitutions-Chiffren (Permutationschiffren): Ersetzung jedes

Mehr

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen Sommersemester 2008 Digitale Unterschriften Unterschrift von Hand : Physikalische Verbindung mit dem unterschriebenen Dokument (beides steht auf dem gleichen Blatt). Fälschen erfordert einiges Geschick

Mehr

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

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing. www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks

Mehr

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Kryptographische Verfahren auf Basis des Diskreten Logarithmus Kryptographische Verfahren auf Basis des Diskreten Logarithmus -Vorlesung Public-Key-Kryptographie SS2010- Sascha Grau ITI, TU Ilmenau, Germany Seite 1 / 18 Unser Fahrplan heute 1 Der Diskrete Logarithmus

Mehr

Grundlagen der Kryptographie

Grundlagen der Kryptographie Grundlagen der Kryptographie Seminar zur Diskreten Mathematik SS2005 André Latour a.latour@fz-juelich.de 1 Inhalt Kryptographische Begriffe Primzahlen Sätze von Euler und Fermat RSA 2 Was ist Kryptographie?

Mehr

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel: RSA-Verschlüsselung Das RSA-Verfahren ist ein asymmetrisches Verschlüsselungsverfahren, das nach seinen Erfindern Ronald Linn Rivest, Adi Shamir und Leonard Adlemann benannt ist. RSA verwendet ein Schlüsselpaar

Mehr

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000 Folgende Anleitung beschreibt, wie Sie ein bestehendes Postfach in Outlook Express, bzw. Microsoft Outlook bis Version 2000 einrichten können. 1. Öffnen Sie im Menü die Punkte Extras und anschließend Konten

Mehr

Einführung in die moderne Kryptographie

Einführung in die moderne Kryptographie c by Rolf Haenni (2006) Seite 1 Von der Caesar-Verschlüsselung zum Online-Banking: Einführung in die moderne Kryptographie Prof. Rolf Haenni Reasoning under UNcertainty Group Institute of Computer Science

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Erste Vorlesung Kryptographie

Erste Vorlesung Kryptographie Erste Vorlesung Kryptographie Andre Chatzistamatiou October 14, 2013 Anwendungen der Kryptographie: geheime Datenübertragung Authentifizierung (für uns = Authentisierung) Daten Authentifizierung/Integritätsprüfung

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Übungen zu. Grundlagen der Kryptologie SS 2008. Hochschule Konstanz. Dr.-Ing. Harald Vater. Giesecke & Devrient GmbH Prinzregentenstraße 159

Übungen zu. Grundlagen der Kryptologie SS 2008. Hochschule Konstanz. Dr.-Ing. Harald Vater. Giesecke & Devrient GmbH Prinzregentenstraße 159 Übungen zu Grundlagen der Kryptologie SS 2008 Hochschule Konstanz Dr.-Ing. Harald Vater Giesecke & Devrient GmbH Prinzregentenstraße 159 D-81677 München Tel.: +49 89 4119-1989 E-Mail: hvater@htwg-konstanz.de

Mehr

Linux User Group Tübingen

Linux User Group Tübingen theoretische Grundlagen und praktische Anwendung mit GNU Privacy Guard und KDE Übersicht Authentizität öffentlicher GNU Privacy Guard unter KDE graphische Userinterfaces:, Die dahinter

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

Mehr

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor:

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor: Ergebnisreport: mehrere Lehrveranstaltungen zusammenfassen 1 1. Ordner anlegen In der Rolle des Berichterstellers (siehe EvaSys-Editor links oben) können zusammenfassende Ergebnisberichte über mehrere

Mehr

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Grundlagen der Verschlüsselung und Authentifizierung (2)

Grundlagen der Verschlüsselung und Authentifizierung (2) Grundlagen der Verschlüsselung und Authentifizierung (2) Benjamin Klink Friedrich-Alexander Universität Erlangen-Nürnberg Benjamin.Klink@informatik.stud.uni-erlangen.de Proseminar Konzepte von Betriebssystem-Komponenten

Mehr

Comtarsia SignOn Familie

Comtarsia SignOn Familie Comtarsia SignOn Familie Handbuch zur RSA Verschlüsselung September 2005 Comtarsia SignOn Agent for Linux 2003 Seite 1/10 Inhaltsverzeichnis 1. RSA Verschlüsselung... 3 1.1 Einführung... 3 1.2 RSA in Verbindung

Mehr

Fachhochschule Deggendorf Platzziffer:...

Fachhochschule Deggendorf Platzziffer:... Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine) Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen Vorlesung im Sommersemester 2010 an der Technischen Universität Ilmenau von Privatdozent Dr.-Ing. habil. Jürgen

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

ANYWHERE Zugriff von externen Arbeitsplätzen

ANYWHERE Zugriff von externen Arbeitsplätzen ANYWHERE Zugriff von externen Arbeitsplätzen Inhaltsverzeichnis 1 Leistungsbeschreibung... 3 2 Integration Agenda ANYWHERE... 4 3 Highlights... 5 3.1 Sofort einsatzbereit ohne Installationsaufwand... 5

Mehr

In beiden Fällen auf Datenauthentizität und -integrität extra achten.

In beiden Fällen auf Datenauthentizität und -integrität extra achten. Stromchiffren Verschlüsseln eines Stroms von Daten m i (Bits/Bytes) mithilfe eines Schlüsselstroms k i in die Chiffretexte c i. Idee: Im One-Time Pad den zufälligen Schlüssel durch eine pseudo-zufällige

Mehr

Windows 8 Lizenzierung in Szenarien

Windows 8 Lizenzierung in Szenarien Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr