# X.800

X.800 ist eine Sicherheitsarchitektur im Sinne der Informationssicherheit zur sicheren Anbindung verschiedenster offener digitaler Systeme. Nach wie vor ist X.800 kein Standard, sondern eine Empfehlung der ITU (International Telecommunication Union) von 1991.
Die X.800 Recommendation definiert generelle Elemente einer Sicherheitsarchitektur. Sie erweitert das Anwendungsfeld der Recommendation X.200 (OSI-Modell) um die sichere Kommunikation zwischen offenen Systemen.
Die Recommendation X.800 erfüllt folgende Aufgaben:
* generelle Beschreibung von Sicherheitsdiensten, die vom OSI-Referenzmodell erbracht werden können
* Definition der Stellen im Referenzmodell, an denen die Dienste und Mechanismen eingesetzt werden können.
X.800 deckt nicht alle Sicherheitsdienste ab: Sicherheitsaspekte im Endsystem, die sehr stark vom Anwendungskontext abhängig sind, werden von X.800 nicht erfasst.

## Sicherheitsdienste in X.800

Im Rahmen von X.800 werden die folgenden Sicherheitsdienste definiert:
* Authentifizierung: Dieser Dienst wird verwendet, um die Identität eines oder mehrerer Kommunikationspartner bzw. Datenquellen zu überprüfen. Der Dienst, der von der Schicht N des Referenzmodells angeboten wird, garantiert Schicht (N+1), dass der Kommunikationspartner auf Ebene der Schicht (N+1) wirklich der ist, für den er sich ausgibt.
* Zugriffskontrolle: Dieser Dienst bietet Schutz gegen nicht autorisierte Verwendung von Ressourcen, auf die mittels OSI-Protokollen zugegriffen werden kann. Dabei können verschiedene Schutzmodi (z. B. Lese-, Schreib- oder Löschschutz) angegeben werden.
* Vertraulichkeit von Daten: Dieser Dienst schützt Daten vor einem unberechtigten Zugriff. Darunter fällt die Vertraulichkeit von Daten die verbindungsorientiert oder verbindungslos übertragen werden, der Schutz einzelner Felder einer Dateneinheit und der Schutz der Information, die aus dem Verkehrsfluss (Traffic Flow) gewonnen werden könnte.
* Datenintegrität: Dieser Dienst verhindert aktive Angriffe auf die Integrität von Daten einer Verbindung auf Schicht N. Dabei wird zwischen der Feststellung eines Angriffs (Integrität mit Recovery) und der anschließenden Behebung des Fehlers (Integrität ohne Recovery) unterschieden. Die Integrität kann auch für verbindungslosen Verkehr oder nur für ausgewählte Felder überwacht werden.
* Verbindlichkeit (Non-Repudiation): Dieser Dienst ermöglicht es dem Empfänger, die Herkunft der Daten zweifelsfrei festzustellen (Proof of Origin) → Der Sender kann nicht abstreiten ein Paket geschickt zu haben. Analog kann der Sender feststellen, dass der Empfänger ein Paket erhalten hat (Proof of Delivery) → Der Empfänger kann nicht abstreiten, Daten empfangen zu haben, um eine Neuübertragung zu verursachen.

## Sicherheitsmechanismen in X.800

Um diese Dienste umzusetzen, können die folgenden Mechanismen verwendet werden:
* Chiffrierung: gewährleistet die Vertraulichkeit von Daten bzw. von Informationen über den Verkehrsfluss (siehe auch Verschlüsselung)
* Digitale Signaturen: Mittels digitaler Signaturen kann eine Dateneinheit unterschrieben (zertifiziert) bzw. eine unterschriebene Dateneinheit verifiziert werden (siehe auch digitale Signatur).
* Zugriffskontrolle: Mittels Zugriffskontrolle kann mit Hilfe der authentifizierten Identität eines Partners oder mit Hilfe von Informationen über den Partner bzw. Eigenschaften des Partners festgelegt werden, welche Zugriffsrechte diesem Partner eingeräumt werden dürfen.
* Datenintegritätsmechanismen: Es kann entweder die Integrität einer einzelnen Dateneinheit (mittels Prüfsumme) oder die Integrität eines vollständigen Stroms aus Dateneinheiten (z. B. mit Sequenznummern oder Zeitmarken) gesichert werden.
* Mechanismen zur Authentifizierung: z. B. durch Verwendung von Authentifizierungsinformationen (Passwörter), kryptographische Techniken oder Verwendung besonderer Eigenschaften eines Partners
* Mechanismen zum Auffüllen von Datenverkehr (Traffic Padding): Mittels Traffic Padding kann eine Verkehrsanalyse erschwert werden.
* Kontrolle der Wegewahl: Durch die Definition von Wegeeinschränkungen kann verhindert werden, dass bestimmte Subnetzwerke oder Links durchlaufen werden. Bspw. können Endsysteme vom Netzwerkprovider die Einrichtung einer anderen Wegstrecke verlangen, wenn Manipulationen entdeckt werden.
* Notarmechanismus: Durch einen Notarmechanismus können bestimmte Eigenschaften kommunizierender Partner (z. B. Integrität, Ursprung, Zeit und Ziel der Daten) durch eine dritte Stelle, der die Kommunikationspartner vertrauen, bestätigt werden.
Folgende Mechanismen beziehen sich nicht auf einen speziellen Dienst:
* Vertrauenswürdige Funktionalität
* Sicherheits-Label: Mit Ressourcen, die Dateneinheiten beinhalten, können Sicherheitslabel assoziiert sein, die bspw. den Vertraulichkeitsgrad angeben.
* Event-Erkennung: Die Erkennung sicherheitsrelevanter Ereignisse, bspw. spezielle Sicherheitsverletzungen, spezielle vorab definierte Events oder die Überschreitung einer vorab festgelegten Anzahl von bestimmten Ereignissen, kann eine oder mehrere Aktionen, bspw. lokale Benachrichtigung, Benachrichtigung bei der Gegenseite der Kommunikation, Logging oder Recovery-Aktionen, auslösen.
* Audit Trails: Aufzeichnung sicherheitsrelevanter Informationen um Sicherheitsprobleme zu erkennen
* Security Recovery: führt eine regelbasierte Recovery (Wiederherstellung) durch

## Die X.800-Dienste im OSI-Modell

Die X.800-Dienste kommen auf folgenden Schichten des OSI-Modells zum Einsatz. Dabei kann jede höhere Schicht die Sicherheitsdienste der niedrigeren Schichten verwenden.
Schicht 1: Bitübertragungsschicht
Auf der Bitübertragungsschicht können nur die Vertraulichkeit der Verbindung sowie die Vertraulichkeit des Verkehrsflusses angeboten werden.
Das wird durch die Verschlüsselung des Datenstroms durch Hardware (sog. Spread Spectrum Security, Frequenzspreizung) erreicht. Dabei wird der gesamte physikalische Bitstrom kodiert.
Schicht 2: Sicherungsschicht
Auf der Ebene der Schicht 2 werden die Dienste der verbindungsorientierten sowie der verbindungslosen Vertraulichkeit angeboten.
Auch diese Dienste werden mittels Verschlüsselung erreicht. Die Verschlüsselung der Daten wird vor der regulären Übertragung resp. nach dem Empfang durchgeführt. Deshalb sind die verwendeten Verschlüsselungsmechanismen abhängig vom verwendeten Protokoll dieser Schicht.
Folgende Protokolle können zur Realisierung der Schicht 2-Sicherheitsdienste verwendet werden:
* Point-to-Point Tunneling Protocol (PPTP):
Mit PPTP können PPP-Pakete getunnelt und damit über unsichere IP-basierte Netzwerke gesendet werden.
* Layer 2 Tunneling Protocol (L2TP):
Wie PPTP verwendet L2TP verschlüsselte Tunnel zum Versenden von Daten. Der Unterschied liegt darin, dass mit L2TP-Tunnel über beliebige paketvermittelte Netze (IP-Netze, Frame-Relay-PVCs, X.25-VCs oder ATM-VCs) aufgebaut werden können. Außerdem ist es mit L2TP möglich, mehrere Tunnel zwischen 2 Endpunkten aufzubauen und über eine Authentifizierung der Tunnelendpunkte den Tunnel selbst abzusichern (bei PPTP werden nur die transportierten Daten gesichert).
Schicht 3: Vermittlungsschicht
In der Vermittlungsschicht werden eine Reihe von Sicherheitsdiensten angeboten:
* gegenseitige Authentifizierung: Verschlüsselung, gesicherter Austausch von Passwörtern oder Signaturmechanismen
* Authentifizierung der Datenherkunft: kann durch Verschlüsselung oder durch Signaturmechanismen umgesetzt werden
* Zugriffskontrolle
* verbindungsorientierte Vertraulichkeit & verbindungslose Vertraulichkeit: werden durch Verschlüsselung und/oder Routing-Kontrolle vorgenommen
* Vertraulichkeit des Verkehrsflusses: wird durch den Einsatz von Traffic Padding garantiert
* verbindungsorientierte Integrität ohne Recovery & verbindungslose Integrität: Die Integrität kann entweder für eine einzelne Dateneinheit, mittels Prüfsumme, oder für einen vollständigen Strom aus Dateneinheiten, z. B. mit Sequenznummern oder Zeitmarken, sichergestellt werden.
Um die Kommunikationspfade auf Ebene der Vermittlungsschicht abzusichern, wurde IPsec entwickelt. Innerhalb von IPsec werden zwei verschiedene Protokolle verwendet, die auch kombiniert werden können:
* Authentication Header (AH): Mit AH werden die Sicherheitsdienste verbindungslose Integrität, Zugriffskontrolle und Authentifizierung der Datenherkunft realisiert. Optional bietet es einen Anti-Replay-Dienst an.
Ein Abhören der Kommunikation ist allerdings auch nach Verwendung des AH-Protokolls möglich, da die Nutzdaten des Pakets nicht verschlüsselt werden.
* Encapsulating Security Payload (ESP): ESP erbringt die Dienste Zugriffskontrolle, verbindungslose Integrität, Authentifizierung der Datenherkunft und optional den Anti-Replay-Dienst.
Bei Verwendung des ESP-Protokolls werden die Nutzdaten des IP-Pakets verschlüsselt, der Header jedoch nicht.