Für neue Kunden:
Für bereits registrierte Kunden:
Bachelorarbeit, 2010
35 Seiten, Note: 91%
Abbildungsverzeichnis
Abkürzungsverzeichnis
1 Einführung
2 Grundlagen
2.1 Definition Single Sign-on
2.2 Funktionsweise
2.3 Vor- und Nachteile
2.3.1 Vorteile
2.3.2 Nachteile
2.4 Technologien
2.4.1 OpenID
2.4.2 Kerberos
2.4.3 SAML
2.4.4 Liberty Alliance Project
2.4.5 Shibboleth
3 Vergleich Java-basierter Web-SSO-Lösungen
3.1 Vorstellung
3.1.1 JOSSO
3.1.2 CAS
3.1.3 WebAuth
3.1.4 OpenAM
3.1.5 JOS
3.2 Vergleichskriterien
3.3 Vergleichsmatrix
3.4 Interpretation des Vergleichs
4 Fazit und Ausblick
Quellenverzeichnis
1 Prinzip des Single Sign-Ons 5
2 Vergleichsmatrix Open-Source-SSO-Lösungen 20
Abbildung in dieser Leseprobe nicht enthalten
Kurzfassung
Fachhochschule Kufstein
Studiengang Wirtschaftsinformatik
Kurzfassung der Bachelorarbeit Potenzial von Single Sign-on bei Webapplikationen -Michael Strecker
Zielsetzung dieser Arbeit ist es, den Einsatz von Single-Sign-On-Lösungen bei Inter-netdiensten bzw. Webapplikationen zu bewerten. Zunächst erfolgen die Definition des Begriffs SSO und die Erläuterung des Funktionsprinzips, die Nennung von Vor- und Nachteilen sowie zugrunde liegender Techniken wie Protokolle, Standards und Konzepte. Weiters wird eine Auswahl an auf Java-basierenden Open-Source-Lösungenvorgestellt, die anhand zuvor definierter Kriterien analysiert und miteinander verglichen werden. Es wird unter Berücksichtigung der Ergebnisse des Vergleichs gezeigt, dass heu- tige SSO-Lösungen prinzipiell ausgereift und für den alltäglichen Einsatz geeignet sind. Dennoch bestehen neben der Vereinfachung der Anmeldung ohne weiterführende Maß- nahmen auch diverse Nachteile, wie z.B. Sicherheitsrisiken und fehlende Redundanz, die bei einem Einsatz berücksichtigt werden sollten.
02.07.2010
Schlagwörter: Single Sign-on, Web, Portale, Login, Anmeldung, Authentifizierung, Aut- horisierung
University of Applied Sciences Kufstein Bachelor’s Program Business Informatics Short english summary of the bachelor’s thesis Potential of Single Sign-on in Web Applications - An Analysis by means of Java based Solutions
Michael Strecker
The goal of this thesis is to evaluate the usage of Java based Single Sign-On solutions in internet services and web applications respectively. For that purpose, SSO is definied, and the underlying technology is explained. An overview of advantages, disadvantages and underlying, SSO-enabling technologies is given. The general part is followed by an introduction to common open source java projects for SSO, and their usage will be critically discussed with the help of a set of previously defined criteria. Finally, the thesis shows that SSO solutions of today are robust enough for everyday use. But apart from the ease of use, there are also some disadvantages like security risks or missing redundancy, which need to be taken into account or cleared out when implementing SSO.
02.07.2010
Keywords: Single Sign-on, Web, Portals, Login, Authorization
Im täglichen Leben ist es seit jeher eine Notwendigkeit, sich gegenüber Dritten zu legitimieren. Sei es, um irgendwo Einlaß zu erlangen, oder an persönliche Dinge heran- zukommen (z.B. Schließfächer in Banken oder Hotels), zu denen Fremde keinen Zugang haben dürfen. Erst durch den Zwang, sich authentifizieren/authentisieren zu müssen, entsteht die Sicherheit, dass nur der rechtmäßige Eigentümer bzw. Berechtigte Zutritt oder Zugriff erlangt.
Vor allem in der Geschäftswelt ist eine positive Authentifizierung/Authentisierung Grundlage für die tägliche Arbeit im Büro, welche mit der Anmeldung am Rechner bzw. der Firmendomäne beginnt, sichüber die Nutzung diverser Dienste (z.B. Druckdienste, Netzwerkfreigaben) erstreckt und mit der Abmeldung vom System endet. Eine in Melbourne in zwei mittelständischen Firmen durchgeführte Studie zeigt, dass die Nutzer dort primärüber zwei Probleme bei der Anmeldung am System klagen: Zum Einen stört die Verpflichtung, das Passwort den Sicherheitsstandards der Firmen entsprechend oft zu ändern und sich somit ständig neue Passwörter merken zu müssen, und zum Anderen hindert die Tatsache, sich täglich mehrmals (abhängig von den zu nutzenden Resourcen) authentifizieren zu müssen, den Arbeitsfluß. Es wurde in beiden Firmen daraufhin Single Sign-on (SSO) (als alternative Schreibweise auch Single Sign-On oder Single-Sign-On), welches eine dienstübergreifende, einmalige Anmeldung erlaubt, eingesetzt, und die Veränderung der internen Geschäftsprozesse beobachtet. Die Studie kommt zu dem Schluß, dass mit der Verwendung einer SSO-Lösung eine Steigerung der Effizienz und der Produktivität einhergeht, da aufgrund der Vereinfachung des Logins weniger falsche Passwörter eingegeben wurden sowie weniger Zeit mit Anmeldungen zugebracht wurde1.
Die Ergebnisse der Studie lassen sich direkt auf die Vorgänge im Internetübertra- gen, denn hier herrscht die selbe Situation vor: In der heutigen digitalen Zeit, in einer vernetzten Welt, bestehen diese Anforderungen weiterhin, ist doch eine sichere Authen-tisierung/Authentifizierung Grundlage einer jeden Transaktion, die irgendeine Art von Konsequenz nach sich zieht. Daraus folgt jedoch auch, dass man sich für alle Dienste separate Zugangsdaten merken muss - für Emailkonten, Internet-Banking, Social Net- works, Chat Rooms, Foren, geschlossene FTP-Server und viele weitere. Viele IT-affine Nutzer unterhalten darüber hinaus nicht nur eine Emailadresse, haben mehrere Bank- konten, halten sich in unterschiedlichen sozialen Netzwerken auf - und häufen so eine Reihe von Kombinationen aus Nutzername und Passwort an, die sich in manchen Fällen nicht selbst wählen lassen (beispielsweise weil der gewünsche Benutzername schon an jemand anders vergeben ist) oder gewissen Anforderungen genügen müssen (z.B. Min- destlänge von Benutzername und/oder Passwort) und dadurch in den wenigsten Fällen eine Kombination mit der nächstenübereinstimmt. Eine kurze Umfrage im Bekannten- kreis des Autors zeigt, dass oft Passwortlisten geführt werden, um nicht denüberblick zu verlieren. Nicht nur einmal wurde der Wunsch nach Möglichkeiten geäussert, die Anzahl der Anmeldedaten zu reduzieren bzw. vereinheitlichen zu können. Single Sign-on wird diesem Wunsch gerecht. Der Einsatz ist aber nicht immer sinnvoll. Es gibt eine Anzahl an Anwendungsfällen, bei denen diese Lösung nicht zielführend oder schlichtweg nicht erwünscht ist. Als Beispiel sei hier das Internet-Banking aufgegriffen, bei dem es wichtig ist, sich vom Loginüber die Änderung von Nutzerdaten bis zur Durchführung vonüberweisungen mittels TAN oder digitaler Signatur jedes Mal erneut zu authentisieren, um maximale Sicherheit zu gewährleisten und Missbrauch durch Dritte auszuschliessen. Es macht zwar Sinn, mehrere Konten bei einem Kreditinstitut mit einem Login verwalten zu können, jedoch sollte die Anmeldung bei unterschiedlichen Instituten aus Sicherheitsgründen immer separat erfolgen.
Nicht nur Banken, sondern ganz allgemein die meisten voneinander unabhängigen Systeme warten mit ihren jeweils eigenen Anmeldedialogen auf. Um sich nichtüberall separat anmelden zu müssen, gibt es unterschiedliche Lösungsansätze, die alle ein Ziel verfolgen: Sich mit einer einmaligen Anmeldung für mehrere Systeme bzw. Dienste zu legitimieren. Hierbei kann man zwischen offenen und geschlossenen Systemen diffe- renzieren. Geschlossene Systeme sind beispielsweise Firmennetzwerke, offene Systeme solche wie das von jedermann zugängliche Internet.
In dieser Arbeit werden offene Systeme im Internet (Web-SSO) näher betrachtet, der Fokus liegt konkret auf Java-basierten Open-Source (OS)-Lösungen. Es soll erörtert werden, ob diese Möglichkeiten, das Anmeldeprozedere bei verteilten Diensten durch die Verwendung eines einzelnen Authentifizierungsvorgangs zu simplifizieren und damit für den Nutzer komfortabler zu machen, sinnvoll sind. Welche Risiken treten dabei auf, und entstehen dem Nutzer dadurch auch Nachteile? Wie ist der aktuelle Entwicklungsstand bei OS-SSO-Systemen? Kurz gesagt: Ist es in der heutigen Zeit praktikabel, SSO-Lösungen im Internet einzusetzen? Zur Beantwortung dieser Frage wird wie folgt vorgegangen: Zunächst erfolgt die Defini- tion des Begriffs Single Sign-On, begleitet von einer kurzen Erläuterung zugrundelieger technischer Abläufe, die allen SSO-implementierenden Lösungen gemein sind. Auch Protokolle und Standards, die die behandelten SSO-Lösungen einsetzen, werden erläu- tert. Darauf folgend werden aktuelle, frei ve]rfügbare Open-Source-Projekte vorgestellt, die sich zur Lösung der Problemstellung eignen. Diese werden anhand einer Vergleichsma- trix mit zuvor definierten Kriterien im empirischen Teil gegenübergestellt, deren Taug- lichkeit für den Einsatz unter verschiedenen Gesichtspunkten erörtert. Dieser Vergleich soll bei der Selektion von SSO-Lösungen für Internetportale bzw. Webapplikationen als Hilfestellung dienen.
Schließlich kommt es zu einem kritischen Resumée, und es wird, unter Berücksichtigung der erarbeiteten Ergebnisse des Vergleichs, die Frage beantwortet, ob Single Sign-Onsowohl aus Anwendersicht als auch aus Entwicklersicht das Potenzial besitzt, eine sinnvolle Alternative zu separaten Logins zu werden.
Wie in der Einführung beschrieben, ist die separate Anmeldung bei unterschiedlichen Diensten zeitaufwändig und bedarf der Handhabung mehrerer Berechtigungsnachweise (im Englischen ’Credentials’ genannt), wie unterschiedliche Kombinationen aus Benut- zernamen und Passwörtern, digitaler Zertifikate oder andere Arten der Legitimierung. Die Verantwortung, Herrüber alle benötigten Zugangsdaten zu bleiben und diese wo benötigt zur Hand zu haben, liegt auf Seiten des Nutzers. Um das Prozedere vor allem für den Nutzer zu vereinfachen, gibt es das Konzept des Single Sign-ons. SSO ist derüberbegriff für eine Reihe von Technologien, die sich dem Anmeldungsmanagement widmen. Sie erlauben bei nur einer Anmeldung die Authentisierung für mehrere Dienste ohne den Zwang, sich jeweils neu anmelden zu müssen.
Die Open Group, ein unabhängiges Konsortium, definiert SSO wie folgt: Single Sign-On (SSO) is mechanism whereby a single action of user authentication and authorization can permit a user to access all computers and systems where that user has access permission, without the need to enter multiple passwords. SSO reduces human error, a major component of systems failure, and is therefore highly desirable. However, it is extremely difficult to implement. 2 Man kann zwischen zwei Arten des SSO unterschieden: Clientbasiertes SSO und server- basiertes SSO. Ersteres bezieht sich auf SSO-Lösungen, die lokal auf einem PC ausgeführt werden und dort die Anmeldung an Applikationen regeln. Serverbasiertes SSO hinge-gen ist ein verteiltes Modell und baut auf eine existierende Netzwerkinfrastruktur auf3.Im Kontext dieser Arbeit ist grundsätzlich von serverbasierten Lösungen die Rede.
SSO-Systeme involvieren immer drei Akteure4:
1. Den Benutzer selbst, welcher die Anfrage stellt,
2. den Identity Provider (IdP), oft auch als Authentifizierungs-Autorität (AA) be- zeichnet, der die digitalen Identitäten verwaltet und Nutzer authentifizieren kann, sowie
3. den Service Provider (SP) oder Serviceanbieter (SA), der den angeforderten Dienst für autorisierte Nutzer zur Verfügung stellt
Zur Nutzung von SSO muss sich der Nutzer zuerst bei einem sogenannten IdP regis-trieren. Durch die dortige Registrierung erhält er von diesem Dienstleister einen Satz an Zugangsdaten, die er für die Nutzung der SSO-Funktionalität von Serviceanbietern benötigt. Eine vereinfachteübersicht des Anmeldeprozesses an einem SA mittels IdP sowie die Beziehung zwischen diesen beiden Instanzen gibt Abbildung 1:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Prinzip des Single Sign-Ons (Quelle: Sams, 2008)
[...]
1 vgl. Yacano und Lynch, 2007
2 vgl. The Open Group, 2010
3 vgl. Koch, 2006
4 vgl. Class, 2009, S. 10