Visuelle Kryptographie mit Komplementärfarben-Segmenten
Visuelle Kryptographie mit Komplementärfarben-Segmenten
Visuelle Kryptographie mit Komplementärfarben-Segmenten
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Eberhard-Karls-Universität Tübingen<br />
Wilhelm-Schickard-Institut für Informatik<br />
Arbeitsbereich Theoretische Informatik / Formale Sprachen<br />
Studienarbeit<br />
<strong>Visuelle</strong> <strong>Kryptographie</strong> <strong>mit</strong><br />
<strong>Komplementärfarben</strong>-<strong>Segmenten</strong><br />
Ramon Pfeiffer<br />
Betreuer:<br />
Bernd Borchert<br />
Wilhelm-Schickard-Institut für Informatik<br />
Beendet am: 10. August 2012
Zusammenfassung. Bankgeschäfte werden in zunehmendem Maße<br />
per Online-Banking abgewickelt. Dabei sind der Rechner des Anwenders<br />
sowie die Übertragung der Daten zu den Bankservern potentiellen<br />
Angriffen ausgesetzt. Verschiedene Techniken wurden entwickelt,<br />
um die übertragenen Daten vor Angreifern zu verschleiern und gegen<br />
Manipulationen abzusichern.<br />
In der vorliegenden Arbeit wird ein solches System, die segmentbasierte<br />
<strong>Visuelle</strong> <strong>Kryptographie</strong>, um das Prinzip der <strong>Komplementärfarben</strong><br />
erweitert und eine Implementierung vorgestellt. Im Anschluss wird es<br />
auf seine Sicherheit und Anwenderfreundlichkeit untersucht.
Inhaltsverzeichnis<br />
1 Einführung und Grundlagen 3<br />
1.1 Trojaner-Angriff, Man-in-the-Middle-Angriff . . . . . . . . . . 3<br />
1.2 <strong>Visuelle</strong> <strong>Kryptographie</strong> . . . . . . . . . . . . . . . . . . . . . . 4<br />
1.3 <strong>Komplementärfarben</strong> . . . . . . . . . . . . . . . . . . . . . . . 5<br />
1.4 <strong>Visuelle</strong> <strong>Kryptographie</strong> <strong>mit</strong> <strong>Komplementärfarben</strong> . . . . . . . 7<br />
1.5 7-Segment-Anzeige . . . . . . . . . . . . . . . . . . . . . . . . 7<br />
2 Online-Demonstration einer Implementierung 8<br />
3 Zusammenfassung & Ausblick 19<br />
Literatur 20
1 Einführung und Grundlagen<br />
Dieser Abschnitt soll eines der möglichen Sicherheitsrisiken beim Online-<br />
Banking vorstellen, den so genannten Trojaner-Angriff. Daran anschließend<br />
folgt eine kurze Einführung in die Prinzipien der segmentbasierten <strong>Visuelle</strong>n<br />
<strong>Kryptographie</strong> <strong>mit</strong> <strong>Komplementärfarben</strong>.<br />
1.1 Trojaner-Angriff, Man-in-the-Middle-Angriff<br />
Laut einer vom Bundesverband deutscher Banken in Auftrag gegebenen<br />
Umfrage vom April 2011 nutzten zu diesem Zeitpunkt fast die Hälfte der<br />
deutschen Bundesbürger das Online-Banking, um ihre Bankgeschäfte abzuwickeln,<br />
mehr als jeder zweite hiervon nutzte mindestens einmal in der<br />
Woche das Online-Banking. Fast die Hälfte der Benutzer schätzt das Online-<br />
Banking als sicher oder sehr sicher ein (Bankenverband, 2011).<br />
Nichtsdestoweniger gibt es Angriffsmöglichkeiten auf das Online-Banking,<br />
unter anderem den so genannten Trojaner und den Man-in-the-Middle-<br />
Angriff. Bei dieser Art von Angriff ist auf dem Rechner eines Bankkunden ein<br />
Trojaner installiert, der die eingegebenen Daten einer Online-Überweisung<br />
abfängt und <strong>mit</strong>liest. Bevor die Daten verschlüsselt und auf sicherem Wege<br />
(das heißt, ohne die Möglichkeit einer Veränderung) an die Bank übertragen<br />
werden, schaltet sich der Man-in-the-Middle-Angreifer in die Übertragung<br />
und verändert zum Beispiel den Betrag und das Konto des Empfängers. So<br />
werden aus 100 e an das Konto 12345 (was der Benutzer tatsächlich überweisen<br />
wollte) 10000 e an das Konto 67890 (vom Angreifer verändert). Diesen<br />
Schritt bemerkt der Benutzer nicht, da er nach dem Absenden der Überweisungsdaten<br />
statt findet. Die Bank empfängt die Überweisung über 10000 e<br />
an das Konto 67890 und fordert zum Beispiel eine iTan vom Benutzer an,<br />
zur Sicherheit zeigt die Bank noch einmal die empfangenen Daten dem Benutzer<br />
an. Bevor die Daten angezeigt werden, verändert der Angreifer die<br />
Anzeige, um dem Benutzer die von ihm eingegebenen Daten anzuzeigen.<br />
Der Benutzer bestätigt also <strong>mit</strong> der geforderten iTAN vermeintlich seine gewünschte<br />
Überweisung über 100 e an das Konto 12345, bei der Bank liegt<br />
die Überweisung über 10000 e an das Konto 67890 vor und wurde durch die<br />
Eingabe der richtigen iTAN freigegeben.<br />
Ein Ansatz, einem Angreifer diese Möglichkeit zur Manipulation der Daten<br />
zu nehmen, ist das Verwenden eines zweiten Gerätes, auf das der Angreifer<br />
keinen Zugriff hat, auf dem die Überweisungsdaten und die einzugebende<br />
TAN angezeigt werden. Hierdurch kann der Angreifer die von der Bank angezeigten<br />
Daten nicht mehr verändern, allerdings muss der Benutzer genau<br />
die Anzeige prüfen, um nicht leichtfertig eine Überweisung auf ein fremdes<br />
Konto zu gestatten. Ein anderer Ansatz wird durch die <strong>Visuelle</strong> <strong>Kryptographie</strong><br />
verfolgt, die nachfolgend erklärt wird.<br />
3
Kopf<br />
Zahl<br />
Kopf<br />
Zahl<br />
Folie 1<br />
Folie 2<br />
Abbildung 1: Schwarz-weiß-basierte <strong>Visuelle</strong> <strong>Kryptographie</strong>; nach (Borchert,<br />
2007)<br />
1.2 <strong>Visuelle</strong> <strong>Kryptographie</strong><br />
Das Prinzip der <strong>Visuelle</strong>n <strong>Kryptographie</strong> wurde 1994 von Moni Naor und<br />
Adi Shamir vorgestellt (Naor u. Shamir, 1994). Im einfachsten Fall wird ein<br />
Bild B, bestehend aus schwarzen und weißen Pixeln, in zwei Teilbilder B1<br />
und B2 zerlegt, die dann zum Beispiel auf Transparentfolien gedruckt werden<br />
können. Legt man diese Folien übereinander, ensteht wieder das Bild B. Ein<br />
Pixel aus B1 und B2 besteht dabei aus je zwei schwarzen und weißen Pixeln,<br />
die diagonal angeordnet sind. Bei jedem Pixel aus B wird je nach Farbe des<br />
Pixels zufällig die Verteilung der Pixel in B1 und B2 gewählt. Dadurch sind<br />
die Pixel in den Teilbildern B1 und B2 zufällig verteilt und beinhalten für<br />
sich genommen keine Informationen über das eigentliche Bild B. Abbildung 1<br />
zeigt die Zerlegung von B in B1 und B2.<br />
Wurden B1 und B2 auf Transparentfolien gedruckt, so kann man diese<br />
übereinanderlegen, um das eigentliche Bild sichtbar zu machen. Da<strong>mit</strong><br />
geht ein Kontrastverlust von 50% einher, da ein weißes Pixel aus B <strong>mit</strong><br />
zwei schwarzen Subpixeln aus B1 und B2 dargestellt werden muss. Außerdem<br />
müssen die Folien exakt übereinandergelegt werden, da<strong>mit</strong> die jeweils<br />
zueinandergehörenden Subpixel aus B1 und B2 übereinanderliegen; ist dies<br />
nicht der Fall, wird das Bild B nicht sichtbar. Je nach Größe und Komplexität<br />
des Bildes B und der Anzahl der verwendeten Pixel kann dadurch die<br />
Benutzerfreundlichkeit deutlich sinken.<br />
Ein Ansatz, den Kontrastverlust auszugleichen, ist der Einsatz von <strong>Komplementärfarben</strong><br />
(siehe 1.3). Um die Folien <strong>mit</strong> den Teilbildern B1 und B2<br />
besser aneinander auszurichten, können größere Strukturen als Pixel benutzt<br />
werden; Borchert (2007) hat hierfür die Segmentbasierte <strong>Visuelle</strong> <strong>Kryptographie</strong><br />
vorgestellt.<br />
Im Falle einer Anwendung für das Online-Banking hat die Bank des<br />
4
Benutzers diesem vorab mehrere Transparentfolien <strong>mit</strong> möglichen Teilbildern<br />
B2 zugeschickt. Tätigt der Benutzer nun eine Überweisung, erzeugt die<br />
Bank ein Bild in dem der Betrag und die Kontonummer des Empfängers stehen.<br />
Anschließend wird ein Teilbild B1 erzeugt und dem Benutzer angezeigt,<br />
das Teilbild B2 ist die Folie des Benutzers. Ein Man-in-the-Middle-Angreifer<br />
kann das Teilbild B1 zwar abfangen. Ohne das Teilbild B2 zu kennen,<br />
kann er es jedoch nicht in dem Maße verändern, dass er seine gefälschten<br />
Überweisungsdaten anzeigen lassen könnte.<br />
1.3 <strong>Komplementärfarben</strong><br />
Die in der Natur vorkommenden Grundfarben oder Primärfarben sind die<br />
Farben Rot, Gelb und Blau; sie können aus keinen anderen Farben gemischt<br />
werden. Mischt man die drei Grundfarben zusammen, erhält man Schwarz.<br />
Mischt man jeweils zwei dieser Farben <strong>mit</strong>einander, erhält man die so<br />
genannten Sekundärfarben: Orange (Rot und Gelb), Grün (Gelb und Blau)<br />
und Lila (Blau und Rot). Eine Mischung aus einer Grundfarbe und der<br />
Sekundärfarbe, die aus den anderen Farben gemischt wurde (also beispielsweise<br />
Rot und Grün), ergibt wieder Schwarz. Solche Farbpaare aus einer<br />
Primär- und einer Sekundärfarbe werden <strong>Komplementärfarben</strong> genannt. Da<br />
in der gewählten Sekundärfarbe die Primärfarbe nicht vorkommt, zeichnen<br />
sich <strong>Komplementärfarben</strong> durch einen hohen Kontrast zueinander aus.<br />
Welche Farben zueinander komplementär sind, hängt vom gewählten<br />
Farbmodell ab. Eingangs wurden die natürlichen Farben beschrieben, die<br />
für künstlerische Zwecke genutzt werden, dies ist das Farbmodell nach Itten<br />
(Wikipedia, 2012d). Technische Systeme verwenden meist das RGB-Modell<br />
und das CMY-Modell, in diesen Modellen werden andere Farben als Primärfarben<br />
definiert und andere Mischungsgesetze benutzt. Das RGB-Modell<br />
benutzt als Primärfarben die Farben Rot, Grün und Blau, mischt man diese,<br />
so erhält man Weiß. Das ist die so genannte Additive Farbmischung<br />
(Wikipedia, 2012e). Das RGB-Modell findet beispielsweise in Computermonitoren<br />
Anwendung. Die Sekundärfarben im RGB-Modell sind Cyan (Blau<br />
und Grün), Gelb (Grün und Rot) und Magenta (Rot und Blau), dies sind<br />
genau die Primärfarben des CMY-Modells. In diesem Modell, der so genannten<br />
Subtraktiven Farbmischung, ergeben die Primärfarben gemischt wieder<br />
Schwarz (Wikipedia, 2012f) und die Sekundärfarben des CMY-Modells sind<br />
genau wieder die Primärfarben des RGB-Modells. Das CMY-Modell findet<br />
zum Beispiel im Druckereiwesen Anwendung.<br />
Im Folgenden der Arbeit wird das Farbmodell nach Itten benutzt, das<br />
heißt, Rot und Grün werden als komplementär zueinander angesehen.<br />
5
Abbildung 2: (a)<br />
(b)<br />
(c)<br />
Abbildung 3: (a) Farbkreis nach Itten, aus: (Wikipedia, 2012a). (b) Additive<br />
Farbmischung, aus: (Wikipedia, 2012b). (c) Subtraktive Farbmischung,<br />
aus: (Wikipedia, 2012c)<br />
Kopf<br />
Zahl<br />
Kopf<br />
Zahl<br />
Folie 1<br />
Folie 2<br />
Abbildung 4: <strong>Komplementärfarben</strong>-basierte <strong>Visuelle</strong> <strong>Kryptographie</strong><br />
6
1.4 <strong>Visuelle</strong> <strong>Kryptographie</strong> <strong>mit</strong> <strong>Komplementärfarben</strong><br />
Das eingangs angesprochene Problem des Kontrastverlustes kann nun verringert<br />
werden, indem für ein Pixel keine 4 Subpixel, je zwei schwarze und<br />
je zwei weiße, benutzt werden, sondern für jedes darzustellende Pixel nur<br />
ein Pixel in den Teilbildern B1 und B2 benutzt wird, dieses wird dann in<br />
Rot oder Grün gefärbt. Soll ein schwarzes Pixel angezeigt werden, so sind in<br />
den Teilbildern B1 und B2 komplementäre Pixelfarben zu wählen, soll ein<br />
„weißes“ Pixel dargestellt werden, so wird in B1 und B2 die gleiche Farbe<br />
benutzt. Abbildung 4 stellt das Verfahren dar.<br />
1.5 7-Segment-Anzeige<br />
Die Segmentanzeige wurde im Jahr 1908 erfunden (Wood, 1908). Einzelne<br />
Segmente werden erleuchtet oder bleiben dunkel, sodass Zahlen und<br />
Buchstaben dargestellt werden können. Häufig benutzt wird die 7-Segment-<br />
Anzeige, bei der 7 Segmente so angesteuert werden, dass die Ziffern von 0<br />
bis 9 und einige Buchstaben angezeigt werden können.<br />
Zudem werden häufig die 14- und die 16-Segment-Anzeige benutzt, die<br />
durch die höhere Zahl an <strong>Segmenten</strong> einerseits einen größeren Zeichenvorrat<br />
besitzen, andererseits auch besser lesbar sind.<br />
Die vorliegende Arbeit beruht auf 7-Segment-Anzeigen, bei denen die<br />
einzelnen Segmente <strong>mit</strong> <strong>Komplementärfarben</strong> belegt sind, um die Ziffern und<br />
gegebenenfalls Buchstaben anzuzeigen. Abbildung 5 zeigt mögliche Kombinationen<br />
von zwei Teilbildern <strong>mit</strong> 7-Segment-Anzeigen, die in komplementären<br />
Farben gefärbt sind, und das Ergebnis einer Überlagerung der Teilbilder.<br />
7
Abbildung 5: Beispiele einer <strong>Komplementärfarben</strong>-7-Segment-Anzeige<br />
2 Online-Demonstration einer Implementierung<br />
Der nachfolgende Abschnitt soll eine Demonstration des Verfahrens vorstellen,<br />
die unter http://ppin.aelfsciene.de/index.php zu finden ist. Um<br />
die einzelnen Schritte nachzuvollziehen, sind Screenshots der Seite beigefügt,<br />
diese können <strong>mit</strong> den Folien am Ende der Arbeit „entschlüsselt“ werden.<br />
Abbildung 6 zeigt das Eingabefenster der Seite. Im oberen Teil der Eingabemaske<br />
kann die Größe des anzuzeigenden Bildes angepasst werden, um<br />
auf kleineren oder größeren Monitoren das gleiche Bild anzeigen zu können;<br />
Werte unterhalb von 300px und oberhalb von 750px werden ignoriert, da<br />
ein Eingabefehler angenommen wird. Im unteren Teil der Seite können eine<br />
Kontonummer, eine Bankleitzahl und ein Geldbetrag angegeben werden, <strong>mit</strong><br />
denen eine Überweisung getätigt werden soll. Im Beispiel der Abbildung 6<br />
lautet die Kontonummer 12345, die Bankleitzahl lautet 10020045 und es<br />
sollen 50 e überwiesen werden. Die Eingabe wird <strong>mit</strong> einem Klick auf die<br />
Schaltfläche „Absenden“ abgeschlossen.<br />
Bevor die Eingabe verarbeitet wird, wird auf Seiten des Clients geprüft,<br />
ob nur Zahlen in die Felder eingegeben wurden. Ist das nicht der Fall, passiert<br />
bei einem Klick auf „Absenden“ Nichts, erst wenn in jedem der Felder<br />
Kontonummer, Bankleitzahl und Betrag nur Ziffernfolgen stehen, werden<br />
die Daten an den Server geschickt.<br />
Nachdem die Daten an den Server geschickt wurden, werden sie in tem-<br />
8
Abbildung 6: Das Eingabefenster <strong>mit</strong> Beispielwerten.<br />
porären Variablen für eine spätere Verwendung zwischengespeichert und ein<br />
zu entschlüsselndes Teilbild B1 wird erzeugt (Abbildung 7). Die Folie <strong>mit</strong><br />
dem Teilbild B2 kann in der Demonstration direkt auf der Seite heruntergeladen<br />
werden, diese muss in einer echten Anwendung natürlich dem<br />
Anwender vorher auf sicherem Wege zugekommen sein. Abbildung 7 zeigt<br />
das aus der Überlagerung der Teilbilder B1 und B2 entstehende Bild B.<br />
Mit Hilfe der Schaltflächen „Schmaler“ und „Breiter“ kann das angezeigte<br />
Bild in der Bildweite skaliert werden, unabhängig von der Bildhöhe.<br />
Analog hierzu skalieren die Schaltflächen „Höher“ und „Niedriger“ das Bild<br />
in der Bildhöhe, ohne die Bildweite zu verändern. Die Schaltfläche „Reset“<br />
setzt das Bild auf die ursprünglichen Dimensionen, das heißt auf den Inhalt<br />
des Eingabefeldes „Bildweite“ zurück. Unterhalb des angezeigten Bildes wird<br />
auf die zu verwendende Folie hingewiesen, außerdem befindet sich hier ein<br />
Eingabefeld für die geforderte TAN. Die Schaltfläche „Abbrechen und zurück<br />
zum Anfang“ verwirft jegliche bisher getätigten Eingaben und bringt<br />
den Anwender zurück zur Abbildung 6.<br />
Das Teilbild B1 besteht aus 5 Zeilen <strong>mit</strong> jeweils 15 rot-grün-kodierten 7-<br />
Segment-Anzeigen. Bei jedem Aufruf wird zufällig ausgewählt, welche der<br />
Zeilen welche Daten enthält. Dargestellt werden die eingegebenen Überweisungsdaten,<br />
das sind also die Kontonummer, die Bankleitzahl und der<br />
Überweisungsbetrag, sowie die geforderte TAN, <strong>mit</strong> der diese Transaktion<br />
freigeschaltet werden kann. Die einzelnen Zahlenfolgen innerhalb der Zeilen<br />
beginnen an zufällig ausgewählten Positionen, außerdem beinhalten sie an<br />
zufälligen Stellen unterschiedlich lange Leerstellen. Diese Maßnahmen wurden<br />
getroffen, um einen Man-in-the-Middle-Angriff zu verhindern. Mehrere<br />
Beispiele sollen dies verdeutlichen.<br />
Angenommen, ein Anwender möchte eine Überweisung <strong>mit</strong> den genannten<br />
Daten durchführen, aber ein Trojaner hat die eingegebenen Daten und<br />
9
Abbildung 7: Das angezeigte Teilbild. Die eingegebene TAN ist nicht die<br />
geforderte (38979).<br />
10
Abbildung 8: Aus der Überlagerung der Teilbilder entstehendes Bild <strong>mit</strong><br />
sichtbarem Geheimnis: Die erste Zeile ist leer, in der zweiten Zeile steht die<br />
geforderte TAN (38979), die dritte Zeile zeigt den Betrag (50), die vierte<br />
Zeile die Bankleitzahl (10020045) und die letzte Zeile die Kontonummer<br />
(12345).<br />
11
das von der Bank geschickte Bild abgefangen. Bestünde das Bild nur aus<br />
einer Zeile, nämlich der angeforderten TAN, so könnte der Angreifer die<br />
Kontonummer und den Betrag ändern, ohne dass der Anwender hiervon etwas<br />
bemerkte. Im vorliegenden Fall werden die eingegebenen Daten im Bild<br />
verschlüsselt angezeigt, der Anwender kann also seine Eingabe kontrollieren.<br />
Gesetzt nun den Fall, dass die eingegebenen Daten immer an der gleichen<br />
Stelle im Bild stehen, kann ein Angreifer die Transaktion weiterhin<br />
manipulieren, ohne dass der Anwender dies bemerkt. Ein Angreifer ändert<br />
die Transaktion derart, dass die Überweisung auf das Konto 67890 erfolgen<br />
soll. Die Bank schickt also ein Bild, in dem die eingegebenen Daten,<br />
unter anderem die Kontonummer, kodiert sind. Da der Angreifer weiß, wie<br />
die Kontonummer lautet und an welcher Stelle im Bild sie steht, weiß er<br />
auch sofort, wie die Folie aussehen muss, <strong>mit</strong> der das Bild entschlüsselt werden<br />
kann. Ferner kennt er die Kontonummer, die vom Anwender eingegeben<br />
wurde. Er kann also ein eigenes Teilbild B1’ erzeugen und dieses an Stelle<br />
des Teilbildes B1 von der Bank anzeigen lassen. Das Teilbild B1’ zeigt<br />
dann nicht mehr die Kontonummer an, die der Bank vorliegt (also die vom<br />
Angreifer eingesetzte Kontonummer 67890), sondern diejenige, die der Anwender<br />
erwartet. Der Anwender hätte also keinen Grund, eine Fälschung<br />
anzunehmen und würde die Überweisung auf das Konto 67890 freigeben.<br />
Werden nun die Daten zufällig auf die Zeilen verteilt, muss ein Angreifer<br />
raten, in welcher Zeile die Kontonummer steht. Da sich die Anzeige auf<br />
5 Zeilen beschränkt, läge der Angreifer in jedem fünften Fall richtig, das<br />
heißt, dass 20% der Transaktionen gefälscht sein können. Um diese Wahrscheinlichkeit<br />
weiter zu reduzieren, wurde die Anfangsposition der Daten<br />
innerhalb der Zeile zufällig gewählt. Eine Kontonummer beispielsweise ist<br />
maximal 10 Stellen lang, das Teilbild B1 umfasst 15 Stellen pro Zeile. Dadurch<br />
kann die Kontonummer an 5 verschiedenen Stellen beginnen. Durch<br />
die 5 verschiedenen Zeilen, in denen die Kontonummer stehen kann, ergeben<br />
sich 25 verschiedene Positionen für die Kontonummer, ein Angreifer rät<br />
also noch immer in 4% der Fälle richtig. Ist eine Anfangsposition innerhalb<br />
einer Zeile gewählt, so wird zufällig innerhalb des Datums eine Lücke eingefügt.<br />
Um beim Beispiel der Kontonummer zu bleiben, sind dies bei 10<br />
Stellen der Kontonummer 8 verschiedene Stellen, um die Lücke zu beginnen<br />
(10 Stellen ohne die erste und die letzte Stelle). Da<strong>mit</strong> ergeben sich bereits<br />
5 × 5 × 8 = 200 verschiedene Anzeigemöglichkeiten für eine 10-stellige Kontonummer,<br />
also sinkt die Wahrscheinlichkeit erfolgreichen Ratens für einen<br />
Angreifer auf 0,5%. Diese Lücke innerhalb der Anzeige hat eine zufällig gewählte<br />
Länge, abhängig von der Anzahl der freibleibenden Stellen. Wenn<br />
beispielsweise die Anzeige 10 Stellen lang ist und an Position 3 beginnt, so<br />
bleiben 2 Positionen unbesetzt, diese können beide innerhalb der Anzeige,<br />
beide außerhalb der Anzeige oder eine innerhalb und eine außerhalb der Anzeige<br />
liegen. Dies verdreifacht die Menge der Darstellungen für ein Datum<br />
auf 600 Möglichkeiten. Allerdings ist dieser letzte Schritt sehr von der Länge<br />
12
Abbildung 9: Der Hinweis auf die falsch eingegebene TAN und auf die Verwendung<br />
einer neuen Folie.<br />
der eingegebenen Zahlenfolge und von der Anfangsposition der Darstellung<br />
abhängig, so dass eine genaue Anzahl an Darstellungsmöglichkeiten nicht genannt<br />
werden kann; bei 5 freibleibenden Stellen beispielsweise ergeben sich<br />
1200 verschiedene Möglichkeiten, bei einer freibleibenden Stelle nur 400.<br />
Im Teilbild B1 ist auch die einzugebende TAN zur Freigabe der Überweisung<br />
kodiert (in den Abbildungen 7 und 8 lautet sie 38979). Wird diese<br />
in das Eingabefeld eingegeben und auf die Schaltfläche „Absenden“ geklickt,<br />
so wird die eingegebene TAN <strong>mit</strong> der serverseitig gespeicherten TAN verglichen.<br />
Im Beispiel wurde eine falsche TAN eingegeben, dies wird registriert<br />
und Abbildung 9 erscheint. Hier wird darauf hingewiesen, dass die eingegebene<br />
TAN falsch war, zudem wird daran erinnert, dass die TAN nun an<br />
einer anderen Stelle steht und eine neue Folie benutzt werden muss (im<br />
Beispiel die Folie 2). Klickt man auf die Schaltfläche „OK“, erscheinen die<br />
Abbildungen 10 bzw. 11.<br />
Diese ähnelt sehr der Abbildung 7, <strong>mit</strong> einigen wichtigen Unterschieden.<br />
Das angezeigte Teilbild B1 ist <strong>mit</strong> der Folie 1 nicht mehr zu entschlüsseln,<br />
da es <strong>mit</strong> der Folie 2 verschlüsselt wurde. Außerdem stehen, wie bereits<br />
angedeutet, die Daten nun in anderen Zeilen als in der Abbildung 7 (die<br />
Daten wurden wie erwähnt zu Beginn serverseitig gespeichert, sind also noch<br />
vorhanden, um ein neues Teilbild B1 zu erzeugen). Als letzte Änderung wird<br />
nun eine neue TAN abgefragt, es wird bei jedem Erzeugen eines Teilbildes B1<br />
eine neue TAN in das Bild integriert. Die neue TAN wird zufällig aus einer<br />
Liste möglicher TANs gewählt. In der Abbildung 10 ist dies die 14063. Diese<br />
wird im Beispiel angegeben und es erscheint die Abbildung 12, in der die<br />
getätigte Überweisung <strong>mit</strong> den eingegebenen Daten noch einmal bestätigt<br />
wird.<br />
Es wurde im Laufe der Arbeit weiterhin der Ansatz verfolgt, nicht die angezeigten<br />
Zahlen als schwarze Segmente auf weißem Hintergrund anzuzeigen,<br />
sondern auf einem schwarzen Hintergrund die Zahlen als farbige Segmente<br />
darzustellen. Dadurch werden alle „Nicht-Zahl-Segmente“ ebenfalls schwarz<br />
dargestellt, verschwinden also im Hintergrund. Eine Mögliche Darstellung<br />
hiervon liefern die Abbildungen 13 und ??.<br />
Dabei sind die Zahlen besser zu erkennen, da sie sich viel stärker von<br />
13
Abbildung 10: Das angezeigte, <strong>mit</strong> einer anderen Folie generierte Teilbild.<br />
Die TAN wird an einer anderen Position angezeigt. Dieses Mal wurde die<br />
richtige TAN eingegeben.<br />
14
Abbildung 11: Aus der Überlagerung der Teilbilder enstehendes Bild <strong>mit</strong><br />
sichtbarem Geheimnis: In der ersten Zeile steht nun die Kontonummer, die<br />
zweite Zeile zeit die Bankleitzahl und die letzte Zeile den Überweisungsbetrag.<br />
Während Zeile 4 leer bleibt, steht in Zeile 3 die geforderte Kontonummer.<br />
15
Abbildung 12: Der Hinweis über die entgegengenommene Transaktion.<br />
der Umgebung abheben. Auf Grund der zwei Farben, die als eine betrachtet<br />
werden müssen, sind die Zahlwerte einzelner Anzeigen aber schwieriger zu<br />
erkennen.<br />
16
Abbildung 13: Eine alternative Darstellungsmöglichkeit <strong>mit</strong> <strong>Segmenten</strong> auf<br />
schwarzem Hintergrund.<br />
17
Abbildung 14: Das entstehende Bild durch Überlagerung der Teilbilder. Die<br />
Zahlen heben sich besser vom Hintergrund ab, sind aber für sich schwerer<br />
zu erkennen.<br />
18
3 Zusammenfassung & Ausblick<br />
Im Verlauf der Arbeit wurde ein Verfahren vorgestellt, <strong>mit</strong> Hilfe der <strong>Visuelle</strong>n<br />
<strong>Kryptographie</strong> <strong>mit</strong> <strong>Komplementärfarben</strong>-<strong>Segmenten</strong> Transaktionen<br />
zwischen einem Anwender und einer Bank im Rahmen des Online Banking<br />
sicherer zu machen. Gegenüber der schwarz-weiß-basierten <strong>Visuelle</strong>n <strong>Kryptographie</strong><br />
konnte festgestellt werden, dass durch die größeren Strukturen und<br />
den höheren Kontrast die Anwenderfreundlichkeit gesteigert werden konnte.<br />
Zudem konnten Transaktionen <strong>mit</strong> ausreichender Sicherheit gegen Trojanerund<br />
Man-in-the-Middle-Angriffe gesichert werden.<br />
Die Vorteile der <strong>Visuelle</strong>n <strong>Kryptographie</strong> <strong>mit</strong> <strong>Komplementärfarben</strong>-<strong>Segmenten</strong><br />
liegen unter anderem in ihrer Schnelligkeit, es wird kein weiteres<br />
externes Gerät benötigt, um das Verfahren sicher nutzen zu können. Außerdem<br />
können einem Anwender alle Daten <strong>mit</strong> einem Mal angezeit werden,<br />
sodass Manipulationen in Teilen der Daten schnell auffallen.<br />
Es konnte leider nicht untersucht werden, wie an Rot-Grün-Blindheit<br />
erkrankte Menschen die Segmente wahrnehmen; diese Personen leiden an<br />
einer Störung der Netzhaut, wodurch sie die Farben Rot und Grün nicht<br />
voneinander trennen können. Die Verwendung eines anderen <strong>Komplementärfarben</strong>paares,<br />
beispielsweise Blau und Gelb, können hier Abhilfe schaffen.<br />
Nachteilig in der vorgestellten Demonstration ist die Einschränkung auf<br />
7-Segment-Anzeigen, da <strong>mit</strong> diesen nur ein beschränkter Zeichensatz dargestellt<br />
werden kann. Insbesondere kann durch das Fehlen von Buchstaben<br />
nicht schnell unterschieden werden, in welcher Zeile der Anzeige welches Datum<br />
steht. Eine Erweiterung auf 16-Segment-Anzeigen kann dieses Problem<br />
beheben. Ebenso ist nicht untersucht worden, ob andere Farbpaare als Rot-<br />
Grün einen besseren Kontrast und einen tieferen Schwarz-Eindruck erzeugen<br />
können.<br />
Abschließend lässt sich sagen, dass das vorgestellte Verfahren der segmentbasierten<br />
<strong>Visuelle</strong>n <strong>Kryptographie</strong> <strong>mit</strong> <strong>Komplementärfarben</strong> praxistauglich<br />
ist und eine genügend hohe Sicherheit bietet. Anwendung kann es<br />
wie eingangs beschrieben im Online-Banking haben, um die Sicherheit gegen<br />
Trojaner-Angriffe zu erhöhen. Auch andere Online-Transaktionen, beispielsweise<br />
der Online-Handel, können von dieser Art der Absicherung der<br />
übertragenen Daten profitieren.<br />
19
Literatur<br />
[Bankenverband 2011] http://www.bankenverband.de/downloads/<br />
042011/umfrage-des-bankenverbandes-zur-nutzung-von-onlinebanking,<br />
abgerufen am 04.07.2012<br />
[Borchert 2007] Borchert, Bernd: Segment-based Visual Cryptography /<br />
Wilhelm-Schickard-Institut für Informatik. 2007. – Forschungsbericht<br />
[Naor u. Shamir 1994] Naor, Moni ; Shamir, Adi: Visual Cryptography.<br />
In: EUROCRYPT, 1994, S. 1–12<br />
[Wikipedia 2012a] http://upload.wikimedia.org/wikipedia/commons/<br />
b/b9/Farbkreis_Itten_1961.svg, abgerufen am 05.07.2012<br />
[Wikipedia 2012b] http://commons.wikimedia.org/wiki/File:<br />
Synthese+.svg, abgerufen am 05.07.2012<br />
[Wikipedia 2012c] http://commons.wikimedia.org/wiki/File:<br />
Synthese-.svg, abgerufen am 05.07.2012<br />
[Wikipedia 2012d] http://de.wikipedia.org/wiki/Farbkreis#Der_Zw.<br />
C3.B6lfteilige_Farbkreis_nach_Itten, abgerufen am 05.07.2012<br />
[Wikipedia 2012e] http://de.wikipedia.org/wiki/Subtraktive_<br />
Farbmischung, abgerufen am 05.07.2012<br />
[Wikipedia 2012f] http://de.wikipedia.org/wiki/Additive_<br />
Farbmischung, abgerufen am 05.07.2012<br />
[Wood 1908] Schutzrecht US 974943 (1908).Wood, F. W.(Erfinder).<br />
20
Abbildung 15: Folie 1<br />
Abbildung 16: Folie 2<br />
21