Sichere Authentifizierung mit SSO und SAML

Autor

Mathias Chastonay

Datum

14. Januar 2019

Unternehmen betreiben Software heute vermehrt in der Cloud, beziehen also die Software inklusive der dazu benötigten Hardware und Hostingservices von einem Drittanbieter über das Internet. Diese Art Software zu betreiben ist oft kostengünstiger. Auch wir bei easylearn spüren diesen Trend, zahlreiche unserer Kunden nutzen die easylearn-Hostingservices für den Betrieb ihrer easylearn-Installation.

Software as a Service / Cloudlösungen
Das Betreiben der Software durch einen Drittanbieter in der Cloud bringt jedoch für viele Benutzer einen Nachteil mit: Oft wird ein eigener Benutzername und ein Passwort für die Anmeldung an easylearn benötigt. Dies ist auch aus Sicht der Administration und insbesondere der IT-Sicherheit ein Problem. Die Benutzerkonten inklusive Zugangsdaten müssen in easylearn geführt werden. Tritt ein Mitarbeiter neu in ein Unternehmen ein, müssen die Zugangsdaten irgendwie zur easylearn-Installation gelangen. Meist wird dazu der Benutzer über eine Schnittstelle angelegt und ein Initialpasswort vergeben, das bei der ersten Anmeldung geändert wird. Dies bedingt, dass der neue Mitarbeitende das Initialpasswort auch kennt. Aus Sicherheits-Aspekten ist das in zweierlei Hinsicht problematisch:
  1.   Das Passwort muss dem Mitarbeitenden mitgeteilt werden, damit haben Administratoren zwangsläufig Kenntnis des Passworts.
  2.   Ein einheitliches Initialpasswort macht es einem Hacker einfach, sich Zugang zum System zu verschaffen, wenn er das Initialpasswort knackt.

Ein weiterer Problempunkt ergibt sich bei austretenden Mitarbeitenden. Vergisst die Administration, das easylearn-Konto zu sperren, hat der ehemalige Mitarbeitende auch nach dem Austritt noch Zugang zu easylearn. Um dem entgegenzuwirken besteht die Möglichkeit, für die Authentifizierung – also die Anmeldung des Benutzers mittels Benutzername und Passwort – SAML zu verwenden.

Was ist SAML? 
SAML (Security Assertion Markup Language) ist ein sicheres, XML-basiertes Datenformat zum Austausch von Authentifizierungs- und Autorisierungsinformationen, um die Datensicherheit eines Unternehmens trotz webbasiertem Arbeiten sicherzustellen. Gleichzeitig verschafft SAML jedem Anwender ein Höchstmass an Komfort, denn es ermöglicht die Umsetzung einer sicheren Single Sign-on Lösung für webbasierte Applikationen. Die Benutzer können also für die Anmeldung an easylearn dieselben Zugangsdaten verwenden, die sie z.B. für die Windows-Anmeldung nutzen. 

Wie funktioniert SAML?
Damit sicheres, webbasiertes Single Sign-on möglich ist, definiert SAML, wie genau die Authentifzierung und der Datenaustausch im Rahmen der Authentifzierung stattzufinden hat. Im ganzen Prozess gibt es drei Akteure:

  • Der Anwender (Principal): Der Anwender ist der Benutzer, der auf easylearn zugreifen möchte. Er wird aufgefordert, sich über seinen Benutzernamen und Passwort anzumelden – zu authentifizieren. 
  • Der Identity Provider (idP): Der Identity Provider ist der Authentifizierungsdienst, der eine Anmeldemaske für den Anwender bereitstellt und anschliessend den Browser zum Service Provider weiterleitet.
  • Der Service Provider (SP): Der Service Provider bietet Services, die eine Authentifizierung erfordern. Diese Authentifizierung übernimmt er jedoch nicht selbst, sondern leitet diese transparent an den Identity Provider weiter. In unserem Fall ist easylearn Service Provider.

Sehr stark vereinfacht kann man sich den ganzen Prozess vorstellen wie beim Kaufen einer Portion Pommes an einem Marktstand. 

Sie starten als Anwender bei der Ausgabe der Pommes. Der Ausgabestand ist der Service Provider, von ihm möchten Sie eine Dienstleistung beziehen. Der Ausgabestand schickt Sie aber zuerst zum Kassenstand (Identity Provider), wo Sie einen Coupon für die Pommes lösen müssen. Sie gehen also zum Kassenstand (Identity Provider), lösen dort den Coupon und gehen damit zurück zum Ausgabestand, wo Sie die Pommes erhalten. 

Im Fall von SAML sieht der ganze Ablauf dann so aus:

Der Benutzer öffnet die gewünschte Applikation (Service Provider) und wählt als Loginmethode SAML / Single Sign-on. Er wird dann zum Identitity Provider weitergeleitet, wo er sich anmelden muss. Nach erfolgreicher Anmeldung wird er zurück zur Applikation weitergeleitet und automatisch angemeldet. 

Wie funktioniert SAML nun konkret in esylearn?
Wenn SAML auf Ihrer easylearn-Installation aktiviert ist, erfolgt der Anmeldeprozess gemäss der nachfolgend illustrierten Infografik. 

Download der Infografik als PDF

Hinweise: Im hier beschriebenen Beispiel ist OneLogin der Identity Provider, es kann aber auch ein beliebig anderer Identity Provider wie z.B. Microsoft Azure, Active Directory etc. sein. Ist der Benutzer bereits in einer anderen Applikation angemeldet, die denselben Identity Provider verwendet, erfolgt eine direkte Weiterleitung und Anmeldung, ohne dass der Benutzer sich erneut authentifizieren muss.

Wieso verbessert SAML die Sicherheit?
Zum einen bietet SAML vom Format und Austauschverfahren her einen sicheren Datenaustausch zwischen Service Provider und Identity Provider. Viel wichtiger aber, es besteht für den Service Provider (easylearn) keine Notwendigkeit, einen Zugriff auf den betriebsinternen Identity Provider zu haben. Technisch gesehen besteht also keine direkte Verbindung vom Service Provider im Internet zum Identity Provider im internen, geschützten Netzwerk. Der gesamte Prozess wird ausschliesslich über den Anwender durch Weiterleitung abgewickelt. Also nur der Anwender, der sowieso Zugriff auf das interne Netz hat, hat den Zugang zum Identity Provider. 

Interesse an SAML oder weiteren Services?

Wir zeigen Ihnen gerne die Möglichkeiten!

Jetzt Kontakt aufnehmen