Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.
Symmetrische Kryptographie Seminarvortrag aus der Reihe IT-Sicherheit von Johannes Zschoche...
-
Upload
karlmann-gerfen -
Category
Documents
-
view
113 -
download
8
Transcript of Symmetrische Kryptographie Seminarvortrag aus der Reihe IT-Sicherheit von Johannes Zschoche...
Symmetrische Kryptographie
Seminarvortrag aus der ReiheIT-Sicherheitvon Johannes ZschocheBetreuer: Prof. Dr. Lutz Wegner
Überblick Einordnung Kryptographie Eingrenzung des Begriffs Kryptographie Was soll mit Kryptographie erreicht werden? Grundbegriffe der Kryptographie Mathematisches Grundprinzip der Ver- und Entschlüsselung Prinzip von Kerckhoffs Beispiele aus der klassischen Kryptographie Elektromechanische Verschlüsselungsmaschine Grundprinzip Symmetrische Kryptographie Schlüsselaustauschproblem S-Box Data Encryption Standard (DES) Triple-DES Advanced Encryption Standard (AES): Rijndael RC4
Einordnung Kryptographie
griech. kryptós: verborgen, geheimgriech. gráphein: schreiben
Kryptographie: Geheimschrift Wissenschaft der Verschlüsselung
und Verschleierung von Informationen
Eingrenzung des Begriffs Kryptographie „Kryptographie ist eine öffentliche
mathematische Wissenschaft, in der Vertrauen geschaffen, übertragen und erhalten wird.“A. Beutelspacher – Kryptographie in Theorie und Praxis
Was soll mit Kryptographie erreicht werden? Vertraulichkeit (confidentiality) Authentizität (authenticity) Intigrität (integritiy) Verbindlichkeit (non-repudiation) Anonymität (anonymity)
Vertraulichkeit (confidentiality)
Kryptografisch lässt sich Vertrauchlichkeit so erreichen:
Sender verändert Nachricht so, dass sie für Außenstehende völlig unsinnig erscheint
Nur Empfänger kann durch den „Schlüssel“ ursprüngliche Nachricht zurückgewinnen
Authentizität (authenticity)
Unterscheidung von Teilnehmerauthentizität und Nachrichtenauthentizität
Teilnehmerauthentizität: Teilnehmer kann seine Identität zweifelsfrei nachweisen
Nachrichtenauthentizität: Empfänger einer Nachricht kann sich zweifelsfrei von deren Ursprung überzeugen
Intigrität (integritiy)
Intigrität von Daten ist gewahrt, wenn diese nicht unbemerkt verändert werden können
Verbindlichkeit (non-repudiation) Nachricht wird von Teilnehmer A an
Teilnehmer B übermittelt A tut dies verbindlich, wenn B
anschließend gegenüber Dritten nachweisenkann, dass die Nachricht tatsächlich von A stammt
Anonymität (anonymity)
Manchmal ist erwünscht, dass nicht nur der Inhalt einer Nachricht verborgen bleibt, sondern auch die Identität des Senders oder des Empfängers oder sogar die Tatsache, dass die beiden miteinander kommunizieren
Grundbegriffe der Kryptographie Klartext ( ): Unveränderte Nachricht Schlüssel ( ): Dient zum
verschlüsseln der Nachricht Chiffretext ( ): Verschlüsselte
Nachricht
p
k
c
Mathematisches Grundprinzip der Ver- und Entschlüsselung Verschlüsselung: Entschlüsselung: Mathematisch gesehen bedeutet das,
dass die Verschlüsselungsfunktion umkehrbar sein muss
: kc f p
1: kp f c
Prinzip von Kerckhoffs
Der Angreifer kennt die Ver- und Entschlüsselungsfunktion, nur der Schlüssel ist geheim
Sinn des Prinzips von Kerckhoff
Algorithmen lassen sich viel schwerer geheim halten als Schlüssel
Kryptografische Schlüssel sind verhältnismäßig kurze Zeichenketten, wohingegen ein Algorithmus viele Seiten in Anspruch nehmen kann
Geheimhaltung eines Algorithmus schwer umsetzbar, das zu viele Personen zum Insiderkreis gehören (Designer, Analytiker, Programmierer, …)
Beispiele aus der klassischen Kryptographie Skytale von Sparta (etwa 500 v. Christus)
Transposition (Verwürfeln der Klartextzeichen)
Beispiele aus der klassischen Kryptographie Caesar-Verschlüsselung (Julius Cäsar 100 – 44 v. Chr.)
Angreifbarkeit monoalphabetischer Chiffren Buchstabenhäufigkeit bleibt erhalten;
lediglich Permutation der Buchstaben Deshalb mit statistischer Analyse
angreifbar
Buchstabenhäufigkeit der deutschen Sprache
Buchstabe e n i r s a t u
% 18,46 11,42 8,02 7,14 7,04 5,38 5,22 5,01
Beispiele aus der klassischen KryptographieVigenère-Verschlüsselung (poly-alphabetische Substitution) Vigenère-Verschlüsselung (Blaise de Vigenère, 1523-1596) Verschlüsselung mit einem Schlüsselwort unter Nutzungeiner Schlüsseltabelle Schlüsselwort: CHIFFRE Verschlüsselung: VIGENERE wird zu XPOJSVVG Das Klartextzeichen wird ersetzt durch das Zeichen inder Zeile des Klartextes (bsp. V) und in der Spalte desSchlüsselwortzeichens (bsp. C). Das nächste Zeichen(bsp. I) wird in der Spalte des zweiten Zeichens desSchlüsselwortes (bsp. H) abgelesen, usw. Sobald man beim letzten Zeichen des Schlüsselwortesangekommen ist, beginnt man wieder mit dem erstenZeichen des Schlüsselwortes. Angriff (u. a. durch Kasiski-Test): Es können gleicheKlartextzeichenkombinationen mit jeweils der gleichenGeheimtextzeichenkombination auftreten. Der Abstanddieser Muster kann nun genutzt werden, um dieSchlüsselwortlänge zu bestimmen. Eine anschließendeHäufigkeitsanalyse kann dann den Schlüssel bestimmen.
Elektromechanische Verschlüsselungsmaschine Enigma Verschlüsselung (Arthur Scherbius,
1878-1929) Mehr als 200.000 Maschinen kamen im 2.
Weltkrieg zum Einsatz Der rotierende Walzensatz bewirkt, dass
jedes Zeichen des Textes mit einer neuen Permutation verschlüsselt wird.
Gebrochen durch massiven Einsatz von Kryptographie-Experten (etwa 7.000 Personen in UK) mit ersten Entschlüsselungsmaschinen sowie erbeuteten Original-Maschinen und dem Abfangen von täglichen Statusmeldungen (z.B. Wetternachrichten).
Grundprinzip Symmetrische Kryptographie Nachricht wird vom Sender mit einem
Verschlüsselungsalgorithmus unter Anwendung eines Schlüssels verschlüsselt und anschließend verschickt
Empfänger entschlüsselt die Nachricht unter Anwendung des gleichen Schlüssels
Der Ver-/Entschlüsselungsalgorithmus ist in der Regel bekannt
Nur der Schlüssel ist geheim
Grundprinzip Symmetrische Kryptographie
Schlüsselaustauschproblem
Kommunikationspartner müssen zur Anwendug eines symmetrischen Verschlüsselungsverfahrens vorher den geheimen Schlüssel austauschen
Hierzu besteht aber keine gesicherte Verbindung
Asymmetrische Kryptographie bietet hier eine Lösung
S-Box Typischerweise in Blockchiffren wie z. B. DES eingesetzt, um die Beziehung
zwischen Klar- und Geheimtext zu verwischen (im Kryptojargon: "Konfusion")
S-Box ist meist nichtlineare Substitutionsoperation, bei der eine m-stellige Binärzahl durch eine n-stellige Binärzahl ersetzt wird. Kann z. B. mit einer Tabelle implementiert werden, die 2m Zeilen enthält. Je nach Anwendung kann es notwendig sein, dass diese Abbildung invertierbar (bijektiv) ist. DES-Algorithmus verwendet beispielsweise acht verschiedene S-Boxen.
S-Boxen müssen sehr sorgfältig entworfen werden, um einer Kryptoanalyse, insbesondere der linearen und der differentiellen Kryptoanalyse zu widerstehen
Unterscheidung zwischen statischen und dynamischen S-Boxen Statische S-Boxen haben Vorteile bei der Implementation in Hardware
hinsichtlich Geschwindigkeit und Speicherbedarf (DES, AES) Dynamische S-Boxen können die Kryptoanalyse erheblich erschweren (RC4)
Data Encryption Standard (DES)
von IBM entwickelt und 1974 beim NBS (heute NIST) eingereicht und 1976 als US-Bundesstandard anerkannt
Blockchiffre, die auf Blöcken mit 64 Bits arbeitet aus 64 Bit großen Blöcken des Klartextes erzeugt
der symmetrische Algorithmus 64 Bit große Chiffretexte
Der dazu verwendete Schlüssel ist ebenfalls 64 Bit lang, allerdings ist jedes achte Bit ein Paritätsbit , so dass nur 56 Bit zur Ver- und Entschlüsselung benutzt werden
Ablauf des DES-AlgorithmusVer- bzw. Entschlüsselung eines 64-Bit-Blocks: Der Eingabeblock wird der Eingangspermutation unterworfen.
Hierdurch wird die Reihenfolge der Bits verändert (Transposition). Das Ergebnis wird in zwei 32-Bit-Register geschrieben. Mit den 64 Bit des Schlüssels wird ebenso verfahren, nachdem die 56 relevanten Bits bestimmt worden sind, werden diese ebenfalls transponiert und in zwei 28-Bit-Register geschrieben.
In diesem Schritt werden 16 Mal die gleichen Rechenschritte wiederholt (Runden), wobei in jeder Runde der Schlüssel neu bestimmt wird:
Zunächst werden die Bits der "Schlüsselregister" zyklisch um ein bzw. zwei Bit verschoben und 48 der 56 Bit als Rundenschlüssel bestimmt.
Das "rechte" Datenregister (R-Block) wird mittels einer Expansion von 32 auf 48 Bit vergrößert.
Daten- und Schlüsselblock werden durch logisches XOR miteinander kombiniert.
Das Resultat wird in 6 Bit große Abschnitte aufgeteilt und durch acht S-Boxen (Substitutionsboxen) gesandt, die hieraus wiederum 32 neue Bits erzeugen.
Zum Schluss werden der Block nochmals einer Transposition unterzogen.
Der so erzeugte 32-Bit-Datenblock wird mittels XOR mit den Daten des "linken" Datenregisters verknüpft. Das Ergebnis dieser Operationen bildet den neuen Inhalt des rechte Registers, wobei der alte R-Block zuvor ins linke Register geschoben wird.
Nach der 16. Runde werden das linke und rechte Register wieder zu einem 64-Bit-Block zusammengefügt, bevor die zur Eingangspermutation inverse Ausgangspermutation angewendet wird. (Da Eingangs- und Ausgangspermutation zu einander invers sind und nur zu Beginn und am Ende durchgeführt werden, haben sie auf die kryptografische Sicherheit des Verfahrens keinen Einfluss.)
Entschlüsselung mit DES
Beim DES unterscheidet sich die Entschlüsselung nur geringfügig von der Verschlüsselung
Lediglich die Teilschlüssel der 16 Runden müssen in umgekehrter Reihenfolge verwendet werden, der Rest des Algorithmus bleibt unverändert
Sicherheit von DES DES galt lange Zeit als sehr sicher durch immer bessere Computertechnik kann das Verfahren
heute nicht mehr als sicher betrachtet werden deshalb wurde vom NIST die Suche nach dem AES
(Advanced Encryption Standard) ausgeschrieben Die Sicherheit des Verfahrens ist durch die Schlüssel begründet und
hier liegen auch die Probleme: Es existieren schwache bzw. semischwache Schlüssel. Bei diesen
werden durch die Schlüsselpermutation die Bits so gesetzt, dass die 16 generierten Teilschlüssel nahezu identisch werden.
Der gravierendste Schwachpunkt ist aber die geringe Mächtigkeit des Schlüsselraumes von 256, welcher heutzutage einem Brute-Force-Angriff nicht mehr standhalten kann.
Triple-DES Es wurde versucht die Sicherheit des Verfahrens zu
erhöhen Triple-DES ist nichts weiter, als dass eine dreimalige
Verschlüsselung mit DES vorgenommen wird, dabei werden zwei unterschiedliche Schlüssel wie folgt eingesetzt:
Trotz der Schlüssellänge von 156 Bit ist die erreichte Sicherheit nur knapp mit der einer Verwendung eines 128-Bit-Schlüssels vergleichbar
Mängel von DES sind mittlerweile so schwerwiegend, dass das Verfahren heute nicht mehr als sicher einzustufen ist
Triple-DES stellt allenfalls eine Notlösung dar
11 2 1, , ,C DES K DES K DES K M
Advanced Encryption Standard (AES): Rijndael Im Oktober 2000, wurde Rijndael in einem mehr als dreijährigen
Prozess als Advanced Encryption Standard (AES) ausgewählt Nachfolger von DES NIST geht von einer Lebensdauer von 20 bis 30 Jahren für AES aus Beim neuen AES handelt es sich um eine symmetrische
Blockchiffre mit variablen Block- und Schlüssellängen von 128 bis 256 Bit
Verschlüsselung eines Klartextblockes wird in mehreren Runden durchgeführt, wobei deren Anzahl (n) von der Schlüssel- und Blocklänge abhängig ist (siehe Tabelle):
Ablauf der Verschlüsselung Für die Ver- und Entschlüsselung muss für jede Runde ein Rundenschlüssel
erzeugt werden. Hierzu wird der geheime Schlüssel des Anwenders expandiert, indem rekursiv abgeleitete 4-Byte-Wörter an diesen Anwenderschlüssel angehängt werden. Die Verschlüsselung läuft dann wie folgt ab:
Zunächst wird der Klartextblock mit dem - gegebenenfalls erweiterten - Anwenderschlüssel durch XOR (bitweise Addition) verknüpft.
Dann werden n-1 reguläre Runden durchlaufen, wobei in jeder Runde die folgenden Einzelschritte durchgeführt werden:
Substitution:Zu Beginn einer Runde wird jedes Byte eines Blockes durch Anwendung einer S-Box ersetzt.
Permutation:Die Bytes eines Blockes werden in einer vierzeiligen Matrix eingetragen und durch die ShiftRows-Transformation reihenweise zyklisch verschoben.
Diffusion:Die Bytes der permutierten vierzeiligen Matrix des Blockes werden durch die MixColumns-Transformation nochmals spaltenweise permutiert.
Schlüsselverknüpfung:Zum Abschluss einer Runde wird der Block durch XOR mit dem jeweiligen Rundenschlüssel verknüpft.
Abschließend wird eine weitere Runde durchgeführt, in der allerdings die Diffusionsoperation (MixColumns) ausgelassen wird.
Sicherheit von AES
In Prüfungen wurden auf das Verfahren viele kryptoanalytische Angriffe durchgeführt
Es konnten keine Sicherheitslücken festgestellt werden
Gemäß Berechnungen des NIST braucht ein Rechner, der DES in einer Sekunde knacken könnte, für Rijndael mit 128-Bit-Schlüssel ca. 149 Billionen Jahre Rechenzeit. (Das Universum ist keine 20 Milliarden Jahre alt.)
RC4
Bei Ron's Code oder der Rivest Cipher No. 4 handelt es sich um ein Verfahren zur Stromchiffrierung
wurde bereits 1987 von Ronald L. Rivest für RSA Data Security Inc. (heute RSA Security Inc.) entwickelt und lange Jahre geheimgehalten
September 1994 veröffentlichte eine anonyme Person in einer Mailing-Liste einen Algorithmus, der zu RC4 identische Ergebnisse erzeugte und daher als "apparantly RC4" gelten kann
RC4
Im Gegensatz zu DES ist die Schlüssellänge bei RC4 variabel und kann bis zu 2048 Bit (256 Zeichen) betragen, wobei bereits 128 Bit als sicher gelten
Es wird immer ein Byte (ein Zeichen) auf einmal verschlüsselt
Der Algorithmus ist sowohl einfach wie auch sicher und kann besonders einfach und effizient programmiert werden
Bestechend ist der Algorithmus insbesondere, weil er unverändert sowohl zur Ver- wie auch zu Entschlüsselung genutzt werden kann
Ablauf von RC4
RC4 läuft in drei Schritten ab: Zunächst wird eine S-Box initialisiert. Dazu wird ein Feld
(Array) mit 256 Zeichen gefüllt und die Feldelemente mittels des Schlüssels untereinander vertauscht.
Dann wird für jeden Buchstaben des Eingabetextes ein Zufallsbyte aus der S-Box ermittelt, wobei die Elemente des Feldes - wie im vorangegangenen Schritt - jedes Mal vertauscht werden.
Schließlich werden das ermittelte Zufallsbyte und das Textzeichen durch xor miteinander verknüpft.
Sicherheit von RC4
Trotz seiner Einfachheit wurden bisher keine Schwächen im Algorithmus entdeckt
Da die Verschlüsselung in keiner Form vom zu verschlüsselnden Text abhängig ist, ist der Algorithmus für Klar- oder Geheimtextangriffe anfällig
Es ist daher zu empfehlen einen Schlüssel nicht zu oft zu verwenden
Quellen Bücher
Kryptographie in Theorie und Praxis (Albrecht Beutelspacher, Heike B. Neumann, Thomas Schwarzpaul)
IT-Sicherheit (C. Eckert) Network Security Essentials – Second Edition (William Stallings) Sichere Netzwerkkommunikation (R. Bless, S. Mink, E.-O. Blaß, M.
Conrad, H.-J. Hof, K. Kutzner, M. Schöller) Internet
http://www.nordwest.net/hgm/krypto/mod-sym.htm http://de.wikipedia.org/wiki/Data_Encryption_Standard http://de.wikipedia.org/wiki/NBS http://de.wikipedia.org/wiki/National_Bureau_of_Standards http://de.wikipedia.org/wiki/S-Box http://www.cryptool.de/ http://www.m-boehmer.de/pdf/Kryptographie.pdf