Computer- und Netzwerksicherheit - Zugriffssteuerung: Unterschied zwischen den Versionen

Aus FernFH MediaWiki
Zur Navigation springen Zur Suche springen
Zeile 222: Zeile 222:
Diese Abhängigkeiten sind in Abbildung 18 ersichtlich: Peter kennt sowohl Anna, als auch Christoph persönlich und hat daher ihre öffentlichen Schlüssel in seinem öffentlichen Schlüsselbund abgelegt. Christoph hat nur eine direkte Beziehung zu Anna, nicht aber zu Peter. Da sich Christophs öffentlicher Schlüssel im öffentlichen Schlüsselbund von Anna befindet, erkennt Peter sein Zertifikat als gültig an.
Diese Abhängigkeiten sind in Abbildung 18 ersichtlich: Peter kennt sowohl Anna, als auch Christoph persönlich und hat daher ihre öffentlichen Schlüssel in seinem öffentlichen Schlüsselbund abgelegt. Christoph hat nur eine direkte Beziehung zu Anna, nicht aber zu Peter. Da sich Christophs öffentlicher Schlüssel im öffentlichen Schlüsselbund von Anna befindet, erkennt Peter sein Zertifikat als gültig an.


[[Datei:IT244 18.png|300px|none|thumb|Web of Trust - Vertrauensnetzwerk]]
<span id="_Ref415150535" class="anchor"></span>[[file:img1643193688517.png|300px|alt=Web of Trust - Vertrauensnetzwerk|none|thumb|Web of Trust - Vertrauensnetzwerk]]
<span id="_Ref415150535" class="anchor"></span>


Die erste Implementierung des WOT war '''Pretty Good Privacy (PGP)''' [Sy15]. Es ist ein Softwarepaket, welches die Sicherstellung der Authentizität, Integrität und Vertraulichkeit von E-Mails sowie beliebiger Dateien ermöglicht. '''GnuPG''' [Gn15] ist die frei verfügbare Version, die unter der GNU General Public License [Fr07] steht. Ein möglicher Windows Client für GnuPG ist beispielsweise Gpg4win [In15b].
Die erste Implementierung des WOT war '''Pretty Good Privacy (PGP)''' [Sy15]. Es ist ein Softwarepaket, welches die Sicherstellung der Authentizität, Integrität und Vertraulichkeit von E-Mails sowie beliebiger Dateien ermöglicht. '''GnuPG''' [Gn15] ist die frei verfügbare Version, die unter der GNU General Public License [Fr07] steht. Ein möglicher Windows Client für GnuPG ist beispielsweise Gpg4win [In15b].

Version vom 25. Jänner 2022, 17:02 Uhr

Zugriffssteuerung

Die Zugriffssteuerung (Access Control) regelt den Zugriff und die Kommunikation von IT-Systemen mit ihren Anwendern, Ressourcen und anderen IT-Systemen. Es handelt sich dabei um eine zentrales Element der meisten IT-Systeme, da davon alle Schutzziele (Vertraulichkeit, Integrität und Verfügbarkeit; siehe Lektion 1.3) betroffen sein können.

In dieser Lektion werden die grundlegenden Begriffe der Zugriffssteuerung erläutert und weiter die konkreten Techniken der Zertifikate und der Fernzugriffe sowie potentielle Angriffsvektoren näher behandelt.

Grundbegriffe der Zugriffssteuerung

Um die Schutzziele der Vertraulichkeit, Integrität und Verfügbarkeit des Datenaustausches mit IT-Systemen gewährleisten zu können müssen die jeweiligen Anforderungen an die Kommunikation definiert werden. Dabei gibt es einige wesentliche Begriffe, welche oft auch von Technikern falsch verwendet werden. Beispielsweise werden Identifikation, Authentifikation und Autorisation manchmal fälschlicherweise als Akronyme verwendet, obwohl es sich dabei um grundlegend unterschiedliche Begriffe handelt. Auch ist es wichtig zu wissen, wie bestimmte Anforderungen an die Zugriffssteuerung implementiert werden können.

Zugriff

Beim Zugriff handelt es sich um die Kommunikation mit einem IT-System. Diese kann sowohl mit einem Anwender, als auch mit einem anderen IT-System oder seiner Ressourcen stattfinden. In den meisten Fällen gibt es dabei Anforderungen an Identifikation, Authentifikation und Autorisation, sowie an die Nachverfolgbarkeit und Nichtabstreitbarkeit (siehe weiter auch 4.1.2, 4.1.3, 4.1.4 und 4.1.5).

Ressourcen können dabei alle Komponenten sein, welche einen Zugriff auf Daten ermöglichen oder diese beinhalten, wie beispielsweise: Datenbanken, Tabellen und Dateien. Die Zugriffe können dabei sowohl über lokale Verbindungen, als auch über das Netzwerk/Internet oder unterschiedliche Datenträger erfolgen.

Identifikation

Die Identifikation bezeichnet die Benennung eines bestimmten Systems oder einer Person, welche auf ein System zugreifen möchte. Dabei ist weder sichergestellt durch wen diese Benennung erfolgt ist, noch ob es sich bei der Benennung tatsächlich um das benannte System oder die benannte Person handelt.

Zur Identifikation dienen oft die eindeutige User-ID, die E-Mailadresse oder der Name.

Ein Beispiel ist eine Anwesenheitsliste: Die Protokollführung schreibt die Namen der anwesenden Personen auf, welche diese wiederum identifizieren. Dabei ist jedoch noch nicht sichergestellt, ob die jeweiligen Personen tatsächlich die sind, die sie vorgeben zu sein. Im schlechtesten Fall sind sie der Protokollführung nicht bekannt und identifizieren sich durch Nennung ihres Namens.

Authentifikation

Die eindeutige Identifikation einer Person oder eines Systems wird als Authentifikation bezeichnet. Erst dadurch wird sichergestellt, dass es sich dabei tatsächlich um die Identifizierten handelt.

Es gibt drei unterschiedliche Kategorien von Authentifikationsmethoden und -merkmale:

  • Wissen (was jemand weiß),
  • Besitz (was jemand besitzt) und
  • Biometrie (was jemand ist).

Die drei Merkmale Wissen, Besitz und Biometrie werden oft auch als „Wissen, Haben und Sein“ bezeichnet.

Eine häufig eingesetzte Methode ist das Passwort. Dieses ist in der Kategorie des Wissens eingeordnet, da es von jedem eingesetzt werden kann, der es kennt. Es kann daher auch weitergegeben oder ausgespäht werden. Je komplexer es ist, desto leichter kann es auch vergessen werden. Je häufiger es verwendet wird, desto schneller kann es herausgefunden werden. Zu komplexe Passwörter sind daher keine gute Lösung zur sicheren Authentifikation, da sie von vielen Usern vergessen oder aufgeschrieben werden. Dasselbe gilt für zu einfache Passwörter, da sie leicht erraten werden können.

Beim Merkmal des Besitzes wird die Authentifikation über etwas erreicht, dass nur der zu Authentifizierende besitzt. Beispiele dafür sind ein Personalausweis oder eine Chipkarte (z.B. eine Bankomatkarte). Damit die Weitergabe dieses Merkmals überhaupt nicht, oder nur sehr schwierig möglich ist, sollte es möglichst nicht vervielfältigt werden können.

Unter Biometrie werden Merkmale verstanden, die an eine bestimmte Person (oder ein bestimmtes System) gebunden sind. Sie sind öffentlich sichtbar oder beobachtbar, jedoch nicht leicht duplizierbar. Häufig bekannte Beispiele für biometrische Merkmale sind Fingerabdrücke, Venenmuster, die Iris-Muster der Augen und Stimmmuster. Weitere, oft weniger bekannte, Merkmale sind jedoch auch die Art des Ganges einer Person, ihre Tastenanschläge, ihr Schreibstil und aber auch die Art und Weise wie sie sich innerhalb eines Programmes oder einer Webseite bewegen.

Je nach Sicherheitsanforderungen können dabei auch mehrere Merkmale kombiniert werden um die Authentifizierungsqualität noch weiter zu verstärken. Ein bekanntes Beispiel dafür ist die zur Bargeldbehebung mittels Bankomatkarte notwendige Authentifizierung. Dabei wird ein Besitzmerkmal (Bankomatkarte) mit einem Wissensmerkmal (PIN-Code) kombiniert. Ist jemand im Besitz der Karte, benötigt er zusätzlich noch den PIN-Code und umgekehrt. Mit einem der beiden Merkmale allein kann keine gültige Authentifikation erfolgen und damit auch kein Geld behoben werden.

Werden zwei Merkmale kombiniert, wird dies auch als Zwei-Faktor-Authentifizierung bezeichnet. Wichtig ist dabei immer, dass zwei Merkmale unterschiedlicher Kategorien (Wissen, Besitz und Biometrie) kombiniert werden. Die Kombination zweier Merkmale derselben Kategorie, erhöht zwar die Sicherheit, gilt dabei jedoch nicht als Zwei-Faktor-Authentifizierung. Die einzelnen Merkmalskategorien und die sich daraus ergebenen Authentifizierungslevel sind weiter in Abbildung 15 dargestellt.

Ob die Authentifizierungsqualität durch den Einsatz von drei Faktoren weiter stark erhöht werden kann, ist umstritten. Dies ist stark von den jeweils eingesetzten Techniken, aber auch von deren Akzeptanz bei den Anwendern, abhängig.

Authentifizierungsfaktoren: Wissen, Besitz und Biometrie

Autorisation

Bei der Autorisation handelt es sich um die Berechtigung, die eine authentifizierte Person oder ein authentifiziertes System für einen bestimmten Zugriff hat. So können in einem System beispielsweise unterschiedliche Rollen existieren, welche wiederum unterschiedliche Zugriffe ermöglichen. Wie ein System unterschiedliche Autorisationen verwaltet und behandelt wird als Zugriffssteuerungsmodell bezeichnet. Die unterschiedlichen Arten von Zugriffssteuerungsmodellen sind nachfolgend in 4.1.6 genauer beschrieben.

Die Authentifikation stellt damit sicher, dass es sich um jemand bestimmten handelt und die Autorisation regelt wiederum welche bestimmten Rollen welche Zugriffe bekommen.

Nachverfolgbarkeit und Nichtabstreitbarkeit

Bei der Nachverfolgbarkeit und Nichtabstreitbarkeit handelt es sich um Zugriffsmerkmale, welche eine genaue Dokumentation der jeweiligen Systemkommunikation ermöglichen. Je nach Anforderung wird dabei dokumentiert, welche Zugriffe stattgefunden haben und unter welchen (Sicherheits-)Parametern diese aufgebaut wurden. Um eine lückenlose Nachverfolgbarkeit sicherzustellen, ist es erforderlich, den Erfolg der Authentifikation und die erteilte Autorisation zu dokumentieren.

In manchen Fällen ist es weiter erforderlich eine Nichtabstreitbarkeit von Zugriffen zu ermöglichen. Als Nichtabstreitbarkeit wird bezeichnet, das eine Person die Erstellung einer gesendeten Nachricht nicht mehr abstreiten kann. Dies beinhaltet auch automatisch die Integrität der Nachricht. Es muss daher für eine Nichtabstreitbarkeit auch sichergestellt sein, dass die Nachricht nicht mehr verändert wurde, da anderenfalls der Absender behaupten könnte, ursprünglich eine andere Nachricht erstellt zu haben.

Die Nichtabstreitbarkeit kann mit Hilfe asymmetrischer Kryptographie Methoden sichergestellt werden (siehe Lektion 3.4). Dabei wird der Hashwert einer Nachricht mit dem privaten Schlüssel des Absenders verschlüsselt. Zur Prüfung der Integrität (ob die Nachricht der abgesendeten Nachricht entspricht), muss nun nur noch der verschlüsselte Hashwert mit dem öffentlichen Schlüssel entschlüsselt und mit dem aktuellen Hashwert der Nachricht verglichen werden. Da die Verschlüsselung nur vom Besitzer des privaten Schlüssels durchgeführt werden kann, ist hier eine Nichtabstreitbarkeit gewährleistet.

Zugriffssteuerungsmodelle

Zugriffssteuerungsmodelle (Access Control Models) regeln die Art und Weise von Zugriffen. Sie definieren dabei die möglichen Regeln und Ziele der Zugriffe und stellen diese den jeweiligen Zugriffssteuerungstechnologien zur Verfügung. Die Modelle sind ein wesentlicher Bestandteil des jeweiligen Betriebssystems, da sie grundlegende Entscheidungen der internen Zugriffe beeinflussen. Sie sind daher direkt im Kern des Betriebssystems integriert. [Ha13, 219]

Es wird zwischen drei verschiedenen Kategorien von Zugriffssteuerungsmodellen unterschieden:

  • Eigner-definierte Zugriffssteuerung (DAC: Discretionary Access Control),
  • Obligatorische Zugriffssteuerung (MAC: Mandatory Access Control) und
  • Rollenbasierte Zugriffssteuerung (RBAC: Role Based Access Control).

Da eine gleichzeitige Unterstützung mehrerer Modelle meist nicht sinnvoll realisierbar ist, ist die Modellauswahl eine grundlegende Entscheidung für das IT-System. Das am häufigsten anzutreffende Modell ist das der Eigner-definierten Zugriffssteuerung.

Eigner-definierte Zugriffssteuerung

Bei der Eigner-definierten Zugriffssteuerung haben alle Daten einen definierten Eigner (oft auch als Besitzer bezeichnet). Dieser ist fest mit den Daten oder der Datei verbunden. Der Eigner definiert, welche Personen oder Systeme Zugriff auf die Daten erhalten und in welcher Form (z.B.: lesen, schreiben, ändern, ausführen oder verweigern).

Die Zugriffsberechtigungen sind dabei meist über Access Control Lists (ACL‘s) definiert. Dabei handelt es sich um eine Auflistung aller Berechtigten und der jeweils zugeordneten Rechte.

Dieses Modell ist in aktuellen Windows-, Linux- und Mac-Systemen anzutreffen. In diesen Systemen hat jede Datei einen Besitzer und eine entsprechende ACL zugeordnet.

Einzelne User und Systeme können hier meist in Berechtigungsgruppen zusammengefasst werden. In diesem Fall können die ACL’s sowohl Zuordnungen einzelner User und Systeme, als auch Berechtigungsgruppen enthalten.

Obligatorische Zugriffssteuerung

Die obligatorische Zugriffssteuerung findet ihre Anwendung in Bereichen mit sehr hohem Sicherheitsbedarf. Sie kommt daher meist in behördlichen und militärischen Systemen zum Einsatz.

In diesem Modell ist keine individuelle Behandlung einzelner User und Dateien vorgesehen. Der Zugriff ist abhängig von unterschiedlichen Sicherheitsstufen, auf denen sich Daten und User befinden. Meist ist dabei eine Änderung von Dateiberechtigungen durch die User nicht möglich.

Die Umsetzung der Sicherheitsstufen erfolgt durch Vertrauens-Levels (Clearance) für User und Sensitivitäts-Labels für Dateien. Mögliche Sicherheitsstufen wären z.B.: nicht vertraulich, vertraulich, geheim und streng geheim.

Der Zugriff auf Daten erfolgt gemäß den jeweiligen Sicherheitsstufen. Sind die Stufe der Datei und die Stufe des Users ident, darf er auf die Daten zugreifen. Ob er auf Daten von darunterliegenden Stufen zugreifen darf, kann unterschiedlich implementiert sein. Meist dürfen Informationen nur von niedrigeren Levels zu höheren Levels übertragen werden und nicht umgekehrt. Zugriffe zwischen unterschiedlichen Levels werden dabei meist auch von eigenen Überwachungsdienstprogrammen gesteuert und genehmigt.

Zusätzlich werden meist hierarchische Zuordnungen vergeben, in denen sich sowohl Daten, als auch User befinden können. Die hierarchische Zuordnung steht dann nochmals über der Zuordnung des Sicherheitslevels. Damit ist sichergestellt, dass die Zugriffe nicht nur gemäß des Vertrauens-Levels, sondern auch gemäß der Zugriffs-Notwendigkeit erfolgen. Befindet sich ein User nicht in derselben hierarchischen Zuordnung, wie die jeweiligen Daten, wird davon ausgegangen, dass er keinen Zugriff benötigt und der Zugriff daher verweigert.

Ein frei verfügbares Betriebssystem, welches das Modell der obligatorischen Zugriffssteuerung einsetzt, ist beispielsweise SE Linux [Na09].

Rollenbasierte Zugriffssteuerung

Bei der rollenbasierten Zugriffssteuerung werden Organisationsrichtlinien und -abläufe in ein Zugriffsmodell übersetzt. Dabei werden einzelnen Usern oder Systemen bestimmte (Organisations-)Rollen zugeordnet. Der Zugriff auf Daten hängt dabei von der jeweiligen Rolle des Zugreifenden ab. Die Berechtigung wird bei jedem Zugriffsversuch überprüft und dann genehmigt oder abgewiesen.

Bei den hier eingesetzten Rollen handelt es sich nicht um Gruppen im Sinne der Eigner-definierten Zugriffssteuerung, sondern um Rollen innerhalb des jeweiligen Geschäftsprozesses bzw. einer Organisationseinheit. So kann ein User eine Rolle haben, die ihm aus einer Anwendung heraus Zugriff auf einen Datensatz gestattet und aus einer anderen Anwendung nicht mehr, obwohl es sich um denselben Datensatz handelt. Wichtig ist dabei immer die Betrachtung des aktuellen Zwecks des Zugriffes.

Die Implementierung rollenbasierter Zugriffssteuerungen ist daher auch komplexer als die der Eigner-definierten Zugriffssteuerung.

Passwortsicherheit

Wie bereits in Lektion 3 beschrieben, hat die sichere Speicherung von Passwörtern eine hohe Priorität und sollte in einer entsprechend sicheren Architektur erfolgen. Zusätzlich zur technischen Sicherheit ist eine entsprechende Passwortkomplexität von besonderer Relevanz. Ein noch so effizient abgesicherter Passwortspeicher verliert an Bedeutung, wenn das darin gespeicherte Passwort selbst unsicher ist.

Ein unsicheres Passwort hat entweder:

  • eine zu geringe Komplexität und kann daher durch Bruteforce- oder Hash-Kollisions-Angriffe (siehe auch Kapitel 3.7.1 und 3.7.3) gefunden werden, oder
  • kann durch Social Engineering (siehe auch Kapitel 2.3) herausgefunden werden (z.B.: Name des Kindes mit Jahreszahl, Anfangsbuchstaben des Titels des Lieblingsliedes, usw.).

Die Komplexität eines Passwortes ergibt sich aus der Entropie – also den möglichen unterschiedlichen Kombinationen bzw. dem Keyspace (siehe Kapitel 3.1.4). Daraus und an der Anzahl an Passwörtern, welche pro Sekunde geprüft werden können, ergibt sich dann wiederum die Dauer, in welcher das Passwort durch Ausprobieren (Bruteforce-Angriff) gefunden werden kann.

Für die Komplexität von Passwörter galt lange eine bestimmte Mindestlänge (meist 8 Zeichen) und eine Kombination aus den Merkmalen:

  • Kleinbuchstaben,
  • Großbuchstaben,
  • Ziffern und
  • Sonderzeichen

als ausreichender Schutz.

Beispielsweise ein Passwort f9D22+P# mit 8 Zeichen und Erfüllung aller oben genannten Kriterien hat somit folgende Komplexität:

  • 26 Kleinbuchstaben +
  • 26 Großbuchstaben +
  • 10 Ziffern +
  • 36 Sonderzeichen (alle Sonderzeichen der deutschen Tastatur)
  • = 98 Mögliche Zeichen pro Stelle.
  • Bei 8 Zeichen sind das 98^8 Mögliche Passortkombinationen.

Ein Hochleistungs-PC, welcher 2.148.000.000 Passwörter in der Sekunde ausprobieren kann, benötigt somit durchschnittlich ca. 23 Tage um das Passwort herauszufinden.

Ein Problem solcher komplexen Passwörter ist, dass es für die meisten User schwierig ist, sie sich zu einzuprägen. Dadurch besteht ein erhöhtes Risiko, dass die Passwörter:

  • vergessen werden,
  • auf einem Zettel notiert werden,
  • nicht ausreichend oft geändert werden oder
  • nur minimal geändert werden – beispielsweise durch simple Variation einzelner Teile des Passwortes, wie einer Ziffer am Ende.

Aufgrund der oben genannten Schwächen und der dennoch geringen Entropie noch gut merkbarer Passwortlängen, können diese Passwortrichtlinien nicht mehr als Stand der Technik betrachtet werden. Eine wesentlich bessere Möglichkeit ist die Nutzung von zufälligen Wörtern aus dem Wörterbuch. [Ga17]

Bei der Nutzung von vier zufälligen Wörtern aus dem Wörterbuch (kein Satz, sondern tatsächlich zufällig gewählte Wörter), ergibt sich bei Nutzung der 100.000 unterschiedlichen Wörter des Österreichischen Wörterbuchs [AF20] folgende Komplexität:

  • 100.000 mögliche Wörter pro „Stelle“ (ein Wort ist somit eine Stelle).
  • Bei 5 Wörtern sind das 100.000^4 Mögliche Passortkombinationen.

Ein Hochleistungs-PC (der selbe PC wie im ersten Beispiel), welcher 2.148.000.000 Passwörter in der Sekunde ausprobieren kann, benötigt somit durchschnittlich ca. 738 Jahre um das Passwort herauszufinden.

Ein Beispiel für ein Passwort aus 4 unzusammenhängenden Wörtern aus dem deutschen Duden ist: Dachs faul logisch Gerät.

Das Passwort weißt somit eine wesentlich höhere Entropie auf und ist für einen Menschen gleichzeitig leichter merkbar.

Leider ist diese Form der Passwörter in vielen Systemen noch nicht implementiert und es werden noch die veralteten Komplexitätsmerkmale des ersten Beispiels abgerufen. Diese Hürde kann ganz einfach überwunden werden, indem am Ende des Passworts eine Ziffer und ein Sonderzeichen gestellt werden. Da diese keine wirkliche Relevanz für die genannte Passwortsicherheit haben, können hier auch Zeichen genutzt werden, die schnell zu tippen sind. Das oben genannte Passwort könnte damit dann einfach „Dachs faul logisch Gerät 9+“ lauten.

Zertifikate

Zertifikate dienen der Feststellung der Identitäten von Personen und Systemen auf digitalem Wege. Ein Zertifikat ist ein digitales Dokument, indem bestimmte Daten angegeben sind, welche eine Person oder ein System und optional auch zugehörige Eigenschaften identifizieren. Zertifikate sind wesentliche Bestandteile von Public-Key-Systemen und enthalten zusätzlich den jeweiligen Public-Key des Zertifikatsinhabers (siehe auch Lektion 3.4).

Um die Echtheit eines Zertifikats zu bestätigen, kann dieses von anderen Stellen signiert werden. Diese Stellen werden als Zertifizierungsstellen (CA: Certification Authority) bezeichnet. Die Signatur erfolgt dabei, wie in Lektion 3.4 beschrieben, durch hashen des Zertifikates und Verschlüsselung des Hashwertes durch den privaten Schlüssel der Zertifizierungsstelle. Da der öffentliche Schlüssel – wiederum durch das Zertifikat der Zertifizierungsstelle – bekannt ist, kann der Hashwert korrekt entschlüsselt, und die Signatur damit als gültig erkannt, werden.

Ob diese Echtheitsbestätigungen nun hierarchisch erfolgen (Public-Key-Infrastruktur, Lektion 4.3.1), oder über ein dezentral verteiltes Vertrauensmodell (Web of Trust, Lektion 4.3.2) ist von der jeweiligen Implementierung abhängig. Derzeit sind beide Modellvarianten im Einsatz und finden ihre Anwendung in einer Vielzahl von Systemen. Die Zertifikate der behördlich akzeptierten digitalen Signaturen basieren derzeit auf dem hierarchischen Modell der Public-Key-Infrastruktur.

Ein Zertifikat ist mit einem Ausweisdokument vergleichbar. Auf dem Ausweis befinden sich die Daten der Person und ein Verweis auf den Aussteller. Durch Sicherheitsmerkmale am Dokument (Wasserzeichen, Silberstreifen,…) wird dabei die Echtheitsprüfung ermöglicht. Der Aussteller (z.B. eine Behörde) bestätigt damit die Identität des Inhabers (z.B. Personalausweis) und gegebenenfalls auch bestimmte durch das Dokument erlaubte Tätigkeiten (z.B. Führerschein).

Die Echtheit eines Zertifikates kann von der jeweiligen Zertifizierungsstelle auch wieder zurückgezogen werden. Zu diesem Zweck werden Zertifikats-Sperrlisten (CRL: Certificate Revocation Lists) eingesetzt, welche Einträge der Seriennummern aller Zertifikate mit zurückgenommenen Echtheitsbestätigungen enthält. Die Sperrliste ist selbst wiederum von der jeweiligen Zertifizierungsstelle signiert, um ihre Echtheit zu bestätigen.

Der Aufbau und der mögliche Inhalt eines Zertifikates ist im X.509 Standard [Ne99] definiert. Ein entsprechendes Beispiel (das aktuelle Zertifikat des Online-Campus) ist in Abbildung 16 dargestellt.

Zertifikat

Public-Key-Infrastruktur (PKI)

Bei der Public-Key-Infrastruktur (PKI) handelt es sich um ein hierarchisch aufgebautes System von Zertifizierungsstellen. Das bedeutet, dass jede Zertifizierungsstelle das in sie gesetzte Vertrauen an nachfolgende Stellen weiterverteilen kann, indem sie die zugehörigen Zertifikate signiert.

Daraus ergibt sich dann eine Hierarchie aus mehreren Zertifikaten, die bis zu einem Stammzertifikat rückverfolgt werden können sind. Durch das Vertrauen in das jeweilige Stammzertifikat wird auch den nachfolgenden Zertifikaten vertraut.

In den meisten Anwendungen, die PKI Zertifikate einsetzen (z.B. Internetbrowser für HTTPS Verbindungen), sind bereits einige gängige Stammzertifikate der großen Zertifizierungsstellen vorinstalliert. Es ist jedoch meist auch möglich weitere Stammzertifikate hinzuzufügen, denen dann ebenfalls vertraut wird. In Abbildung 17 ist die Hierarchie des Zertifikates des Online-Campus dargestellt. Die Stammzertifizierungsstelle ist in diesem Fall das Unternehmen Go Daddy.

Zertifizierungspfad

Zusätzlich zu den Zertifizierungsstellen gibt es in der PKI noch weitere Instanzen, welche hautsächlich für den Zertifizierungsprozess verantwortlich sind. Die Hauptakteure der PKI sind:

  • Zertifizierungsstelle (CA: Certification Authority),
  • Registrierungsstelle (RA: Registration Authority) und
  • Validierungsdienst (VA: Validation Authority)

Die Registrierungsstelle ist in der PKI dafür verantwortlich die Identität des Antragsstellers zu überprüfen und dies wiederum der Zertifizierungsstelle mitzuteilen. Die Validierungsstelle ist für die Gültigkeitsprüfung von bereits ausgestellten Zertifikaten verantwortlich. Sie verwaltet auch die Zertifikats-Sperrlisten und ihre Erreichbarkeit ist meist in einem Datenfeld in den Zertifikaten selbst angegeben.

Soll nun ein neues Zertifikat ausgestellt werden, muss folgender Zertifizierungsprozess durchlaufen werden:

  1. Der Antrag für das neue Zertifikat wird an die Registrierungsstelle (RA) geschickt
  2. Die Registrierungsstelle (RA) überprüft den Antrag und stellt sicher, dass es sich bei der Identität tatsächlich um die der antragstellenden Person oder des zugehörigen IT-Systems (z.B. bei einem Webserver-Zertifikat) handelt.
  3. Wenn die Registrierungsstelle die Identität bestätigen kann, sendet sie den Antrag weiter an die Zertifizierungsstelle (CA).
  4. Die Zertifizierungsstelle (CA) stellt nun das beantragte Zertifikat aus, generiert dafür einen privaten und einen öffentlichen Schlüssel und sendet diese an die antragsstellende Person.

Oft ist es auch möglich das Schlüsselpaar selbst zu generieren und dem Antrag nur den öffentlichen Schlüssel beizufügen. Dies ist für die Ausstellung des Zertifikates ausreichend, da der private Schlüssel für seine Signierung nicht benötigt wird (diese wird durch den privaten Schlüssel der CA durchgeführt). In diesem Fall ist zusätzlich sichergestellt, dass der private Schlüssel nur der antragsstellenden Person bekannt ist.

Gerade bei der Überprüfung durch die Registrierungsstelle gibt es unterschiedliche Qualitäten. Wird hier ungenau vorgegangen, kann dies zu Zertifikaten falscher Identitäten führen.

Web of Trust (WOT)

Das Modell des Web of Trust ist im Gegensatz zur PKI nicht hierarchisch, sondern dezentral aufgebaut. Es basiert auf einer dezentralen Vertrauensverteilung zwischen den Teilnehmern, ähnlich dem Freundes- und Bekanntenkreis einer Person. Die Schlüssel sind dabei nicht in einer hierarchischen Struktur zentral abrufbar und überprüfbar, sondern werden direkt von den Benutzern verwaltet. Jeder User hat seinen eigenen Schlüsselbund, wobei hier zwischen dem privaten und dem öffentlichen Schlüsselbund unterschieden wird.

Am privaten Schlüsselbund befinden sich die privaten Schlüssel des Users, mit denen Daten signiert und entschlüsselt werden können. Am öffentlichen Schlüsselbund befinden sich die eigenen öffentlichen Schlüssel, sowie die öffentlichen Schlüssel anderer User. Mit den öffentlichen Schlüsseln können Nachrichten verschlüsselt und Signaturen geprüft werden.

Die Vertrauensstufen werden über die öffentlichen Schlüssel der Teilnehmer ermittelt. Dazu gibt es im öffentlichen Schlüsselbund für jeden Schlüssel ein Key Legimitation Field, in dem der jeweilige Vertrauensgrad (Owner Trust) des Schlüssels angegeben wird.

Im WOT gibt es folgende Vertrauensgrade:

  • unknown: Personen über die keine Informationen bekannt sind,
  • not trusted: Personen denen nicht vertraut wird,
  • marginal: Personen denen nicht voll vertraut wird,
  • complete: Personen denen voll vertraut wird und
  • ultimate: eigener öffentlicher Schlüssel.

Wer als vertrauenswürdig eingestuft wird, liegt somit beim jeweiligen Schlüsselbund Inhaber.

Die Vertrauensgrade können an andere User (z.B. über einen Schlüsselserver) weitergegeben werden, indem die jeweiligen Schlüssel durch den eigenen privaten Schlüssel signiert werden. Dies wird auch als indirekte Zertifizierung bezeichnet.

Ist dem User, der einen dritten Schlüssel signiert hat, im eigenen Schlüsselbund einem Vertrauensgrad zugewiesen, so erhält der von ihm signierte Schlüssel je nach eigener Einstellung denselben Vertrauensgrad oder niedriger. Zusätzlich kann definiert werden, wie viele signierte Schlüssel eines niedrigeren Vertrauensgrades notwendig sind, um die Vertrauensstufe um eine Stufe aufzuwerten. Die Standartwerte hierfür sind 3 signierte Schlüssel anderer User für die Aufwertung und ein signierter Schlüssel eines anderen Users für dieselbe Stufe.

Diese Abhängigkeiten sind in Abbildung 18 ersichtlich: Peter kennt sowohl Anna, als auch Christoph persönlich und hat daher ihre öffentlichen Schlüssel in seinem öffentlichen Schlüsselbund abgelegt. Christoph hat nur eine direkte Beziehung zu Anna, nicht aber zu Peter. Da sich Christophs öffentlicher Schlüssel im öffentlichen Schlüsselbund von Anna befindet, erkennt Peter sein Zertifikat als gültig an.

Web of Trust - Vertrauensnetzwerk
Web of Trust - Vertrauensnetzwerk

Die erste Implementierung des WOT war Pretty Good Privacy (PGP) [Sy15]. Es ist ein Softwarepaket, welches die Sicherstellung der Authentizität, Integrität und Vertraulichkeit von E-Mails sowie beliebiger Dateien ermöglicht. GnuPG [Gn15] ist die frei verfügbare Version, die unter der GNU General Public License [Fr07] steht. Ein möglicher Windows Client für GnuPG ist beispielsweise Gpg4win [In15b].

Neue Zertifikatsmodelle und Erweiterungen

Sowohl im Bereich des PKI, als auch im WOT Modell, gibt es mittlerweile einige bekannte Sicherheitslücken und Protokollfehler. Weiter ist gerade im PKI Modell die Rolle der CA enorm wichtig. Werden hier nur schlechte Identitätskontrollen bei der Ausstellung von Zertifikaten durchgeführt, kann es zu falschen validen Identitäten kommen. Im Bereich des WOT können beispielsweise die Schlüsselserver zum Generieren von SPAM-Versandlisten genutzt werden, da die zugehörigen E-Mailadressen der Zertifikate dort frei verfügbar sein müssen. Weiter sind über die WOT soziale Netzwerke der User analysierbar, da die Trustlevel und ihre Abhängigkeiten leicht analysiert werden können. [Br14]

Um diese Schwachstellen zu beseitigen wird bereits an möglichen neuen Protokollen und Erweiterungen geforscht. Den meisten Ansätzen gemein ist, die Abhängigkeit von einzelnen CA’s zu verringern. Fehler einer CA sollen möglichst auf Seite der Endanwendung (wie z.B. im Browser oder Mail Client) frühzeitig erkannt und angezeigt werden. [Br14]

Einer dieser neuen Ansätze ist die Software Perspectives [Ca15]. Dabei handelt es sich um eine Browsererweiterung, die jedes Zertifikat zusätzlich mit einem sogenannten Notary-Server abgleicht. Damit können beispielsweise Man-in-the-Middle Angriffe frühzeitig erkannt werden.

Weitere aktuelle Erweiterungen sind [Br14]:

  • Pinning [EPS14],
  • Certificate Transparency [LLK13],
  • Microsoft SmartScreen [Mi15] und
  • DANE [HVS12].

Angriffsvektoren der Access Control

Die Angriffsmethoden der Access Control sind sehr vielfältig und haben oft Angriffsvektoren der Kryptographie (Lektion 3.7) und Datenübertragung (Lektion 5.6), sowie Social Engineering (Lektion 2.3) als Grundlage. Dies trifft insbesondere auf Angriffe gegen die Integrität und Authentizität zu.

Dazu bereits behandelte Angriffsvektoren sind:

  • Brute-Force Angriffe (Lektion 3.7.1),
  • Phishing (Lektion 2.3.1) und
  • Angriffe gegen Hashwerte (Lektion 3.7.3).

Eine weitere wichtige Angriffsmethode ist die des Pharming. Dabei wird die Anfrage eines Users auf einen bösartigen Server umgeleitet. Er glaubt sich sicher und gibt dann dort seine geheimen Daten ( wie z.B.: Zugangsdaten und Transaktionsdaten) preis. Beim Pharming handelt es sich daher um einen Man-in-the-Middle Angriff (siehe Lektion 5.6.3).

Wiederholungsaufgaben/Übungen

1 Was ist der Unterschied zwischen Identifikation, Authentifikation und Autorisation?

2 Was ist eine Zwei-Faktor-Authentifikation?

3 Welche drei Zugriffssteuerungsmodelle gibt es?

4 Erklären Sie das Modell der Eigner-definierten Zugriffssteuerung.

5 Was sind Zertifikate und die damit verbundenen Vertrauensmodelle?

6 Was bedeutet PKI und wer sind ihre Hauptakteure? Wie hängen diese Akteure zusammen?

7 Eine Passwortrichtlinie fordert ein Passwort, bestehend aus Kleinbuchstaben, Großbuchstaben und Ziffern mit einer Länge von 10 Zeichen. Wie wird die Komplexität des Passworts berechnet (wie viele mögliche Passwörter gibt es)?