Sicherheit – Teil II

Die Absicherung von Datenverbindungen ist heute aus den Netzwerken wie, Internet (World Wide Web) als auch im Intranet (lokales Netzwerk/WLAN) nicht mehr wegzudenken. Die Namen der für die Absicherung verwendeten Protokolle hat fast jeder schon einmal gehört. Dennoch ist wahrscheinlich nicht jedem klar, was nun der Unterschied zwischen SSL, TLS und HTTPS ist und welche Sicherheitseigenschaften diese Protokolle haben.

 

Warum ist eine abgesicherte Datenverbindung sinnvoll?

Nehmen wir einmal an, ein Benutzer möchte in NeuroomNet ein Exponat ansteuern. Bei der Verwendung einer abgesicherten Verbindung profitiert dieser Benutzer von den Sicherheitseigenschaften von verschlüsselter und abgesicherter Kommunikation. Ohne Verschlüsselung sind Daten, die übertragen werden, für jeden, der Zugang zum entsprechenden Netz hat, als Klartext lesbar. Mit der zunehmenden Verbreitung von offenen (d. h. unverschlüsselten) WLANs nimmt die Bedeutung von HTTPS zu, weil damit die Inhalte unabhängig vom verwendeten Netz verschlüsselt werden können. Durch die Verschlüsselung ist es für Dritte unter anderem nicht möglich zu sehen, welche Seiten einer Website genau besucht wurden.

Durch die Verwendung von Zertifikaten kann sichergestellt werden, dass während der Übertragung keine Manipulation der Inhalte durch Dritte möglich ist und beispielsweise keine Falschinformationen über Ihr Unternehmen in Ihre Firmenwebsite injiziert werden. 

Die wichtigsten Protokolle zur Absicherung von Datenverbindungen für Betreiber von Websites und Webanwendungen

SSL steht für Secure Sockets Layer, wurde von Netscape entworfen und zusammen mit HTTPS erstmals 1994 mit deren Browser veröffentlicht. Heute sind Schwachstellen in SSL bekannt und das Protokoll sollte daher nicht mehr eingesetzt werden. 

TLS steht für Transport Layer Security und ist das Nachfolgeprotokoll von SSL. Die erste Version von TLS ist eine leicht modifizierte Variante der dritten Version von SSL und wurde von der IETF standardisiert. Die Internet Engineering Task Force (IETF, englisch für „Internettechnik-Arbeitsgruppe“) ist eine Organisation, die sich mit der technischen Weiterentwicklung des Internets befasst, um dessen Funktionsweise zu verbessern.

TLS besteht aus zwei Hauptkomponenten: TLS Handshake und TLS Record. Im TLS Handshake findet ein sicherer Schlüsselaustausch und eine Authentisierung statt. TLS Record verwendet dann den im TLS Handshake ausgehandelten symmetrischen Schlüssel für eine sichere Datenübertragung – die Daten werden verschlüsselt und mit einem MAC gegen Veränderungen geschützt übertragen. 

MAC steht für Message Authentication Code (zu deutsch Nachrichtenauthentifizierungscode) und dient dazu, Gewissheit über den Ursprung von Daten oder Nachrichten zu erhalten und ihre Integrität zu überprüfen. MAC-Algorithmen erfordern zwei Eingabeparameter, erstens die zu schützenden Daten und zweitens einen geheimen Schlüssel, und berechnen aus beidem eine Prüfsumme, den Message Authentication Code.

Hinweis: SSL ist heutzutage der weiter verbreitete Begriff und oftmals ist TLS gemeint, wenn von SSL gesprochen wird.

HTTPS steht für Hypertext Transfer Protocol Secure (englisch für „sicheres Hypertext-Übertragungsprotokoll“) und ist ein Kommunikationsprotokoll im Netzwerk, mit dem Daten abhörsicher übertragen werden können. Es stellt eine Transportverschlüsselung dar. 

HTTPS wird zur Herstellung von Vertraulichkeit und Integrität in der Kommunikation zwischen NeuroomNet Server und Webbrowser (Client) im Netzwerk verwendet. HTTPS bezeichnet die Verwendung von HTTP über SSL (TLS). Die Verwendung von HTTPS erkennt man im Browser daran, dass der besuchten Internetadresse https statt http vorangestellt ist. Zudem heben die meisten modernen Browser eine abgesicherte Verbindung zusätzlich optisch hervor.

Oftmals wird eine abgesicherte Verbindung mit der Verschlüsselung der Verbindung gleichgesetzt. SSL/TLS bietet allerdings noch weitere Sicherheitseigenschaften. 

Gemäß der ursprünglichen Auslegung soll der Client-Browser nach Anwahl der HTTPS-Adresse dem Anwender zuerst das Zertifikat anzeigen. Dieser entscheidet nun, ob er dem Zertifikat für diese Sitzung vertraut, es eventuell auch permanent speichert, gegebenenfalls nach Prüfung über die angegebenen Links. Andernfalls wird die HTTPS-Verbindung nicht hergestellt („Diese Seite verlassen“ bei Firefox bzw. „Klicken Sie hier um diese Seite zu verlassen.“ beim Internet Explorer).

Die drei Hauptziele beim Einsatz von SSL/TLS sind 

  • Vertraulichkeit (durch Verschlüsselung),
  • Datenintegrität und
  • Authentizität.

Diese drei Ziele werden im Folgenden erläutert.

 

Vertraulichkeit wird durch die Verschlüsselung der Verbindung gewährleistet. Dies garantiert dem Benutzer, dass seine Zugangs-Daten und beispielsweise Steuerungsinformationen nicht von Dritten abgefangen und missbraucht werden können. Ebenso schützt es alle Ihre Daten in NeuroomNet und bildet damit auch die Basis zur Einhaltung der europäischen DSGVO.

 

Durch die Gewährleistung der Integrität der Daten wird garantiert, dass eine Manipulation der Steuerung nicht möglich ist. Der Benutzer wäre wahrscheinlich nicht sehr froh, wenn er statt einem Einschalten- beispielsweise ein Löschen Befehl absetzt, und das Museum ärgert sich in solch einem Fall über die Kosten und den Aufwand für die Wiederherstellung. Noch unangenehmer ist es, wenn jemand fremdes die gesamte Steuerung übernehmen und damit großen bis existenzbedrohenden Schaden anrichten könnte.

 

Unter Authentizität versteht man, dass die Identität des Museum-Betreibers für den Benutzer überprüfbar ist. Durch die Sicherstellung der Identität des Museums, weiß der Benutzer genau, mit wem er kommuniziert. Fehlende Authentizität können Kriminelle beispielsweise ausnutzen, indem sie Domainnamen registrieren, die der Domain eines Museums sehr ähnlich sind und eine Kopie der Steuerung unter diesen Domains bereitstellen. Der potentielle Kunde kann nun über eine Phishing-E-Mail auf die gefälschte Seite gelockt werden und kann bei einer nicht abgesicherten Website nicht direkt erkennen, ob er beim richtigen Museum gelandet ist. Er gibt eventuell seine Zugangsdaten ein und jemand anders kann nun ungehindert das richtige Museum ansteuern.

Die Authentifizierung dient dazu, dass beide Seiten der Verbindung beim Aufbau der Kommunikation die Identität des Verbindungspartners überprüfen können. 

Abgesicherte Verbindungen in der Praxis

Für den Aufbau einer abgesicherten Verbindung ist ein SSL/TLS-Zertifikat notwendig. In einem Zertifikat ist unter anderem der Aussteller des Zertifikats, der Zertifikatinhaber und der öffentliche Schlüssel des Zertifikatinhabers gespeichert. Zertifikate werden auf dem Server, mit dem später eine abgesicherte Verbindung aufgebaut werden soll, abgelegt. Zur Sicherstellung der Integrität eines Zertifikats, wird es signiert.

Ein Sicherheitszertifikat kann von jedermann selbst generiert und signiert werden. Allerdings ist bei selbst signierten Zertifikaten die Authentizität für Dritte nicht gegeben, da keine unabhängige Institution die Identität des Ausstellers überprüft hat. Die meisten Browser zeigen bei Websites mit selbst signierten Zertifikaten daher eine Warnmeldung an. Für die Überprüfung der Authentizität einer Website oder Webanwendung wird eine Vertrauenskette zwischen dem Browser des Endbenutzers und dem Server der besuchten Website gebildet. Die Browser- und Betriebssystemhersteller überprüfen und vertrauen ausgewählten Organisationen, deren Zertifikate dann im Browser oder Betriebssystem hinterlegt werden. Diese Organisationen werden auch Zertifizierungsstellen genannt. Die Zertifizierungsstellen können die Identität von Dritten überprüfen und nach der Prüfung deren Zertifikate signieren. Damit bei der Überprüfung ein Mindeststandard eingehalten wird, durchlaufen die als vertrauenswürdig eingestuften Organisationen zuvor einen Zertifizierungsprozess. Beim Besucher einer Website oder Nutzer einer Webanwendung wird schlussendlich überprüft, ob die Vertrauenskette intakt ist.

Für die Überprüfung der Identität gibt es verschiedene Stufen, die sich im Umfang der Überprüfung unterscheiden. Auf der niedrigsten Stufe (Klasse 1), wird nur überprüft, ob der Antragsteller im Besitz der im Zertifikat vermerkten Domain ist. Bei Klasse 2-Zertifikaten wird die Identität des Antragstellers (Einzelperson oder Unternehmen) beispielsweise mit Kopien von Ausweisdokumenten und Firmenunterlagen genauer überprüft. Bei Klasse 3-Zertifikaten ist die Überprüfung nochmals intensiver und weitere Dokumente sind erforderlich. Klasse 3-Zertifikate werden auch als Extended-Validation-Zertifikate bezeichnet und zeichnen sich unter anderem dadurch aus, dass die Verwendung in modernen Browsern optisch deutlich hervorgehoben wird. 

Empfehlungen für den Einsatz von HTTPS

Bei der Übertragung von sensiblen Daten ist der Einsatz eines von einer Zertifizierungsstelle signierten SSL/TLS-Zertifikats immer Pflicht. Soll nur ein persönlicher Login-Bereich geschützt werden, reicht unter Umständen ein selbst signiertes oder vom Hosting-Provider signiertes Zertifikat aus. Bei selbst signierten Zertifikaten muss aber auch dem Client die ausstellende Zertifizierungsstelle als vertrauenswürdig hinterlegt werden, damit es nicht zu Warnmeldungen des Browsers kommt. Diese Einstellungen können von IT-Experten vorgenommen werden. Das Einrichten einer netzwerkweiten PKI Struktur ist sowohl unter Linux als auch Windows möglich. Wenn kein geeigneter IT-Experte/Administrator vor Ort ist, kann NeuroomNet auch passende Experten vermitteln und sogar die Wartung übernehmen. Diese Experten klären, falls erforderlich, die notwendigen Unterlagen zum Erhalt externer Zertifikate und richten diese dann auch ein. Interne Zertifikate können sehr lange Laufzeiten aufweisen, während externe Zertifikate schon nach einem Jahr erneuert werden müssen. 

Anmerkungen zur Authentizität

Die Authentizität ist in der Theorie beim Einsatz von SSL/TLS-Zertifikaten zwar gegeben, in der Praxis gibt es mit der Authentizität jedoch so seine Probleme und ob man auf die Identität des Betreibers einer Website vertrauen kann, muss im Einzelfall entschieden werden. Zum einen werden Level 1-Zertifikate meist automatisiert vergeben. Dies bedeutet, dass auch für Tippfehlerdomains, die häufig für Phishing-Angriffe eingesetzt werden, gültige Zertifikate erworben werden können. Zum anderen steht und fällt die Authentizität mit dem Vertrauen in die Arbeit der Zertifizierungsstellen. Wenn es nur eine Zertifizierungsstelle gibt, die bei der Echtheitsprüfung der Dokumente der Antragsteller unsauber arbeitet oder Namensähnlichkeiten mit anderen Unternehmen ignoriert, ist es für Kriminelle möglich, Zertifikate für Unternehmen signieren zu lassen, mit denen sie eigentlich nichts zu tun haben. 

Zertifikat

Das digitale Zertifikat für SSL/TLS, das die Authentifizierung ermöglicht, ist vom Server bereitzustellen: Ein Binärdokument, das im Allgemeinen von einer – selbst wiederum zertifizierten – Zertifizierungsstelle (CA von englisch certificate authority) ausgestellt wird, das den Server und die Domain eindeutig identifiziert. Ein ausgestelltes Zertifikat gibt immer Auskunft über den Aussteller (Zertifizierungstelle) und denjenigen der das Zertifikat beantragt hat (z.B. der Webserver und dessen Betreiber).

Bei der Beantragung werden dazu etwa die Adressdaten und der Firmenname des Antragstellers geprüft. 

Zertifizierungsstelle (CA)

In der Informationssicherheit ist eine Zertifizierungsstelle (englisch certificate authority oder certification authority, kurz CA) eine Organisation, die digitale Zertifikate herausgibt. Ein digitales Zertifikat dient dazu, einen bestimmten öffentlichen Schlüssel einer Person oder Organisation zuzuordnen. Diese Zuordnung wird von der Zertifizierungsstelle beglaubigt, indem sie sie mit ihrer eigenen digitalen Unterschrift versieht.

 

Die digitalen Zertifikate enthalten „Schlüssel“ und Zusatzinformationen, die zur Authentifizierung sowie zur Verschlüsselung und Entschlüsselung vertraulicher Daten dienen, die über das Internet und andere Netze verbreitet werden. Als Zusatzinformationen sind zum Beispiel Gültigkeitsdauer, Verweise auf Zertifikatsperrlisten etc. enthalten, die durch die CA mit in das Zertifikat eingebracht werden.

 

Die Aufgabe einer Zertifizierungsstelle lautet, diese digitalen Zertifikate herauszugeben und zu überprüfen. Sie trägt dabei die Verantwortung für die Bereitstellung, Zuweisung und Integritätssicherung der von ihr ausgegebenen Zertifikate. Damit bildet sie den Kern der Public-Key-Infrastruktur.

 

Eine Zertifizierungsstelle kann ein spezielles Unternehmen sein oder eine Institution innerhalb eines Unternehmens, das einen entsprechenden eigenen Server installiert hat (zum Beispiel mit OpenSSL/Unternehmens-PKI von Microsoft). Auch öffentliche Organisationen oder Regierungsstellen können als Zertifizierungsstelle dienen, z.B. in Deutschland die Bundesnetzagentur.

 

In Deutschland müssen für die Ausgabe von fortgeschrittenen elektronischen Zertifikaten gemäß § 2 Nummer 2 Signaturgesetz (SigG) beziehungsweise für qualifizierte elektronische Signaturen gemäß § 2 Nummer 3 Signaturgesetz zusätzliche, gesetzlich festgelegte Voraussetzungen erfüllt werden. Insbesondere unterliegen die Aussteller der Zertifikate der Aufsicht der Bundesnetzagentur, um die Zuverlässigkeit und Integrität dieser Zertifikate im Rechtsverkehr zu gewährleisten. Beispielsweise muss sich der Antragsteller für eine solche Signatur bei einer genehmigten Stelle durch seinen Personalausweis persönlich identifizieren, damit ein solches elektronisches Zertifikat auf ihn ausgestellt werden kann. Die von den Ausstellern betriebenen Rechenzentren müssen besonders gesichert sein und erfüllen damit hohe Sicherheitsanforderungen. 

PKI

PKI steht für Public-Key-Infrastructure (deutsch, Infrastruktur für öffentliche Schlüssel) und hiermit bezeichnet man in der Kryptologie ein System, das digitale Zertifikate ausstellen, verteilen und prüfen kann. Die innerhalb einer PKI ausgestellten Zertifikate werden zur Absicherung rechnergestützter Kommunikation verwendet.

Heutige Sicherheit in Unternehmen setzt dabei auf mehrstufige Systeme, damit die oberste Zertifizierungsstelle und sein privater Key nicht kompromittiert (also von Gaunern oder böswilligen Menschen ausgelesen und missbraucht) werden können. 

https://de.wikipedia.org/wiki/Public-Key-Infrastruktur 

Schlüssel (Kryptologie)

Als Schlüssel (englisch Key) wird in der Kryptologie eine Information bezeichnet, die einen kryptographischen Algorithmus parametrisiert und ihn so steuert.

Bei modernen, computerbasierten symmetrischen und auch asymmetrischen Verfahren ist der Schlüssel eine Bitfolge.

 Der Schlüssel ist die zentrale Komponente, um einen Geheimtext zu entschlüsseln und so den Klartext zu gewinnen.

Schlüssel bei symmetrischen Verfahren

Bei symmetrischen Verfahren, also bei allen klassischen Methoden der Kryptographie und auch bei modernen Algorithmen wie beispielsweise dem Data Encryption Standard (DES) oder seinem Nachfolger, dem Advanced Encryption Standard (AES), verwenden beide Kommunikationspartner denselben (geheimen) Schlüssel sowohl zum Ver- als auch zum Entschlüsseln. Während klassische Methoden, bei denen der Text von Hand geschlüsselt (also verschlüsselt und/oder entschlüsselt) werden muss, als Schlüssel fast immer ein Kennwort benutzen, besteht der Schlüssel bei modernen, also computerbasierten, symmetrischen Verfahren zumeist aus einer Bitfolge.

Die Sicherheit eines Verfahrens hängt außer vom Algorithmus selbst auch von der Schlüssellänge ab. Wenn gegen ein Verfahren ein Angriff gefunden wird, der effizienter ist als die Brute-Force-Methode, das Ausprobieren aller möglichen Schlüssel, gilt das Verfahren als gebrochen. Die Schlüssellänge gibt bei einem sicheren Verfahren also direkt das Sicherheitsniveau an.

 

Schlüssel bei asymmetrischen Verfahren

Asymmetrische Verfahren, wie beispielsweise das RSA-Kryptosystem, verwenden Schlüsselpaare, die aus einem öffentlichen Schlüssel (engl. public key) und einem privaten (geheimen) Schlüssel (engl. private key) bestehen.

Der öffentliche Schlüssel ist nicht geheim, er soll anderen Benutzern bekannt sein, beispielsweise durch Verteilung über Schlüsselserver bzw. Zertifizierungsstellen. Mit ihm können öffentliche Operationen durchgeführt werden, also Nachrichten verschlüsselt oder digitale Unterschriften geprüft werden. Dabei ist es wichtig, dass ein öffentlicher Schlüssel eindeutig einem Benutzer oder Unternehmen zugeordnet werden kann. Ist das nicht der Fall, wird etwa eine Nachricht mit dem öffentlichen Schlüssel eines anderen Benutzers verschlüsselt, so kann dieser die Nachricht lesen, obwohl sie nicht für ihn bestimmt war. Um Schlüssel leicht benennen zu können, benutzt man einen Fingerabdruck, einen kurzen Hashwert, der einen Schlüssel eindeutig identifiziert.

Um einen Geheimtext wieder zu entschlüsseln oder eine Nachricht zu signieren, wird der private Schlüssel benötigt. Im Gegensatz zu symmetrischen Verfahren, bei denen sich mehrere Benutzer einen geheimen Schlüssel teilen, verfügt beim asymmetrischen Verfahren nur ein Benutzer/Unternehmen über den privaten (geheimen) Schlüssel. Dieser Umstand ermöglicht es erst, eine Signatur eindeutig einem Benutzer/Unternehmen zuzuordnen. Daher ist es grundlegend, dass der private Schlüssel nicht aus dem öffentlichen abgeleitet werden kann.