Es wird uns immer wieder geraten starke Passwörter zu wählen... immer unterschiedliche Passwörter zu nutzen... diese regelmäßig zu ändern... und sie ja nicht irgendwo ungeschützt aufzuschreiben. Und wie soll man sich diese starken, unterschiedlichen, sich ständig ändernden Passwörter auf all diesen Webseiten merken!?
Die großen Soziale-Netzwerk-Firmen bieten jetzt für andere Webseiten eine Authentifizierungsdienst an. Also können wir Facebook, Twitter, Google, Microsoft usw. dazu nutzen, uns auf allen möglichen Seiten anzumelden. Jetzt müssen wir uns nur noch ein Passwort merken! Problem gelöst, nicht wahr?
Nun, solange es uns nichts ausmacht, das diese Firmen nun noch mehr erfahren wie intensiv wir mit welchen Organisationen vernetzt und aktiv sind, könnten wir das in Kauf nehmen. Sofern wir ihnen unsere Passwörter anvertrauen mit dem sie auf all unsere Konten Zugriff bekommen. Wenn wir uns sicher sind das sie unsere Passwörter nicht im Klartext speichern oder wieder herstellen können, dann könnten wir das tun.
Aber wie bekommen diejenigen von uns, die das nicht wollen ihren Souveränität zurück ohne auf den Komfort verzichten zu müssen?! Wir implementieren unser eigenes "Federated Identity Provider" Netzwerk! Wir betreiben unsere eigenen Identitäts- und Authentifizierungsdienste oder wählen einen Identitätsdienst unseres Vertrauens aus und verknüpfen sie miteinander. Wir weben unser eigenes Netz des Vertrauens. Wir implementieren unsere eigenen Redundanzen und Absicherungen um das System robust zu gestalten um nicht von einem Dienst allein abhängig zu sein. Und wir binden diese Technologie in so viel Open Source Lösungen wie nur möglich ein und vernetzen diese ohne eine zentrale Drehscheibe.
Das ist das Ziel das wir Schritt für Schritt erreichen wollen. In vielen kleinen Organisationen werden unterschiedliche Dienste verwendet, wie GroupWare (E-mail, Kontakte, Kalender, Aufgaben und Notizen), gemeinsame Dateiablage, Blogs, Wikis, Foren und vieles mehr. Oft sind das einzelne Webanwendungen die in der Regel (aber halt auch nicht immer) über einem gemeinsamen Authentifizierungsdienst zumindest die selbe Kennung und das selbe Passwort nutzen. Dies ist der erste Schritt.
Der zweite Schritt ist diese Anwendungen in einer Single-Sign-On (SSO) Umgebung zu integrieren. Die soll dafür sorgen das man nur einmal sein Passwort angeben muss, sofern man sich innerhalb der unterschiedlichsten Anwendungen eines Anbieters bewegt.
Der dritte Schritt ist "Federation", die Delegation der Authentifizierung an einen Identitätsdienstes unseres Vertrauens mit einem sicheren Standardprotokoll bei dem keine Passwörter oder sonstige Geheimnisse mit dritten ausgetauscht werden müssen. Nun entscheiden wir, die Service-Anbieter und Nutzer, welche Identitätsdienst verwendet werden kann und soll. Diese können dann auch unabhängig von den Anwendungen zusätzliche Sicherheitsmechanismen einbauen, wie die Zwei-Faktor-Authentifizierung, bei der neben dem Passwort z.B. auch eine SMS mit einer TAN an unser Handy geschickt werden kann.
Natürlich sollte es jedem offen gelassen werden, welchen Identitätsdienst man vertraut. Daher werden wir natürlich auch die Dienste der großen sozialen Netzwerke unterstützen. Aber die Hoffnung ist, das diese Technologie sich weit verbreitet und wir vielleicht in einem weiteren Schritt uns auch bei jenen Netzwerken mit unseren Identitätsdiensten unseres Vertrauens anmelden könnten! ;-)
fairlogin Projektzusammenfassung
Zwischenbericht: Was wir bisher erreicht haben und wo unsere Herausforderung liegen.
FAQs und Dokumentation für BenutzerInnen
Technische Dokumentation der Einrichtung von KeyCloak als Identity Provider
fairapps - das fairlogin Dashboard: Die Oberfläche zu den Applikationen die von https://fairapps.net über fairlogin angebunden wurden.
fairlogin - Integrationsprojekt Koordination der Integration von Applikationen: fairchat, GitLab, GroupOffice, ownCloud, DokuWiki, ...
fairlogin (aka KeyCloak) - fairchat (aka RocketChat) Integration
fairlogin - KeyCloak Theme
Dokumentation der Integration der faircoop Community ins fairlogin.