State-of-the-Art von Verschlüsselungstechniken für Database-as-a-Service
|
|
- Eleonora Maurer
- vor 8 Jahren
- Abrufe
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
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
MehrDas 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
Mehr10. 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
MehrPrimzahlen 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
MehrKryptographische 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
Mehr10. 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
MehrRSA 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
MehrInformatik 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
MehrHandbuch 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
MehrDas 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
MehrZeichen 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
MehrBeweisbar 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
MehrVerschlü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
MehrVoll 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
MehrFachbericht 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
Mehr6.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
MehrKapitel 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
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Mehr1 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)
MehrDigitale 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
MehrVerschlü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
MehrAsymmetrische. 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)
Mehrmonoalphabetisch: 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
Mehr1 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.
Mehr12 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,
MehrSuche 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
Mehr1. 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:
MehrKonzepte 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
MehrEinfache 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
MehrAuthentikation 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
MehrDES 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:
MehrKryptographie 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 Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess
MehrEin 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:
MehrLenstras 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
MehrLizenzierung 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
MehrLineare 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
MehrUmstellung 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
MehrRekursionen. 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
MehrInformatik 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
MehrSDD 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
MehrSicherheit 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
MehrLizenzierung 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
Mehrgeben. 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
Mehr8. 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
MehrAustausch- 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:
MehrLizenzierung 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
MehrInstallationsanleitung 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.
MehrHilfedatei 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
Mehr7. Ü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
MehrSymmetrische 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
MehrSicherheit 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
MehrProfessionelle 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
MehrAutorisierung. 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
MehrAnleitung 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
MehrFTP-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...
MehrEinfü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
MehrDer 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
MehrModul 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
MehrDiffie-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 /
Mehr50. 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
MehrPeDaS 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
MehrSichere 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
Mehr4 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
MehrDas 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
MehrElGamal 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
MehrWeb-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.........................................
MehrDatenbank-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
MehrMathematische 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............................
MehrKryptographische 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
MehrDigitale 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
MehrBeschreibung 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
MehrKryptographische 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
MehrGrundlagen 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?
MehrRSA-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
Mehr8: 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,...)
Mehr2. 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
MehrEinrichten 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
MehrEinfü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
MehrGuide 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
MehrErste 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
MehrAbamsoft 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
MehrBerechnungen 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 D-81677 München Tel.: +49 89 4119-1989 E-Mail: hvater@htwg-konstanz.de
MehrLinux 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
Mehricloud 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
MehrUm 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
MehrSecond 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
Mehr1 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
MehrGrundlagen 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
MehrComtarsia 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
MehrFachhochschule 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
MehrDie 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,
MehrDigital 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
Mehr15 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
MehrANYWHERE 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
MehrIn 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
MehrWindows 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
Mehrmysql - 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
MehrTheoretische 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