Wie wird bei einer Nutzer-Anmeldung verfahren?
<2015-01-26>
Für die Erledigung einiger Aufgaben bei der Nutzung und Steuerung eines openWIM-Systems ist eine Nutzeranmeldung notwendig. Hier soll erläutert werden, wie das technisch organisiert ist.
Vorbemerkungen:

Einige Aktionen im openWIM-System dürfen nur von dafür berechtigten Personen durchgeführt werden. So darf beispielsweise nicht jeder einfach das System herunterfahren oder konfigurieren oder dargestellte Inhalte ändern können.

Es muss dafür gesorgt werden, dass der Anmeldevorgang sicher genug ist und möglichst wenige Daten zu den Nutzeraktionen missbräuchlich genutzt werden können. Dafür wird vor allem versucht, Daten möglichst gar nicht erst anfallen bzw. übertragen zu lassen, und wenn das nicht vermeidbar ist, Daten zu verschlüsseln. Anfangs werden jedoch noch keine wirklich "sicheren" Verschlüsselungaverfahren eingesetzt - doch eine "schwache" Verschlüsselung ist schon mal besser wie gar keine!

1. Ablauf beim Login-Vorgang:

Anforderungen an das Verfahren:

  • Die Nutzerkennung soll vertraulich bleiben. Sowohl beim Mitlesen der Übertragung als auch auf dem Server soll sie möglichst schwer rückrechenbar sein. Die Verwendung einer identischen Nutzerkennung bei verschiedenen Projekten bzw. Internetpräsenzen soll bei der Datenübertragung und -speicherung möglichst schwierig erkennbar sein.
  • Außer der weit verbreiteten Nutzung von Passwort-Eingaben müssen auch andere Autorisierungsverfahren möglich sein. Die Nutzer sollten das zu verwendende Verfahren möglichst selber auswählen können.
  • Das Nutzer-Passwort (oder der Wert einer anderen Art von Sicherungs-Code) dürfen den Browser beim Login-Vorgang nur in schwer entschlüsselbarer Form verlassen. Der übertragene Autorisierungs-Wert soll bei jedem Login-Vorgang anders aussehen.
  • Auf Nutzerwunsch hin soll die Sicherung des Login auch geräteabhängig durchgeführt werden können, um bei Passwort-Diebstahl und Eingabe an einem "fremden" Gerät eine Anmeldung zu verhindern.
  • Der Login-Vorgang muss in angemessener Zeit abgeschlossen werden, damit ein teilfertiges Login nicht missbraucht werden kann.
  • Sobald ein Login-Vorgang abgschlossen ist oder abgebrochen wurde, sollen auf dem Server keine der speziellen übertragenen Daten mehr gespeichert sein.
  • ...
  • "Brute force"-Methoden zum Ausprobieren vieler Passworte etc. müssen ausreichend ausgebremst sein.
  • Es muss davon ausgegangen werden, dass ein Client-Script von böswilligen Hackern so modifiziert wird, dass es zum Knacken von Passworten etc. eingesetzt wird. Der Server muss das abfangen können.
  • Es ist zu berücksichtigen, dass alle im Server und Client verwendeten Verfahren einschließlich der dafür vorhandenen technischen Dokumentation "öffentlich zugänglich" und nicht "geheim" sind.
  • Das Login-Verfahren wird nicht von Anfang an mit den maximal möglichen Sicherheitsvorkehrungen implementiert. Es muss weiterhin auch offen für Verbesserungen und den unvorhergesehenen plötzlichen Ausfall eines Verfahrens gerüstet sein.

Ein Login-Vorgang läuft in mehreren Phasen ab und ist ein Wechselspiel zwischen Nutzer, Client (= Browser) und (Frontend-)Server:

  1. Der Anmeldevorgang wird initiert. Das geschieht entweder implizit durch den Aufruf einer Aktion, für die eine Nutzeranmeldung notwendig ist oder auch durch einen expliziten Login-Aufruf.
  2. Parallel zur initialen Anzeige des Login-Dialogs wird automatisch eine Anfrage nach einer Vorgangskennung an den Server geschickt. Dabei wird der aktuelle Zeitpunkt mitgeschickt und temporär für den weiteren Login-Vorgang im Server gemerkt.
    Beim Login-Dialog kann derweil vom Nutzer ausgewählt werden, ob zur Verifikation ein Passwort eingegeben oder (sofern möglich) ein anderes Verifizierungsverfahren verwendet werden soll. Auch Nutzerkennung und Passwort (bzw. äquivalente AKtionen) können bereits eingegeben werden.
  3. Vom Server wird als Antwort ein Zufallswert als Vorgangskennung gesendet und temporär gespeichert.
    Der vom Client gelieferte Zeitpunkt wird auf ausreichende Aktualität überprüft und zum Vorgang vermerkt. Ist der Zeitpunkt "unbrauchbar", wird die Vorgangsanfrage mitsamt Benstandungsgrund zurückgewiesen und die IP-Adresse des Client auf "Vorsicht" und "gegebenenfalls Ausbremsen" gesetzt.
  4. Vom Nutzer wird beim dargestellten Dialog die Angabe der Nutzerkennung erbeten. Das kann ein (nicht zu kurzer!) x-beliebiger Zeichenstring sein. Diese Eingabe sollte möglichst gegen Ausspähen geschützt werden.
    Weiterhin ist das Nutzer-Passwort einzugeben bzw. ein Autorisierungscode auf Basis eines anderen gewählten Verfahrens zu erzeugen. Dieses ist besonders gut gegen Ausspähen zu schützen!
  5. Ist die zuvor automatisch beim Server angeforderte Vorgangskennung eingetroffen, wird der Knopf zum Abschicken des Logins freigegeben.
    Mit Betätigen des "Login"-Knopfes wird die Nutzerkennung mit dem Projektnamen zusammengefügt und "gequirlt" (also systematisch verfremdet und auf ein "Einheitsformat" gebracht, dessen Wert auch so im Server abgelegt ist) und dann zusammen mit der Vorgangskennung zum Server geschickt.
    Weiterhin wird der eingegebene Autorisierungscode mit der Vorgangskennung möglichst schwer rückrechenbar kombiniert, in ein Standardformat gebracht und dann mit zum Server geschickt.
    Soll eine gerätespezifisches Login durchgeführt werden, wird die Gerätekennung (quasi als Passwort-Ergänzung) mit dem eingegebenen Authorisierungs-Code (incl. Projektname) kombiniert "in den Quirl gesteckt". Die Gerätekennung wird also NICHT separat verschickt, sondern ergänzt "nur" die eingegebene Nutzerkennung!
  6. Vom Server wird anhand der Nutzerkennung, der Vorgangskennung und des (gequirlten) Autotrisierungscodes die Identität überprüft.
    Dazu werden aus der Datenbasis die notwendigen Nutzerdaten besorgt. Aus der Vorgangskennung und einem gespeicherten Autorisierungs-Basiscode wird analog zum Client ein Autorisierungscode errechnet, der mit dem übertragenen übereinstimmen muss. Für die eventuell verschiedenen Gerätekennungen und andere Bedarfe müssen verschiedene Autorisierungs-Basiscodes bereitgehalten und durchgetestet werden.
    Das alles muss innerhalb eines Zeitfensters seit Beginn des Login-Vorgangs geschehen. Gegebenenfalls wird der Vorgang mit "timeout"-Fehlercode abgebrochen.
  7. War die Autorisierung erfolgreich, wird dieses im Server bei der Sitzungskontrolle vermerkt und die zugeteilten Berechtigungen gesetzt. Der Client bekommt eine Erfolgsmeldung - jedoch keine Liste der erteilten Berechtigungen. Im CLient werden keine Berechtigungen geprüft, weil das sehr einfach manipulierbar wäre. Ausschließlich der (Frontend-)Server prüft die Berechtigungen.
    Im Fall des Scheiterns bekommt der Client eine entsprechende Benachrichtigung, aus der jedoch NICHT hervorgeht, ob "nur" die Nutzerkennung ungültig war oder der Autorisierungscode (das Passwort).
    Wird die Sitzung aus irgendeinem Grunde unterbrochen, geht die Nutzeranmeldung verloren.
  8. ...
  9. WARNUNG: Das oben geschilderte Verfahren erscheint keineswegs als absolut sicher - es erschwert nur das "Abschnorcheln" von Daten. Bei Bedarf und Möglichkeit werden die Hürden für den Datenklau zukünftig höher gelegt.
2. Ablauf der Nutzer-Registrierung:

...

3. Änderungen an der Nutzer-Registrierung:

Die Nutzer können zu ihrer Registrierung im Laufe der Zeit Änderungswünsche haben. So kann eine andere (einzugebende) Nutzerkennung, ein gerätespezifisches Login, eine andere Benachrichtigungs-E-Mail-Adresse, etc. gewünscht sein. Solche Änderungen müssen jederzeit und direkt von den Nutzern vorgenommen werden können.

...

4. Ablauf der Nutzerprofil-Löschung:

...

Themen hierzuAssciated topics:

Tech­ni­sche WIM-Ver­fah­ren Angemeldete Nutzer Personenbezogene Daten

Das könnte Sie auch interessierenFurther readings:
Angemeldete Nutzer im WIM-System
Wofür sind Nutzer-Anmeldungen im WIM-System nützlich oder gar nötig ?
<2014-03-08>
In der Regel wird das WIM-System "anonym" genutzt. Um jedoch eigene Daten einbinden zu können oder system­kritische Aktionen durch­führen zu können werden Nutzer­anmel­dungen und ggf. zugeteilte Berech­tigungen benötigt.   Mehr »
W🎯 Ziele für die openWIM-Version(en) 35 (und folgende)
<2019-05-07>
DasopenWIM-Version 35 ohne das alte Server-System betrieben.   Mehr »
Was sollten Nutzer bei der Nutzung von WIM-Systemen für den Datenschutz tun?
Von: @VB <2015-03-24>
Auch wenn der Schutz personenbezogener Daten eines der Grundziele bei der Entwicklung des openWIM -Systems ist, sollten die Nutzer noch zusätzliche Maßnahmen ergreifen!   Mehr »
Datenschutzerklärung zu openWIM(.org)
<2018-05-23>
Erläuterungen zum Datenschutz bei der Nutzung von openWIM.org sowie zu Internetpräsenzen, die mit dem openWIM-System realisiert wurden und über keine gesonderte Datenschutzerklärung verfügen.   Mehr »
Standard-Request-Parameter
<2013-06-13>
WIM-Requests haben einen Basis-Satz von Parameter. Diese werden hier beschrieben.   Mehr »
Allgemeine Objektparameter
Von: @VB <2015-03-20>
Objekte sind Kern des WIM-Systems. Und "Parameter" (also "Datenwerte") sind essentielle Bestandteile der WIM-Objekte. In dieser Info werden Standard-Parameter kurz vorgestellt.   Mehr »
Steuerung der Darstellung von Objekten
<2019-02-03>
Das openWIM-System bietet die Möglichkeit, die Darstellung von Themen, Dokumenten, usw. in weiten Teilen zu gestalten, ohne dass dazu Änderungen im Programmcode oder an (HTML-)Vorlagen nötig sind.   Mehr »
Ausfallsicherheit ("fail save") im Konzept des WIM-Systems
<2013-02-25>
Auch wenn sich die Systemdesigner und -entwickler noch so viele Mühe geben - es ist prinzipiell nicht vermeidbar, dass ein System "ausfällt". Ein wesentliches Konzept des WIM-Systems ist es, solche "Ausfälle" auf möglichst kleine Bereiche einzugrenzen und möglichst "sicher" abzufangen.   Mehr »
Daten-Layer und -Aktualisierung
<2013-01-06>
Im WIM-System spielen "Vorlagen" eine bedeutende Rolle. Oftmals wird beim Zugriff auf einen Objekt-Parameter der Wert von einem Vorlage-Objekt geholt.   Mehr »
Was ist die Rolle der "Dialoge" (einschließlich "Meldungen") im openWIM-System?
<2015-04-05>
Bei Darstellungen von Dokumenten, Themen usw. sowie zur Gesamtdarstellung können bei bestimmten Anlässen "Dialoge" (im einfachsten Fall "Meldungen") überlagernd dargestellt werden.   Mehr »
Wie bearbeiten Cloud-Server eintreffende Anforderungen der openWIM-Clients?
Wie sind die Schnittstellen und Funktionen gestaltet?
Von: @VB <2016-10-06>
Von den Internet-Browsern ("Clients") werden die URLs der Projekte aufgerufen. Die URLs führen zum (zuständigen) "Cloud"-Server, der - nach Möglichkeit - die von den Clients gewünschten Aktionen ausführt. Beispielsweise zu ladende Daten liefert.   Mehr »
Wie werden Zugriffe auf - ggf. nicht vorhandene - Dateien beim Frontend-Server bearbeitet?
<2015-06-01>
Das Starten /Hochfahren der WIM-App ist für die Akzeptanz bei den Nutzern von besonderer Bedeutung. Die angewendeten Verfahren und Randbedingungen werden hier näher betrachtet.   Mehr »
Wie geschieht die Koordination zwischen den Modulen im Client?
Von: @VB <2015-04-18>
Die Module zur Darstellung der Informationen sind zwar in einer hierarchischen Struktur miteinander verknüpft, doch die Aufgabenteilung ist sehr kooperativ geregelt. Jedes Modul agiert möglichst autonom in seinen eigenen Aufgabenbereich, stimmt jedoch alle Aktionen, die andere Module betreffen, mit denen ab.   Mehr »
Internet-Links für openWIM-Entwickler
<2020-03-10>
In den Weiten des Internets gibt es etliche hilfreiche Internetpräsenzen und Dokumente, die für die Entwickler des openWIM-Systems hilfreich sein können. Hier sind einige aufgelistet:   Mehr »
Anordnung von WIM-App-Modulen
<2013-03-28>
Innerhalb eines (BOX-)Moduls können Module in verschiedener Art und Weise angeordnet werden. Dieser Beitrag geht näher darauf ein.   Mehr »
Weiterentwicklung des openWIM-Systems
<2018-08-07>
Das openWIM-System wird seit 1999 ständig weiterentwickelt. Welche wesentlichen Verbesserungen zur Zeit anstehen, können Sie in diesem Artikel erfahren.   Mehr »
Wie erfolgt die Zuordung von Requests zu Sitzungen beim Server ?
<2018-03-09>
Bei der Kommunikation zwischen Client und Server ist eine eindeutige Zuordnung der Meldungen notwendig. Cookies sind dafür nicht immer ausreichend und werden nicht verwendet.   Mehr »
Welche Aspekte sind bei mehrsprachlichen Informationsangeboten besonders relevant?
Von: @VB <2016-10-03>
Bei der Nutzung und dem Betrieb mehrsprachlicher Informationssysteme und Internetpräsenzen sind einige Anforderungen zu beachten. In diesem Dokument werden sie aus der Anwender- und Betreiber-Perspektive diskutiert.   Mehr »
Wie kann der ordnungsgemäße Betrieb von openWIM-Systemen überwacht werden?
Von: @VB <2015-03-16>
Für eine zuverlässige Nutzung von openWIM-Systemen ist es unerlässlich, dass der laufende Betrieb "in Realzeit" überwacht werden kann. Der openWIM-Monitor wird dazu verwendet und hier beschrieben.   Mehr »
➖ Nächste Schritte zur Ablösung des Legacy-Servers
<2019-05-06>
Die schnelle Ablösung des veralteten Servers ist momentan das vordringliche Ziel. In diesem Artikel werden die jeweils nächsten Aktionen aufgelistet.    Mehr »
Wann oder warum wird eine Internet­präsenz im verein­fachten Darstellungs­modus angezeigt bzw. betrieben?
<2018-08-08>
Kann oder soll eine Internetpräsenz nicht im komfortablen Standardmodus betrieben werden, wird ein vereinfachter Modus verwendet. Das kann verschiedene Anlässe bzw. Gründe haben.   Mehr »
Die Bildrechte werden in der Online-Version angegeben.For copyright notice look at the online version.

Bildrechte zu den in diese Datei eingebundenen Bild-Dateien:

Hinweise:
1. Die Bilder sind in der Reihenfolge ihres ersten Auftretens (im Quelltext dieser Seite) angeordnet.
2. Beim Anklicken eines der nachfolgenden Bezeichnungen, wird das zugehörige Bild angezeigt.
3, Die Bildrechte-Liste wird normalerweise nicht mitgedruckt,
4. Bildname und Rechteinhaber sind jeweils im Dateinamen des Bildes enthalten.