Single-Sign-On-Systeme - JAXenter

Single-Sign-On-Systeme

Test einiger SSO-Systeme

Dieser Artikel betrachtet drei Open-Source-SSO-Systeme. Um diese Systeme zu testen, haben wir zwei einfache Java-EE-Webanwendungen erstellt, eine in rot und eine in blau. Die Webanwendungen sind, abgesehen von der Farbe, identisch und verfügen über jeweils einige öffentliche Seiten und eine geschützte Seite. Der Zugriff auf geschützte Seiten wird durch Java EE RBAC kontrolliert. Wenn ein Benutzer sich an der blauen Anwendung anmeldet, kann er die rote Anwendung, ohne erneute Authentifizierung, aufrufen – und umgekehrt.

Überblick über die getesteten Systeme

JOSSO: JOSSO (Java Open Source SSO) ist ein System, das unterschiedliche Anwendungsplattformen unterstützt. JOSSO selbst ist in Java geschrieben, läuft in Tomcat und bietet gute Unterstützung für Java-EE-Funktionalitäten. Zum Beispiel bietet JOSSO Clients für Tomcat (als Valve) an, die Rolleninformationen direkt im Container bereitstellen, sodass programmatisches RBAC ohne weitere Umwege verwendet werden kann. Es ist leicht zu installieren und konfigurieren.

CAS: CAS ist ein Authentifizierungssystem, das ursprünglich von der Yale University entwickelt wurde. Es ist mittlerweile Open Source und bietet eine große Auswahl an Funktionen. Es ist leicht zu installieren und konfigurieren.

OPENSSO: Das Open-Web-SSO-Projekt (OpenSSO) basiert auf dem Code von Suns Java System Access Manager, ein System zur Identitätsverwaltung von Sun Microsystems. Leider ist der CodeBase nicht identisch, was dazu führt, dass die Installation von Bibliotheken ein frustrierendes Erlebnis sein kann. Auch die Konfiguration scheint nicht völlig zu funktionieren.

CA SiteMinder: SiteMinder ist eine kommerzielle Lösung zur Benutzerauthentifizierung, SSO und vieles Mehr. Eigentlich ist SiteMinder ein „Bund“ von Produkten, die SSO unterstutzen. Als Platzhirsch am Markt bietet das Produkt viele Optionen und Erweiterungen an, kostet aber entsprechend viel.

CAS OpenSSO JOSSO SiteMinder
Homepage www.ja-sig.org/
products/cas/
https://opensso.
dev.java.net/
www.josso.org www.ca.com
Architektur zentrale Komponente zentrale
Komponente
zentrale
Komponente
zentrale
Komponente
Client PEP Java EE,
.NET,
Perl,
Acegi/Spring
und andere
Java EE
und andere
Java EE,
PHP,
.NET, Acegi/Spring
Java EE,
PHP,

.NET,
Acegi/Spring,
SAP

Identitäts-
übertragung:
Token im
HTTP Header
Token im
HTTP Header
Token im
HTTP Header
Token im
HTTP Header
Für Nicht-

Java-EE-
Anwendungen

Ja Ja Ja Ja
Bietet URL RBAC Ja Ja Ja Ja
Bietet Java-EE-
programma-
tisches RBAC
Ja Ja Ja Ja
Transparente
Web-App Logins mit Windows als primary domain
Ja Ja Ja Ja
Weitere Merkmale gute Erweiterungs-
möglichkeiten,
klare APIs
Dokumentation
und Installation
sind verwirrend.
Sun entwickelt
die kommerzielle
Variante für Glassfish
Gute
Erweiterungs-
möglichkeiten,
klare APIs
Unterstützung
für
Web
Service
Clients (Zusatzprodukt).
Unterstützt viele
Authentifi-
zierungs-
arten

(Zertifikate, Biometric,

usw.)

Lizenz JA-SIG License CDDL Apache/BSD Commercial
Fazit

Alle hier besprochenen SSO-Systeme haben eine ähnliche Architektur, bestehend aus einer zentralen Komponente, die Tokens an die Browser verteilt. Die Tokens nutzen verschiedene Formate, darunter SAML, um kompatibel zu sein. Darüber hinaus unterstützen manche Systeme mit vorgefertigten „PEP Clients“ die Einbindung von Java EE, .NET und anderen Arten von Webanwendungen. Suns OpenSSO ist, obwohl im Prinzip sehr mächtig, eine stiefmütterlich behandelte Variante von Suns kommerziellem Produkt. SiteMinder, als reines kommerzielles Produkt ist sehr verbreitet und bietet Module für fast jedes erdenkliche System. JOSSO und CAS haben beide Vor- und Nachteile, die wir in weitergehenden Artikeln genauer unter der Lupe nehmen werden.

Dr. Bruce Sams ist unabhängiger Berater und Geschäftsführer von OPTIMA Business Information Technology, einer Beratungsfirma, die sich auf Java EE, Sicherheit und XML spezialisiert hat. Er hält Patente im Bereich Sicherheit und ist Autor von vielen Fachartikeln und des O’Reilly-Buchs über Java EE-Sicherheit. Er hält regelmäßige Workshops und Trainings rund um Java EE.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.