Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
Hashfunktionen - Digitale Signatur
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 108 Zeilen
- Ich begrüße euch herzlich zu einem neuen Themenvideo. Heute machen wir weiter im Themengebiet Kryptografie und wir besprechen Hashfunktionen und als
- Anwendungsbeispiel gibt es die digitale Signatur. Zunächst klären wir aber mal welche Superkräfte euch dieses Video verleihen wird. Zum
- einen werdet ihr ein paar Kennzeichen einer sicheren Kommunikation kennenlernen. Außerdem solltet ihr hoffentlich nach diesem Video die
- Funktionsweise von Hashfunktionen verstanden haben und diese auch anderen erklären können. Und dann schauen wir uns das Ganze auch noch in einem
- Anwendungsbeispiel an, nämlich bei der digitalen Signatur. Das steht auf dem Programm und damit wünsche ich euch viel Spaß bei diesem Video.
- Kennzeichen einer sicheren Kommunikation. Wenn wir von sicherer Kommunikation sprechen, dann müssen wir uns mit einer
- Sache oder müssen wir uns bei einer Sache wirklich erstmal klar sein, nämlich eine hundertprozentig sichere Kommunikation, die gibt es einfach
- nicht. Also das ist erstmal vorne weg und deshalb ist auch eine Definition einer sicheren Kommunikation nicht möglich, wenn die gibt's nicht. Es gibt
- aber ein paar Kennzeichen, die eine sichere Kommunikation beschreiben und davon möchte ich euch hier mal drei Stück vorstellen. Zum einen ist es die
- Vertraulichkeit, die Integrität und die Authentizität. Ich werde diese drei Begriffe gleich noch mit Leben füllen, denn diese sind sehr abstrakt gehalten
- und das ist auch bewusst so, also wenn man sich jetzt mit sicherer Kommunikation beschäftigt, sind diese drei Begriffe,
- die drei Begriffe, die einem immer wieder entgegenspringen. Und vielleicht so eine kleine Anekdote noch, die Vertraulichkeit, wenn man das
- ins Englisch übersetzt, ist confidentially, also mit C am Anfang. Die beiden anderen im Englischen ändern nicht ihre Anfangsbuchstaben und wenn
- wir hier ein C hinschreiben, dann steht hier CIA und ein Schell, wer böses dabei denkt. Nee, also in der Tat sind wirklich nur Begriffe, die CIA hat damit
- diesmal ausnahmsweise nichts zu tun. So kümmer uns um die Vertraulichkeit und damit ist gemeint vertraulich bezüglich von Inhalt und Kommunikation an sich.
- Das heißt, also die Kommunikation und der Inhalt, das muss auf jeden Fall sicher sein. Ja, und die Integrität, das ist das der zentrale Aspekt, mit dem wir
- uns heute beschäftigen werden. Die Integrität soll nämlich sicherstellen, dass eine Nachricht, die abgesendet wurde, von Anfang bis
- Ende nicht manipuliert wurde. Das heißt, also die Nachricht, die ankommt, muss auch genau die Nachricht sein, die losgeschickt wurde. Oder muss ja nicht
- unbedingt eine Nachricht sein, kann ja auch ein Passwort, ein Foto, ein irgendwas sein. Ja, dann die Authentität. Authentizität. Aha, ein
- schwieriges Wort für mich heute. Dabei geht es darum, dass man, wenn man mit jemandem oder eine Person oder eine Maschine kommuniziert, dann möchte man
- sich ja sicher sein, dass die Person auch die ist, für die sie sich ausgibt und dafür muss sie sich erst authentifizieren. Da gibt's verschiedene
- Verfahren. Beispielsweise eine ID könnte man vergeben. Im Realall Life bei uns wäre das unsere unser Name. Der ist übrigens das häufigste
- Authentifizierungsmittel, das wir verwenden. Wenn wir uns vorstellen und unseren Namen sagen, dann verwenden wir genau das. Der Besitz ist
- eine weitere Authentifizierungsmethode, wenn wir einen Haustürschlüssel haben zu einer speziellen Wohnung und niemand anderes, dann können nur wir da hinein
- und damit können wir uns authentifizieren. Unser Fingerabdruck ist eine biometrische Möglichkeit.
- Natürlich ist unser Fingerabdruck auch nicht hundertprozentig eindeutig, aber doch schon sehr gut. Maschinen können sich
- gegenseitig nicht biometrisch authentifizieren, denn sie haben keine biometrischen Merkmale. Vielleicht kommt das aber noch in naher Zukunft. Und eine
- Fähigkeit ist eine weiteres eine weitere Methode beispielsweise, wenn eine Autofahren kann, eine andere Person nicht. oder
- wenn man eine gewisse Körpergröße hat, dann kommt man vielleicht ans oberste Regal zu den Süßigkeiten, wä in ein kleines Kind nicht dahinommt und somit
- sind die Süßigkeiten vor dem kleinen Kind beschützt, was irgendwie traurig ist. Ja, dann wissen, wenn wir ein Passwort haben, dann können wir uns
- vielleicht einloggen und jemand, den wir kennen, kann es nicht, weil er das Passwort nicht hat oder auch jemand fremdes. Und die letzte Möglichkeit, die
- ich euch noch vorstellen möchte, ist die Authentifizierung durch Dritte. Wenn ein Freund zu euch sagst, ja, der da hinten steht, das ist der Hermanns Müller, weiß
- ich nicht wie weiter. Dann sagt ihr, ah ja, gut, dich kenne ich und deswegen glaube ich dir, dass das drüben der Hans Müller, wer auch immer ist. Ja, damit
- werden wir auch erstmal mit der sicheren Kommunikation soweit fertig. Und nun können wir uns dem spannenden Teil widmen, nämlich der Funktionsweise von
- Hashfunktion. Klären wir erstmal, was machen denn Hashfunktionen? Hashfunktion können irgendwelchen Daten
- und damit sind Nachrichten gemeint, Passwörter oder ganze Videofilme, Spiele und sogar nee, Dinos nicht, aber alle möglichen Dinge, die wir digitalisieren
- können. Diesen können wir einen Hashwert zuordnen, mittels einer Hashfunktion. Und das schauen wir uns jetzt an. Ja, und wir nehmen uns mal eine Nachricht
- und verarbeiten die mit einer Hashfunktion. Eine Hashfunktion ist nichts anderes als eine mathematische Funktion. Da gibt's beispielsweise die
- Division Restmethode, die unsere unseren Datensatz und dabei ist es egal, wie groß der ist, den können wir da reinschieben. Der wird
- dann verarbeitet und am Ende wird ein Wert ausgespuckt. Der sogenannte Hashwert, wie wir hier schon sehen, das ist ein Hexer
- Dezimalwert. Der ist meistens länger. Man verwendet häufig Schar 256. Das bedeutet dann, dass unser Hashwert 256 Bit lang ist. Ja, also Hashfunktion
- machen nichts anderes als Daten in einen Wert umzuwandeln. Das ist die Aufgabe von Hashfunktion und dabei gibt's jetzt auch ein paar
- Bedingungen, die wir an diese Hashfunktion haben. Das soll natürlich auch uns irgendetwas bringen, weil bis jetzt haben wir nur ein Datenpaket in
- einen Wert umgewandelt. Zum einen ist eine Bedingung, dass das Ganze eindeutig sein soll. Das soll nicht rückrechenbar sein. Dafür verwendet man sogenannte
- Einwegfunktion. Dann ist es so, dass eine zweiter Datensatz, der vielleicht so ähnlich ist wie der erste Datensatz, der soll
- natürlich nicht den gleichen Hashwert liefern. Dann gibt es eine sogenannte Kollision. Wir stellen also als Bedingung an unsere
- Hashfunktion, dass die Kollissionsresistent ist. Da soll bei sollte man auch beachten. Es soll auch sogar so sein, dass wenn dieser
- Datensatz nur leicht geändert wird, soll der Hashwert nicht auch nur leicht geändert werden, sondern sehr stark sich ändern, damit man nicht vielleicht bei
- einer leichten Änderung auf etwas schließen kann. kennt man beispielsweise die Nachricht und einen Hashwert und hätte einen leicht geänderten Hashwert
- dazu und er würde einer leicht geänderten Nachricht entsprechen, könnten wir vielleicht auf irgendwelche
- Nachrichteninhalte schließen und das soll natürlich nicht so sein. Weiter ist wichtig, dass die Hashfunktion effizient ist. Das heißt, die soll schnell
- berechenbar sein. Ist extrem wichtig heutzutage, denn wenn wir ein Passwort irgendwo eingeben, wenn wir uns irgendwo registrieren, dann wird das Passwort
- nicht im Klartext gespeichert. Zumindest sollte das nicht so sein. Es wird immer nur der Hashwert gespeichert und jedes Mal, wenn wir uns einloggen, wird wieder
- die Hashfunktion angewendet und dann wird dieser Hashwert, der rauskommt, verglichen mit dem, der gespeichert wurde, stimmen dies, dann sind wir
- eingeloggt. Und da ist es jetzt auch so, dass wenn es immer in den Medien heißt, dass Millionen von Passwörtern gestohlen
- wurde, dann sind es wirklich meistens nur die Hashwerte. Aber das ist auch schlimm genug, wie wir gleich sehen werden. Des weiteren sollten die
- Hashfunktionen eine feste definierte Länge haben. Wir sollten also definieren können, wie lang soll der Hashwert sein, der rauskommt, habe ja schon erwähnt,
- meistens 256 Bit, zumindest bei 256 ist das halt immer so. Und jetzt schauen wir uns erstmal noch ein paar Beispiele an. Schart 2 z.B. den gibt's dann in
- verschiedenen Varianten mit verschiedenen Längen. Hab schon erwähnt 256 gibt auch 512. Dann ein relativ neuer ist Blake 2
- und MD5. MD5 habe ich jetzt dazu genommen, weil MD5 sollte man nicht mehr verwenden. Bei dieser Hashfunktion ist es sogar so, diese ist zurückrechenbar
- und das ist das Schlimmste, was eigentlich hashfunktion passieren kann. Ich habe ja gesagt, wir brauchen eine Einwegfunktion, dass es nur in eine
- Richtung geht, weil wenn wir von dem Hashwert auf die Nachricht schließen können, dann ist unsere Hashfunktion einfach sinnlos und das ist halt bei MD5
- MD5, Entschuldigung, das ist genau da passiert. So, damit hätten wir noch ein paar Beispiele geklärt. Schar 1 übrigens ist auch äh nicht mehr sicher, den
- sollte man auch nicht mehr verwenden. Mittlerweile gibt es sogar schon Schar 3. Also immer drauf achten, dass man einen aktuellen Hash oder eine aktuelle
- Hashfunktion verwendet. Jetzt schauen wir uns noch eine Angriffsmöglichkeit an und da gibt's die sogenannten Rainbow Tables. Da kann man
- sich aus dem Internet gigabyte weise Tabellen herunterladen und was steht da drin? Tja, nichts anderes als Passwörter und Hashwerte.
- Eine Hashfunktion, wenn wir die anwenden, ist die immer gleich. Wenn ich egal was für ich eingebe, ich die gleiche Hashfunktion verwende, kommt
- immer auch der gleiche Hashwert raus. Das ist natürlich auch noch eine Bedingung, die die Hashfunktion erfüllen muss, sonst bringt es natürlich auch
- nichts. Das hat aber dann die Gefahr, dass wenn ich jetzt eine Liste habe mit den häufigsten Passwörtern, habe ich auch eine Liste mit den häufigsten
- Hashwerten. Wenn ich jetzt an so ein eine geklaute Liste von Hashwerten komme, dann kann ich natürlich schauen, sind die Hashwerte dabei, die ich in
- meiner Liste stehen habe. Wenn ja, dann habe ich natürlich auch automatisch das Passwort und das ist natürlich dann die Gefahr und deshalb ist es fast genauso
- schlimm, ob die Passwörter dann im Klartext oder nicht drin stehen. Wenn es einfaches Passwort ist, ist das natürlich dann ja fast das gleiche.
- Deshalb immer schön lange und komplizierte und nicht leicht zu erratende Passwörter verwenden, zumindest keine Begriffe oder so, die
- man irgendwie in solchen Tabellen finden kann. Wir können das Ganze aber auch etwas sicherer gestalten, indem wir Salt and Pepper verwenden.
- Da wird bevor die Hashfunktion auf die Daten angewendet wird, einfach eine Zeichenfolge mit an die Daten angehängt und somit ergibt sich ein vollkommen
- anderer Hashwert. Denn wie schon zu Beginn erwähnt, wenn wir die Nachricht oder das Passwort leicht verändern, sollte ein komplett anderer Hashwert
- herauskommen. Und so ein bisschen sollte ein Pepper verhindert dann, dass man vom Hashwert dann auf dieses Passwort schließen kann, selbst mit so einem
- Rainbow Table. Soweit zu den Hashfunktionen und kommen wir nun zu einem Anwendungsbeispiel, die digitale Signatur. Um was geht's hier?
- Wir haben hier zwei Maschinchen. Links Maschine A, rechts Maschine B und die beiden möchten miteinander kommunizieren. Zumindest möchte Maschine
- A eine Nachricht an Maschine B schicken und Maschine B möchte sich sicher sein, dass diese Nachricht von Maschine A stammt. Also das ist die Integrität. Die
- Nachricht soll sicher von oder unverändert von dieser Maschine hier zu dieser Maschine auch geschickt werden und deshalb digitale Signatur. Wie läuft
- das Ganze ab? Ja, Maschine A schmeißt erstmal den Hashfunktionenrechner an und berechnet einen Hashwert für die Nachricht. So, das zweite, was dann
- passieren wird, die Maschine A wird diesen Hashwert verschlüsseln. Und wer sich nicht mehr ganz an Verschlüsselungsverfahren erinnert, ich
- werde das Video, das ich dazu gemacht habe, auch noch mal in die Beschreibung verlinken. Prinzipiell geht's darum, es gibt einen Private Key und einen public
- Key. Mit dem Private Key kann man verschlüsseln, mit dem Public Key entschlüsseln und diesen Private Key, der ist private nur oder für Computer A.
- Das heißt also nur Computer A hat diesen Private Key und den Public Key, den kann sich eigentlich jeder organisieren, der Zugang zum Internet hat. Also
- verschlüssen wir jetzt erstmal unseren Hashwert, schicken beides an Computer B. Was macht Computer B? Na ja, das was jeder gute Computer B machen würde. Er
- schaut sich das Ganze erstmal an, holt seinen Hashwertrechner aus der Tasche und berechnet auch den Hashwert. Und wie bereits erwähnt, die Hashfunktionen sind
- ja immer gleich. Also, wenn es die gleiche Nachricht ist, müsst ihr auch den gleichen Hashwert erhalten. Jetzt muss er natürlich noch überprüfen,
- welchen Hashwert hat denn eigentlich die ursprüngliche Nachricht gehabt? Damit muss er diesen Hashwert erstmal entschlüsseln. Dafür geht er zu einer
- Zertifizierungsstelle und holt sich einen zertifizierten Schlüssel. Und da sind wir auch an einem ganz wichtigen Punkt.
- Diese Zertifizierungsstelle versichert, dass dieser Schlüssel von Computer A stammt. Und nur so gut wie dieses Zertifizierungsverfahren ist, nur so
- sicher ist da natürlich auch unsere ganze digitale Signaturgeschichte. Wir gehen jetzt mal davon aus, dass das alles wunderbar und perfekt ist. Also,
- dieser Schlüssel stammt auf jeden Fall von Computer A. Den schicken wir dann an Computer B. Meistens sind diese Zertifizierungen
- auch schon mit in dem Browser integriert. Also die wirklich bekannten und großen Zertifizierungsstellen haben dann alle schon die Schlüssel hier
- hinterlegt. Damit können wir dann auch den Hashwert entschlüsseln. Wir können die beiden Werte vergleichen und wir sehen stimmt überein und deshalb muss
- diese Nachricht genauso wie sie hier jetzt vorliegt auch von Computer A versendet worden sein. Ja, damit sind wir jetzt erstmal soweit durch.
- Machen wir uns noch mal so ein kurzen Überblick, was wir heute alles gelernt haben. Wir haben über Kennzeichen der sicheren Kommunikation gesprochen,
- Vertraulichkeit, Integrität, Authentizität und die Begriffe so ein bisschen mit Leben gefüllt. Wir haben uns angeschaut, wie Hashfunktionen
- funktionieren. Dabei war wichtig, sie sind eindeutig, sind Einwegfunktionen, sie sind kollisionsresistent, sie sind müssen schnell in der Berechnung sein
- und sie sollen auf jeden Fall einen eindeutigen Wert liefern. Wir haben uns dann noch angeschaut die digitale Signatur, wie das ganze funktioniert und
- dabei werden einfach nur zwei Hashwerte miteinander verglichen und wenn die übereinstimmen, dann können wir uns sicher sein, dass unser
- Kommunikationspartner die Nachricht genauso losgeschickt hat, wie wir sie bekommen haben. Damit sind wir auch schon am Ende. Falls euch das
- Video gefallen hat und ihr vielleicht noch mehr über Kryptografie erfahren wollt, dann ein #hashiashi in die Kommentare. Ansonsten schreibt
- mir, was für Themen euch sonst noch interessieren und ich würde mich freuen, wenn ihr auch am Mittwoch wieder einschaltet zum nächsten Rätselvideo und
- natürlich auch am Sonntag. Daher gibt's wieder ein spannendes Themenvideo. Falls euch sonst noch langweilig ist, schaut euch einfach mal bei mir auf dem Kanal
- um. Da gibt's immer wieder mal interessante Videos auch für Alltagswissen. Und ansonsten wünsche ich euch einen fantastischen Tag. Macht's
- gut, bis bald und ciao.
Zum Nachlesen
Secure Hash AlgorithmDer Begriff Secure Hash Algorithm (kurz SHA, englisch für sicherer Hash-Algorithmus) bezeichnet eine Gruppe standardisierter kryptologischer Hashfunktionen.
Salt (Kryptologie)Salt (englisch für Salz) bezeichnet in der Kryptographie eine zufällig gewählte Zeichenfolge, die an einen gegebenen Klartext vor dessen weiterer Verarbeitung ( …
Asymmetrisches KryptosystemAsymmetrisches Kryptosystem (oder Public-Key-Kryptosystem) ist ein Public-Key-Verfahren, das zur Public-Key-Authentifizierung und für digitale Signaturen …
Integrität (Informationssicherheit)Neben Verfügbarkeit und Vertraulichkeit ist die Integrität eines der drei klassischen Ziele der Informationssicherheit.