Fachinformatiker Systemintegration (Fach) / VS/ITS Schulaufgabe 13.12.17 (Lektion)

In dieser Lektion befinden sich 16 Karteikarten

Zertifikate/digitale Signaturen/DH Verschlüsselung/TLS

Diese Lektion wurde von Jaqui1984 erstellt.

Lektion lernen

  • CIA- Schutzziele Was gibt es über diese zu sagen? C onfidentiality (Vertraulichkeit) I ntegrity (Integrität) A vailability (Verfügbarkeit) Von Vertraulichkeit kann dann gesprochen werden, wenn keine unautorisierte Informationsgewinnung möglich ist. Das bedeutet, dass die Information nur Befugten zugänglich ist/sind. (Bsp. Anmeldung= Authentität und Verschlüsselung) Integrität umfasst sowohl die Korrektheit der Daten (Datenintegrität) als auch die korrekte Funktionsweise des Systems (Systemintegrität) (HashWert) SH1 MD5. Unter die Verfügbarkeit fällt der Grad der Funktionalität der informationstechnischen Systeme. Konkret bedeutet dies, dass die Systeme jederzeit betirebsbereit sein sollen und die Verarbeitung der Daten auch korrekt abläuft.
  • Erklären Sie den möglichen Verlauf eines digitalen Zertifikates! (Server und Client) Server: Generierung von Public- & Privatekey Ausstellung eines Zertifikates: Registrierung bei Certification Authority CA: Signierung der Zertifikate mit dem private Key der CA (Signiert wird der Hashwert) Client: installiert Browser und damit die öffentlichen Schlüssel der CA´s. Bei Verbindungsaufbau kann nun überprüft werden, ob alles korrekt ist und somit eine sichere Verbindung besteht! Hashwert: wie Checksumme, wird über das Zertifikat gebildet. Ist ein einmaliger Wert, der mit einem Algorythmus gebildet wird. (SHA-256, MD5) Bekomme ich eine Datei mit Hash-Wert selbst über die Datei einen Hashwert bilden. Sind beide Hashwerte gleich -> keine Veränderung der Datei -> Datenintegrität) Signierung des Hashwertes mit dem Private Key -> Sicherstellung, dass ich wirklich mit dem Richtigen kommuniziere (Datei Authentity) Verschlüsselung: kein Fremder kann mitlesen.
  • Was versteht man unter symmetrischer Verschlüsselung? beide Teilnehmer verwenden den gleichen Schlüssel. Der Schlüssel dient sowohl zur Verschlüsselung beim Sender als auch zur Entschlüsselung beim Empfänger. Daraus ergibt sich die Anforderung, dass der Schlüssel geheim sein muss, also nur den beiden Kommunikationspartnern bekannt sein darf. Nachteil: Die Sicherheit dieser Methode ist nur gewährleistet, wenn der Schlüssel den Kommunkationsteilnehmern sich (=geheim) zugestellt wird, dass kein Dritter Kenntnis über den Schlüssel erlangen kann. Ist die Geheimhaltung des Schlüssels nicht (mehr) gewährleistet, darf dieses Verfahren nicht eingesetzt werden. Vorteil: Schnell
  • Was versteht man unter Asymmetrischer Verschlüsselung? Jeder der Kommunikationspartner beseitzt ein Schlüssel-Paar, bestehend aus einem öffentlichen Schlüssel (Public Key) und einem Privaten (=geheimen) Schlüssel (Private Key). Mit Hilfe des öffentlichen Schlüssels kann quasi jeder eine Nachricht für den Inhaber dieses öffentlichen Schlüssels verschlüsseln. Die mit dem öffentlichen Schlüssel verschlüsselte Nachricht kann aber nur mit dem dazugehörigen privaten (also geheimen) Schlüssel entschlüsselt werden. Anforderung: Es darf nicht möglich sein, über den öffentlichen Schlüssel eines Kommunikationspartners dessen privaten Schlüssel zu bestimmen. Vorteil: Das Problem der Übertragung geheimer Schlüssel- über evtl. unsichere Kanäle- entfällt bei der asymmetrischen Methode. Nachteil: Langsam
  • Was versteht man unter der hybriden Verschlüsselung? Kombiniert die Vorteile der symmetrischen und asymmetrischen Verschlüsselung. Symmetrischer Teil: Im ersten Schritt wird nach dem Zufallsverfahren ein symmetrischer Schlüssel erstellt, der so geannte Session Key. Symmetrisch heißt in diesem Fall, beide Kommunikationspartner müssen im Besitz dieses Schlüssels sein. Der Klartext wird mit Hilfe des Session Key symmetrisch verschlüsselt. Asymmetrischer Teil: Der Session Key wird dann mit dem öffentlichen Schlüssel (Publick Key) des Empfängers verschlüsselt. Der private Schlüssel (Private Key) des Empfängers ermöglicht ihm, den verschlüsselten Session Key zu entschlüsseln. Mit dem nun bekannten Sesion Key kann der Empfänger den verschlüsselten Klartext entschlüsseln. Damit wird das Problem der unsicheren Schlüsselübertragung und der symmetrischen Verschlüsselung umgangen. Die langsamere asymmetrische Versclüsselung kommt nicht zum Tragen, weil die eigentliche Botschaft symmetrisch versclüsselt wird. Asymmetrisch wird lediglich der Session Key (relativ geringer Datenumfang) übertragen. Beispiele: IPsec | SSL | TLS | PGP (E-Mail)
  • Wie verläuft der TLS- Handshake mit eigenem Zertifikat? TLS (Transport Layer Security) ist ein Protokoll, das der Authentisierung und Verschlüsselung von Internetverbindungen dient. TLS befindet sich als eigene Schicht zwischen der Vermittlungs- und Anwendungs- bzw. Darstellungsschicht im OSI Modell. In der Regel wird es eingesetzt um die Echtheit eines Servers durch ein digitales Zertifikat zu garantieren. Client: "Client Hello" Server: "Server Hello" Server: ServerCertificate Server: CertificateRequest Client: ClientCertificate Client: ClientKeyExchange (Sendet den Session Key, der mit dem öffentlichen Schlüssel des Servers verschlüsselt wurde) Client: CertificateVerify Server and Client: ChangeCipherSpec Server and Client: Finnished zu 8.: Diese Nachricht informiert den anderen Teilnehmer darüber dass die folgenden Daten verschlüsselt übertragen werden. Die Nachricht wird von beiden gesendet. zu 9.: Diese nachricht ist ein Hash von dem bisher gesamten Austausch. Wenn der Client die vom Server empfangene Nachricht entschlüsseln und den beinhaltenden Hash validieren kann, ist der Handshake erfolgreich abgeschlossen. Diese Nachricht wird von beiden gesendet.
  • Aufbau einer TLS Verbindung Voraussetzung: Der Server besitzt ein gültiges Zertifikat (in dem unter anderem der öffentliche Schlüssel d. Servers hinterlegt ist). Das Zertifikat ist mit dem privaten Key der CA signiert -> fälschungssicher. Ein Browser ist auf dem Client installiert, der die öffentlichen Schlüssel der CA´s mit installiert hat (evtl. nachinstallieren). Client sendet "Client Hello" an den Server -> Kommunkationswunsch Server antwortet mit "Server Hello" und sendet sein Zertifikat mit. Client überprüft die Signatur des Zertifikats mit dem öffentlichen Schlüssel der CA (Trust Center) Client generiert einen Session Key für eine symmetrische Verschlüsselung und schickt diesen verschlüsselt mit dem öffentlichen Schlüssel des Servers (aus dessen Zertifikat) an den Server. Der Server kann den chiffriert vorliegenden session Key mit seinem Privaten Schlüssel entschlüsseln. Mit dem nun beiden vorliegenden Session Key können jetzt Server und Client symmetrisch verschlüsselt kommunizieren (Ver- und Entschlüsselung mit dem symmetrischen Key).
  • Wozu werden Hashwerte eingesetzt? Hash-Werte kommen vor allem bei der Authentifizierung und dem Sichern der Echtheit der Antenintegrität zum Einsatz. Bei der Authentifizierung bestätigt ein Hash-Algorithmus die Echtheit der Signatur. Hashes werden auch verwendet, um die Integrität von Daten sicherzustellen, da sie eindeutige numerische Komprimate der ursprünglichen Daten sind. Hashwerte werden meist in konstanter Länge produziert, um deren Verarbeitung zu erleichtern; typisch sind 128 oder 160 Bit. Damit sind immerhin 2128 beziehungsweise 2160 Kombinationen möglich.
  • Das .NET Framework liefert sieben Klassen mit Hash-Algorithmen. Welche sind das? Am bekanntesten ist der Algorithmus MD5 (Message Digest Version 5), der einen Hash-Wert mit 128 Bit Länge erzeugt. Message Digest ist eine andere bezeichnung für Hash- Wert. Vier weitere Klassen liefern berechnungen von SHA- Werten (Secure Hash Algorith) mit 160 Bit Länge. Die SHA- Algorithmen sollten usprünglich nur die Integrität der Schlüssel sichern. Die Versionen SHA256, SHA384 und SHA512 beziehen sich jeweils auf das Doppelte der effektiv zu schützenden Schlüssellänge, der Basisalgorithmus SHA1 geht auf SHA zurück.
  • Was können die .NET Framework Klassen System.Security.Cryptograph.MD5 und System.Security.Cryptography.SHA1? Hash-Algorithmen selbst benötigen keinen Schlüssel. Man kann aber die Implementierung so erweitern, dass der hash auf einem Schlüssel basiert. Diese erfolg tüber die .NET Framework-Klassen.
  • Warum empfielt es sich, von alen unveränderilichen Daten den Hash- Wert berechnen zu lassen und dies bei jedem Start der entsprechenden Anwendung zu wiederholen? Weil Manipulationen auszuschließen sind, wenn der ursprüngliche und der neu berechnete Hash- Wert übereinstimmen. Dieses Verfahren ist aber für die Sicherung der Integrität auf einem unsicheren Transportweg weniger geeignet, wenn Daten und Hash-Wert denselben Weg nehmen. Hier kommt die Verschlüsselung ins Spiel.
  • Was versteht man unter einem digitalen Zertifikat? Ein digitales Zertifikat ist ein digitaler Datensatz, der bestimmte Eigenschaften von Personen oder Objekten bestätigt und dessen Authentizität und Integrität durch kryptografische Verfahren geprüft werden kann. Das digitale Zertifikat enthält insbesondere die zu seiner Prüfung erforderlichen Daten. Ein weiteres Beispiel für digitale Zertifikate sind kryptographische Prüfsummen auf Online- Tickets.
  • Was ist ein Wildcard Zertifikat? Unter einem Wildcard-Zertifikat versteht man ein SSL-Zertifikat, das gleich alle Subdomains einer Domain mit SSL-Verschlüsselung versieht. Als Subdomains werden die Domains bezeichnet, die in der Hierarchie unter der „Haupt-Domain“ liegen. Ein Beispiel: „beispiel.verschluesselung.de“ ist eine Subdomain der Domain „verschluesselung.de“.
  • Nennen Sie vier Bestandteile eines digitalen Zertifikats! Versionsnummer Die Version des im Zertifikat verwendeten X.509-Standards. Seriennummer Eine Nummer zur eindeutigen Identifizierung des Zertifikats und der Ausstellung durch die Zertifizierungsstelle. Name des Zertifikatalgorithmus Die Namen der Algorithmen zur Erstellung des öffentlichen Schlüssels, den die Zertifizierungsstelle zur Signatur des digitalen Zertifikats verwendet hat. Name des Ausstellers Informationen über die Zertifizierungsstelle, die das Zertifikat ausgestellt hat. Gültigkeitsdauer Der Zeitraum für die Gültigkeit des Zertifikats, einschließlich Anfangs- und Ablaufdatum. Name des Inhabers Der Name des Inhabers des digitalen Zertifikats. Informationen zum öffentlichen Schlüssel Der dem Inhaber des digitalen Zertifikats zugeordnete öffentliche Schlüssel und die Namen der Algorithmen zur Erstellung. Eindeutige Aussteller-ID Informationen zur eindeutigen Identifizierung des Ausstellers des digitalen Zertifikats. Eindeutige Inhaber-ID Informationen zur eindeutigen Identifizierung des Inhabers des digitalen Zertifikats. Erweiterungen Zusätzliche Informationen zur Verwendung und Handhabung des Zertifikats. Digitale Signatur der Zertifizierungsstelle Die mit dem privaten Schlüssel der Zertifizierungsstelle und unter Verwendung der angegebenen Algorithmen erstellte digitale Signatur
  • Erläutern Sie die Funktionsweise eines Hash-Algorithmus! Bei einer Hashfunktion geht es meistens darum, zu einer Eingabe beliebiger Länge (zum Beispiel ein Text) eine kurze, möglichst eindeutige Identifikation fester Länge (den Hashwert des Textes) zu finden. Das ist etwa dann sinnvoll, wenn man zwei große, ähnliche Dateien vergleichen will: Anstatt die 25 Seiten eines Textes durchzusehen, ob auch wirklich jeder Buchstabe gleich ist, ist anhand der kurzen Hashwerte der beiden Dokumente sofort zu sehen, ob diese (höchstwahrscheinlich) gleich oder (mit Sicherheit) verschieden sind.Praktische Anwendung ist z. B. das Herunterladen einer Datei, zu der der Autor den Hashwert angegeben hat: Um zu prüfen, ob es Übertragungsfehler gegeben hat, braucht nicht die gesamte Datei ein zweites Mal heruntergeladen zu werden, sondern es muss nur der Hashwert gebildet und mit der Angabe des Autors verglichen werden. Eine Hashfunktion sollte die folgenden Eigenschaften haben: Einwegfunktion: Aus dem Hashwert darf nicht der originale Inhalt erzeugt werden können. In unserem Beispiel darf es nicht möglich sein, aus dem Hashwert „123“ den Ursprungstext „Supermann“ zu erzeugen. Kollisionssicherheit: Den unterschiedlichen Texten darf nicht derselbe Hashwert zugeordnet sein. Ist diese Voraussetzung erfüllt, so spricht man auch von kryptografischen Hashfunktionen. Hashfunktionen haben verschiedene Anwendungsfelder. Dabei lassen sich drei große Gebiete unterteilen: DatenbankenKryptologiePrüfsummen Hashfunktionen in DatenbankenDatenbankmanagementsysteme verwenden Hashfunktionen, um Daten in großen Datenbeständen mittels Hashtabellen zu suchen. In diesem Fall spricht man von einem Datenbankindex. KryptologieIn der Kryptologie werden kryptologische Hashfunktionen zum Signieren von Dokumenten oder zum Erzeugen von Einweg-Verschlüsselungen verwendet. Hashwerte sind auch Bestandteil von verschiedenen Verschlüsselungsverfahren, wie beispielsweise dem Temporal Key Integrity Protocol (TKIP). PrüfsummenPrüfsummen werden verwendet um Änderungen an Daten zu erkennen, die entweder durch technische Störeinflüsse oder absichtliche Manipulation auftreten können. Eine Manipulation ist feststellbar, wenn die berechnete Prüfsumme der geänderten Daten sich von der Prüfsumme der Originaldaten unterscheidet. Die Eignung verschiedener Hashfunktionen zur Prüfsummenberechnung hängt von der Kollisionswahrscheinlichkeit der berechneten Prüfsummen ab. Eine Kollisionsfreiheit ist nur möglich, wenn der Prüfsummenwertebereich größer gleich dem Wertebereich der Eingabedaten ist. Wenn die Prüfsumme vor gezielten Manipulationen der Daten schützen soll, wird eine kryptographische Hashfunktion verwendet, welche unumkehrbar ist.
  • Neben Benutzername und Passwort werden digitale Zertifikate zur Authentifizierung verwendet. Erläutern Sie, wie der Server die Echtheit des Clientzwertifikats prüfen kann. Beispiel an einem VPN Client: Der Validierungsdienst kontaktiert daraufhin eine Certification Authority (CA) z.B. VerySign um die Echtheit des Zertifikats zu überprüfen. Die CA prüft das Zertifikat und sendet die Antwort "gültig oder nicht gültig" an den Validierungsdienst, der dann die Antwort an den VPN-Router wieder zurück sendet.