diff --git a/ex01/kn01.pdf b/ex01/kn01.pdf index 43f9d35..eda4e99 100644 --- a/ex01/kn01.pdf +++ b/ex01/kn01.pdf Binary files differ diff --git a/ex01/kn01.tex b/ex01/kn01.tex index 66dac89..38fcd68 100644 --- a/ex01/kn01.tex +++ b/ex01/kn01.tex @@ -81,9 +81,9 @@ \begin{document} %\header{BlattNr}{Tutor}{Abgabedatum}{Vorlesungsname}{Namen}{Semester}{Anzahl Aufgaben} -\header{1}{}{2015-10-21}{Kommunikationsnetze}{\textit{Jonas Jaszkowic}\\\textit{Jan-Peter Hohloch}}{WS 15/16}{2} +\header{1}{}{2015-10-21}{Kommunikationsnetze}{\textit{Jonas Jaszkowic, 3592719}\\\textit{Jan-Peter Hohloch, 3908712}}{WS 15/16}{2} \vspace{1cm} -\Aufgabe{Grundlagen}{5+15+10+10+10+5+10} +\Aufgabe{Grundlagen}{5+15+10+10+10+5+5+5} \begin{enumerate} \item \begin{enumerate}[1.] \item Physical Layer (Bitübertragungsschicht): Übertragung der Information in bits @@ -95,11 +95,11 @@ \item Application Layer (Anwendungsschicht): Daten-Ein-/Ausgabe \end{enumerate} \item \begin{enumerate} - \item[2.] Data Link Layer: + \item[2.] Data Link Layer: WEP \item[3.] Network Layer: IPsec \item[4.] Transport Layer: SSL - \item[7.] Application Layer: HTTPS, SSH, FTP, DNS - \item[] ? Quelle: \href{https://en.wikipedia.org/wiki/List_of_network_protocols_(OSI_model)}{List Of Network Protocols - Wiki} + \item[7.] Application Layer: PGP + \item[$\rightarrow$] Je tiefer das geschützte Layer, desto weniger kann ein Angreifer erschließen welche Art von Daten verschickt werden, da nur die einzelnen Pakete, nicht aber der größere Kontext angegriffen wird. Allerdings werden auch nur die einzelnen kleinen Pakete mit einer Checksum verstehen, es kann also nicht über die Grenzen der kleinen Pakete hinweg verifiziert werden, solange nicht auch die höhere Schicht geschützt wird. \end{enumerate} \item \begin{enumerate} \item \textbf{Vertraulichkeit und Abhörsicherheit}: Der Sender verschlüsselt die Nachricht, der Empfänger entschlüsselt die Nachricht. Nur diese beiden Parteien sollten die Nachricht im Klartext lesen können. @@ -113,20 +113,21 @@ \end{enumerate} \item Wird beispielsweise eine Überweisung getätigt, so kann diese per replay wiederholt werden. es wird also die doppelte Menge überwiesen. \\ Vermieden werden können replay attacks durch laufende Nummern, sodass Nachrichten die Gültigkeit verlieren nachdem sie einmal versandt worden sind. Replay von gesamten Sessions kann durch eine nonce verhindert werden. Eine einmalig verwendete zusätzliche Zahl, die zur Identifizierung mitverwendet wird. - \item Symmetrische Verschlüsselung basiert auf einem einzigen Schlüssel. Mit diesem wird ver- und entschlüsselt. Im Gegensatz dazu wird bei asymmetrischer Verschlüsselung ein Schlüsselpaar verwendet, ein Schlüssel zu Ver- und einer zum Entschlüsseln.\\ + \item Symmetrische Verschlüsselung basiert auf einem einzigen Schlüssel. Mit diesem wird ver- und entschlüsselt. Im Gegensatz dazu wird bei asymmetrischer Verschlüsselung ein Schlüsselpaar verwendet, ein Schlüssel zu Ver- und einer zum Entschlüsseln (Public- und PrivateKey).\\ Bei symmetrischen Verfahren muss der Schlüssel mit ausgetauscht werden, soll dies sicher erfolgen, so benötigt man weiteren Aufwand (Diffie-Hellman). Dafür sind symmetrische Verfahren meist schneller, da sie kürzere Schlüssel für die gleiche Sicherheit benötigen.\\ Asymmetrische Verfahren kommen ohne den direkten Austausch von Schlüsseln aus, allerdings ist hier das Problem, dass sichergestellt werden muss, dass der öffentliche Schlüssel tatsächlich der richtigen Person gehört. Außerdem sind asymmetrische Verfahren meist langsamer, da sie längere Schlüssel benötigen um Sicherheit zu gewähren. \item Es existiert ein geteiltes Geheimnis (shared secret), dieses wird an die Nachricht angehängt und mit gehashed. Hash und Nachricht (ohne secret) werden versandt. Der Empfänger hasht die NAchricht, nachdem er das Geheimnis angehängt hat und vergleicht das Ergebnis mit dem übermittelten Hash. Sind sie gleich, so wurde die Nachricht vom erwarteten Sender übermittelt, da niemand sonst das Geheimnis kennt. - \item Der Sender hasht die Nachricht und verschlüsselt den Hashwert mit seinem privaten Schlüssel. Der Empfänger hasht die Nachricht ebenfalls und entschlüsselt außerdem den übermittelten verschlüsselten Hashwert mit dem PublicKey des Senders. Stimmen die Ergebnisse überein, so kann der Empfänger davon ausgehen, dasss die Nachricht tatsächlich so vom Sender kam. + \item Der Sender hasht die Nachricht und verschlüsselt den Hashwert mit seinem privaten Schlüssel. Der Empfänger hasht die Nachricht ebenfalls und entschlüsselt außerdem den übermittelten verschlüsselten Hashwert mit dem PublicKey des Senders. Stimmen die Ergebnisse überein, so kann der Empfänger davon ausgehen, dass die Nachricht tatsächlich so vom Sender kam. + \item Signaturen erlauben non-repudiation, MACs jedoch nicht, da bei MACs immer zwei Personen dasselbe Geheimnis kennen. \end{enumerate} -\Aufgabe{Blockchiffren}{5+10+10+10} +\Aufgabe{Blockchiffren}{6+6+6+6+11} \begin{enumerate} \item DES (überholt, da Schlüssel zu kurz), beruht auf Feistel-Chiffre. Vorgehensweise: Es gibt einen Key der Länge 56bit. Initiale Permutation des 64bit langen Inputs, danach iterativ 16 identische Durchläufe mit der gleichen Verschlüsselungsfunktion aber einem anderem 48bit langem Key, der aus dem ursprünglichen Key generiert wird. Am Schluss nochmal eine letzte Permutation. \\ AES (ersetzt DES), erlaubt Schlüssel größerer Länge und kann an Rechenzeiten angepasst werden. Hier werden Klartextblöcke mit einer Länge von 128bit verarbeitet. - \item Identische Klartextblöcke werden identisch verschlüsselt. Kommt ein Block mehr als einmal im Klartext vor, so wird auch der verschlüsselte Text an diesen Stellen identisch sein. Das erlaubt Angriffe beruhend auf Blockhäufigkeiten, wenn gezählt wird wie oft welcher verschlüsselte Block vorkommt. Durch das 1-1 Mapping hat jeder Block also nur Auswirkungen auf sein verschlüsseltes Äquivalent, nicht aber auf die anderen Blöcke bzw. Bits. - \item s.o.\\ - Wiederholungen können beispielsweise durch den Cipher Block Chaining Mode vom Klartext unabhängig werden. Hierbei wird der veschlüsselte letzte Block per xor mit dem aktuellen Klartext kombiniert und dann verschlüsselt. Für den ersten Block benötigt man einen Initialisierungsvektor, dieser kann öffentlich sein. Wenn der Initialisierungsvektor bei jeder Session geändert wird, so ergibt sich auch bei identischer Nachricht jedesmal ein komplett anderer Ciphertext. - \item Der Klartext wird also vor dem Verschlüsseln auf dem Kontext basierend verändert. Beispielsweise ist der Kontext beim Cipher Block Chaining der Initialisierungsvektor. Dadurch wird bei gleichen Klartext dennoch ein anderer Text verschlüsselt, wodurch auch ein anderer Ciphertext erreicht wird. + \item Identische Klartextblöcke werden identisch verschlüsselt. + \item Kommt ein Block mehr als einmal im Klartext vor, so wird auch der verschlüsselte Text an diesen Stellen identisch sein. Das erlaubt Angriffe beruhend auf Blockhäufigkeiten, wenn gezählt wird wie oft welcher verschlüsselte Block vorkommt. Durch das 1-1 Mapping hat jeder Block also nur Auswirkungen auf sein verschlüsseltes Äquivalent, nicht aber auf die anderen Blöcke bzw. Bits. + \item Wiederholungen können beispielsweise durch den Cipher Block Chaining Mode vom Klartext unabhängig werden. + \item Hierbei wird der veschlüsselte letzte Block per xor mit dem aktuellen Klartext kombiniert und dann verschlüsselt. Für den ersten Block benötigt man einen Initialisierungsvektor, dieser kann öffentlich sein. Wenn der Initialisierungsvektor bei jeder Session geändert wird, so ergibt sich auch bei identischer Nachricht jedesmal ein komplett anderer Ciphertext. \end{enumerate} \end{document}