\documentclass[a4paper,12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{graphicx} %BIlder einbinden
\usepackage{amsmath} %erweiterte Mathe-Zeichen
\usepackage{amsfonts} %weitere fonts
\usepackage[utf8]{inputenc} %Umlaute & Co
\usepackage{hyperref} %Links
\usepackage{ifthen} %ifthenelse
\usepackage{enumerate}

\usepackage{color}
\usepackage{algpseudocode} %Pseudocode
\usepackage{dsfont} % schöne Zahlenräumezeichen
\usepackage{amssymb, amsthm} %noch stärker erweiterte Mathe-Zeichen
\usepackage{tikz} %TikZ ist kein Zeichenprogramm
\usetikzlibrary{trees,automata,arrows,shapes}
\usepackage{pgfplots}

\pagestyle{empty}


\topmargin-50pt

\newcounter{aufgabe}
\def\tand{&}

\newcommand{\makeTableLine}[2][0]{%
\setcounter{aufgabe}{1}%
\whiledo{\value{aufgabe} < #1}%
{%
#2\tand\stepcounter{aufgabe}%
}
}

\newcommand{\aufgTable}[1]{
\def\spalten{\numexpr #1 + 1 \relax}
\begin{tabular}{|*{\spalten}{p{1cm}|}}
\makeTableLine[\spalten]{A\theaufgabe}$\Sigma$~~\\ \hline
\rule{0pt}{15pt}\makeTableLine[\spalten]{}\\
\end{tabular}
}

\def\header#1#2#3#4#5#6#7{\pagestyle{empty}
\begin{minipage}[t]{0.47\textwidth}
\begin{flushleft}
{\bf #4}\\
#5
\end{flushleft}
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
\begin{flushright}
#6 \vspace{0.5cm}\\
%                 Number of Columns    Definition of Columns      second empty line
% \begin{tabular}{|*{5}{C{1cm}|}}\hline A1&A2&A3&A4&$\Sigma$\\\hline&&&&\\\hline\end{tabular}\\\vspace*{0.1cm}
\aufgTable{#7}
\end{flushright}
\end{minipage}
\vspace{1cm}
\begin{center}
{\Large\bf Blatt #1}

{(Abgabe #3)}
\end{center}
}



%counts the exercisenumber
\newcounter{n}

%Kommando für Aufgaben
%\Aufgabe{AufgTitel}{Punktezahl}
\newcommand{\Aufgabe}[2]{\stepcounter{n}
\textbf{Aufgabe \arabic{n}: #1} (#2 Punkte)}

\newcommand{\textcorr}[1]{\textcolor{red}{#1}}
\newenvironment{corr}{\color{red}}{\color{black}\newline}
\newcommand{\ok}{\begin{corr}
      $\checkmark$
  \end{corr}}

\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}
\vspace{1cm}
\Aufgabe{ISO/OSI}{5+15+10+10+10+5+10}
  \begin{enumerate}
      \item \begin{enumerate}[1.]
          \item Physical Layer (Bitübertragungsschicht): Übertragung der Information in bits
          \item Data Link Layer (Datensicherungsschicht): Prüfsummen zur Kontrolle der Übertragung, Teilung in Datenblöcke
          \item Network Layer (Vermittlungsschicht): Routing, Netzwerkadressen
          \item Transport Layer (Transportschicht): Datenkapselung, Portzuteilung
          \item Session Layer (Sitzungsschicht): Datenaustausch zwischen Systemen durch Check Points
          \item Presentation Layer (Darstellungsschicht): Datenkompression und Verschlüsselung, systemabhängige Darstellung
          \item Application Layer (Anwendungsschicht): Daten-Ein-/Ausgabe
        \end{enumerate}
    \item \begin{enumerate}
      \item[2.] Data Link Layer:
      \item[3.] Network Layer:
      \item[4.] Transport Layer:
      \item[7.] Application Layer:
    \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.
        \item \textbf{Integrität der Nachricht}: Der Sender und der Empfänger müssen sicherstellen, dass die Nachricht weder beim Versand noch danach unbemerkt verändert werden kann.
        \item \textbf{Authentizität}:
        \begin{itemize}
            \item Authentizität der Kommunikationspartner: Sender und Empfänger müssen ihre Identität dem jeweils anderen bestätigen.
            \item Authentizität der Daten: Daten wurden wirklich vom Sender und niemand anderem verschickt worden sein. Wichtig um Verbindlichkeit (z.B. vor Gericht) zu sichern.
        \end{itemize}
        \item \textbf{Verfügbarkeit}: Die Dienste müssen den Benutzern für die Dauer der Kommunikation zur Verfügung stehen und benutzt werden können.
        \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.
    \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.\\
    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.

  \end{enumerate}
\end{document}

