Benutzernamen - Eine Kunst für sich

Benutzernamen

Eine Kunst für sich

Marc Ruef
by Marc Ruef
time to read: 10 minutes

Im Bereich der theoretischen und angewandten Informationssicherheit haben Diskussionen zu Passwörtern ihren festen Platz. Da wird diskutiert über Auswahl, Komplexität und Lebensdauern der geheimen Zeichenketten. Ein Thema, das damit verbunden und artverwandt ist, jedoch meistens aussen vor gelassen wird, sind Benutzernamen.

Es gibt verschiedene Anforderungen, die an einen Benutzernamen gestellt werden. Dazu gehören:

Diese Merkmale sollen in diesem Beitrag im Einzelnen diskutiert werden, wodurch aufgezeigt können werden soll, was einen guten Benutzernamen ausmacht.

Zufällig

Da ein Benutzername oftmals als Teil des Kombinationspaars mit einem Passwort daherkommt, gilt es ihn ebenfalls nach Möglichkeiten vor Erraten zu schützen. Aus diesem Grund sollte ein Benutzername möglichst zufällig sein. Sicherheitstechnisch auszuschliessen sind:

Diese können erraten oder abgeleitet werden, wodurch Bruteforce- und Denial of Service-Attacken (falls ein automatischer Lockout gegeben ist) massgeblich vereinfacht werden.

Wählbar

Gerade die im Online-Banking gern vergebenen zufällig generierten Benutzernamen lassen sich jedoch schwer merken. Dies verleitet Benutzer dazu – gerade wenn ein Login nur spärlich getätigt wird – den geheimen Benutzernamen aufzuschreiben. Physische Zugriffe, wenn es auch nur das Mitnehmen des entsprechenden Post It-Zettels ist, können entsprechend zur Kompromittierung beitragen. Vor allem, weil nebst dem Benutzernamen auch gern noch das mindestens so komplexe Passwort notiert wird.

Um dieser unliebsamen Gedankenstütze entgegenzutreten, wird empfohlen, dass der Benutzer seinen Benutzernamen selbst definieren kann. Er wird eine Zeichenkombination wählen, die er sich merken kann, ohne dass sie niedergeschrieben werden muss. Dadurch werden die Vorteile aus Zufälligkeit und Merkbarkeit aufrecht erhalten.

Damit ein Benutzer nicht unabsichtlich oder absichtlich einen schwachen Benutzernamen wählt (ableitbar oder einfach), muss – wie bei der Wahl des Passworts – eine Komplexitätsprüfung durchgesetzt werden. Ableitungen von Mailadresse oder Klarnamen sind genauso verboten, wie primitive Zahlenketten:

Es gibt Äusserungen in verschiedenen Standards und unterschiedliche Implementierungen zur Prüfung der Stärke von Passwörtern (z.B. die Google Password Strength API). Diese können bisweilen ebenfalls auf Benutzernamen angewendet werden.

Mit der Wähl- und Änderbarkeit von Benutzernamen wird die Komplexität einer Lösung, sowohl auf technischer als auch auf organisatorischer/prozesstechnischer Ebene, massgeblich erhöht. Dies muss mit den Bedürfnissen an die Sicherheit in Einklang gebracht werden.

Änderbar

Benutzer sollten in der Lage sein, ihre Benutzernamen zu ändern. Durch eine solche Änderung werden übernommene oder im Rahmen eines laufenden Angriffs befindliche Konten zurückgesetzt. Das Zeitfenster eines Missbrauchs wird damit – genauso wie beim Neusetzen eines Passworts – reduziert.

Dabei gilt es zu berücksichtigen, dass die Änderung des Benutzernamens den gleichen Anforderungen zu unterstellen ist, wie die initiale Wahl dessen. Simplizität gilt es in jedem Fall zu Verhindern.

In hochsicheren Umgebung könnte sogar theoretisch die Anforderung aufgegriffen werden, dass der Benutzername in regelmässigen Abständen geändert werden muss. Dadurch leidet der Komfort jedoch dermassen, dass wiederum notierte Benutzernamen die Folge sein können. Aus diesem Grund ist praktisch nirgends anzutreffen, dass eine regelmässige Änderung des Benutzernamens erforderlich ist.

Gerade wenn eine Änderung durchgesetzt wird, aber auch bei jeder eigens angestrebten Änderung, könnte die Ähnlichkeit des alten zum neuen Benutzernamen verglichen werden. Sind die beiden zu ähnlich, kann eine höhere Komplexität bzw. grössere Abweichung erforderlich sein. Dadurch werden typische Suffixe, wie zum Beispiel eine Inkrementierung von Zahlenwerten, verhindert:

Hierzu bietet sich das Berechnen der Levenshtein Distanz an. Ist diese geringer als die Hälfte der Länge des längeren Benutzernamens, sollte eine grössere Abweichung angestrebt werden. Implementierung einer entsprechenden Funktion sind unter anderem als levenshtein() in PHP verfügbar.

Nicht anstössig

Sobald Benutzer ihren eigenen Benutzernamen auswählen können, wird damit die Möglichkeit der Wahl anstössiger Ausdrücke aufgetan.

Vulgäre und obszöne Benutzernamen sollten bei der Wahl oder Änderung als solche erkannt und entsprechend eingeschränkt werden. Hierbei kann eine lexikalische Analyse eingesetzt werden, um übliche Schimpfwörter und Beleidigungen als solche erkennen zu können.

Sollten automatisierte lexikalische Analysen den Anforderungen nicht genügen, können Moderatoren darum bemüht sein, während der Wahl des Benutzernamens oder der Nutzung des Systems entsprechende Ausfälle ausmachen und auf diese zu reagieren. Als Reaktion bieten sich an:

Geheim

Da Benutzernamen geschützt werden sollen, sollten sie auch nicht öffentlich gemacht werden. Im Idealfall werden sie ausschliesslich im Rahmen der Authentisierung verwendet, kommen ausserhalb davon aber nicht mehr öffentlich zum Einsatz. Damit geht der Vorteil einher, dass die Wahl anstössiger Benutzernamen sowieso keine direkten Auswirkungen mehr haben, da sie nicht mehr gesehen wird.

Der Benutzername für die Anmeldung (Login-Name) und der angezeigte Benutzername (Display-Name) sollte also nicht der Gleiche sein. Dies ist gerade bei öffentlichen Mechanismen, wie zum Beispiel Online-Foren, ein wichtiges Sicherheitsmerkmal. Der Autor eines Foren-Posts kann entsprechend wie folgt ausgewiesen werden:

Hans Muster Name: Hans Muster
Herkunft: Zürich
Postings: 23

Gerade im geschäftlichen Umfeld ist die Nutzung von Pseudonymen sowieso nicht goutiert, weshalb im öffentlichen Rahmen mit dem Klarnamen agiert werden kann. Sollten dennoch Pseudonyme zum Tragen kommen, sollte nebst dem Login-Benutzernamen ein Posting-Benutzername gewählt werden. Eine entsprechende Benutzertabelle sieht dementsprechend wie folgt aus:

user_id user_login user_pass user_displayname
1 pikachu 5ebe2294ecd0e0f08eab7690d2a6ee69 Hans Muster

Nachvollziehbar

Die Wahl, Änderung und Nutzung eines Benutzernamens muss nachvollziehbar sein. Einerseits muss klar ersichtlich sein, welcher Benutzername durch welchen Benutzer eingesetzt wird. Dies wird durch die zuvor eingeführte Spalte user_login gewährleistet.

Anpassungen bezüglich des Benutzernamens sollten nun durch eine Versionierung nachvollzogen werden können. Hierzu wird eine zusätzliche Tabelle eingeführt, die pro Änderung einen Datensatz dokumentiert.

change_id change_user_id change_user_login change_date
1 1 pikachu 23.05.2013 07:13:23
2 1 raichu 23.05.2013 07:42:06

Fazit

Benutzernamen sind ein wichtiger Bestandteil moderner Applikationen, gerade wenn sie durch mehrere Benutzer verwendet werden. Sie sind zentrales Element einer Authentisierung und tragen dementsprechend zur Sicherheit geschützter Bereiche bei. Es ist deshalb abwegig zu denken, dass die gesamte Sicherheit einer Authentisierung auf der Stärke eines Passworts zu beruhen hat. Durch die aufgezeigten Massnahmen können Benutzernamen gestärkt und mit ihnen die Sicherheit des gesamten Systems erhöht werden.

About the Author

Marc Ruef

Marc Ruef has been working in information security since the late 1990s. He is well-known for his many publications and books. The last one called The Art of Penetration Testing is discussing security testing in detail. He is a lecturer at several faculties, like ETH, HWZ, HSLU and IKF. (ORCID 0000-0002-1328-6357)

Links

You need support in such a project?

Our experts will get in contact with you!

×
Specific Criticism of CVSS4

Specific Criticism of CVSS4

Marc Ruef

scip Cybersecurity Forecast

scip Cybersecurity Forecast

Marc Ruef

Voice Authentication

Voice Authentication

Marc Ruef

Bug Bounty

Bug Bounty

Marc Ruef

You want more?

Further articles available here

You need support in such a project?

Our experts will get in contact with you!

You want more?

Further articles available here