/
Sicherheitsupdate: Modernisierung von Passwörtern im Shop

Sicherheitsupdate: Modernisierung von Passwörtern im Shop

Für die Passwörter von Benutzern wird eine neue Verschlüsselungsmethode verwendet werden.

Vor diesem Hintergrund gibt es einige Änderungen, welche teils auch Änderungen an bestehenden Prozessen voraussetzen.

Wechsel der Verschlüsselung

Die bisher verwendete MD5-Verschlüsselung wird nicht mehr verwendet.

Nach Bereitstellung des Updates wird der Shop alle Passwörter nach Möglichkeit umschreiben. Das kann immer dann passieren, wenn ein Passwort eingegeben wird – bspw. bei jedem Login oder Import. Dabei wird das jeweilige Passwort dann mit der neuen Verschlüsselungslogik in der Datenbank aktualisiert, insofern es noch mit der alten Verschlüsselung vorliegt. Der vorherige MD5-Hash wird dabei überschrieben, wird also nicht vorgehalten.

Neu angelegte Benutzer werden direkt mit neuer Verschlüsselung angelegt, ohne dass überhaupt noch eine MD5-Verschlüsselung angewendet wird.

Weiterhin ist dem Shop das Passwort im Klartext nicht bekannt. Die Speicherung erfolgt nur in verschlüsselter Form.

Strengere Anforderungen an Passwörter

Passwörter müssen nun zwischen 8 & 35 Zeichen enthalten, sowie zwingend mindestens einen Großbuchstaben, Kleinbuchstaben, Zahl und Sonderzeichen enthalten. Fehlermeldungen sind entsprechend erweitert und weisen an allen Stellen bei einer Passwortvergabe darauf hin.

Zusätzlich darf bei der Passwortneuvergabe, welche Benutzer durchlaufen, wenn sie ihr Passwort via E-Mail übermittelt bekamen oder es im Rahmen des Importes vom Shop generiert wurde das neue Passwort nicht identisch mit dem vorherigen sein.

Benutzername in der Anmeldung

Die Anmeldung prüft nun etwas schärfer: Benutzernamen müssen nun mit korrekter Groß-/Kleinschreibung eingegeben werden. Bei falschem Groß-/Kleinbuchstaben werden die Benutzerdaten als ungültig abgelehnt.

Neue Funktion: App-Schlüssel & Änderungen im Login via URL

Benutzern (oder der Admin, bzw. auch Hauptbenutzer in der Bearbeitung) steht in den eigenen Daten nun ein neuer Tab „App-Schlüssel“ zur Verfügung. Während der Admin den Schlüssel an allen Benutzern sieht und entsprechend auch herausgeben kann, sehen B2CBenutzerden Schlüssel selbst nicht – B2B-Benutzer hingegen schon.

Beim ersten Aufruf wird automatisch einer generiert, falls noch keiner vorhanden ist. Bei Bedarf kann auch ein neuer Schlüssel generiert werden, damit verliert der vorherige seine Gültigkeit und kann nicht länger verwendet werden.

Der App-Schlüssel kann verwendet werden um den Login via URL durchzuführen ohne das Passwort im Klartext dafür verwenden zu müssen.

Ein simpler Aufruf um sich mit Klartext via URL anzumelden kann z.B. so aussehen:
https://ihrshop.de/shop.php?redirect=shop&action=login&Username=BENUTZERNAME&Password=KLARTEXTPASSWORT

Bisher war es möglich hier einen MD5-Hash zu verwenden:
https://ihrshop.de/shop.php?redirect=shop&action=login&Username=BENUTZERNAME&Password=MD5HASH&SSI=1

Letzteres ist so nun nicht mehr direkt möglich, weil der MD5-Hash nicht mehr verarbeitet werden kann. Stattdessen kann nun einfach der einzigartige App-Schlüssel des Benutzers verwendet werden:
https://ihrshop.de/shop.php?redirect=shop&action=login&Username=BENUTZERNAME&Password=APPSCHLÜSSEL&SSI=1

Ein falscher, abgelaufener oder zum falschen Benutzer gehörige Schlüssel wird bei der Nutzung dann als ungültig abgelehnt.

Benutzerimport & -export

Wie bisher gilt im Import: Wenn die Benutzer eine Mail mit Zugangsdaten erhalten, dann muss nach Anmeldung das Passwort geändert werden. Neu ist hier, dass das alte Passwort nicht einfach wiederverwendet werden kann – der Versuch wird nun mit entsprechender Fehlermeldung abgebrochen.

Wenn gar kein Passwort enthalten ist verhält sich der Import auch wie bisher abhängig von der Situation:

  1. Benutzer existiert bereits und wird ohne (oder mit leerem) Passwort importiert: Das bestehende Passwort bleibt unverändert.

  2. Benutzer ist neu und wird ohne (oder mit leerem) Passwort importiert: Es wird ein Passwort generiert und in der nach Import herunterladbaren Logdatei aufgeführt.

Es ist zudem kein Import von MD5-Hashes mehr möglich, die alte Option „MD5 Passwort“steht entsprechend nicht mehr zur Auswahl.

Im Kundenexport ist das Passwort nicht mehr enthalten, eine Ausgabe der Passwörter erfolgt auch in verschlüsselter Form generell nicht mehr.

Shop App: OSG-Trade API

Für die API gibt es in diesem Zusammenhang folgende Änderung:

Bisher war es möglich Passwörter in den Methoden POST_USER & PATCH_USER als MD5-Hash zu übermitteln, indem das Feld „password_md5“ zusätzlich übertragen wurde. Diese Übermittlung wird nicht mehr unterstütz und resultiert nun in einer entsprechenden Fehlermeldung.

Stattdessen können Passwörter nun mittels SSL verschlüsselt übertragen werden.

Pro API-Key wird automatisch ein Secret Key für Verschlüsselungen erstellt. Bei der Bearbeitung eines API-Keys kann ein dazugehöriger „OpenSSL-Public-Key“ heruntergeladen werden. Der Public-Key kann vom Anwender der API verwendet werden um die Passwörter so zu verschlüsseln, dass der Shop sie wieder entschlüsseln kann um eine saubere Verarbeitung durchzuführen. Es ist darauf zu achten, dass das Paddingverfahren PKCS#1 angewendet wird, welches entsprechend auch bei der Verschlüsselung anzuwenden ist.

Für die Übertragung kann statt dem bisher verwendeten „password_md5“ einfach „password_crypt“ mit Wert „1“ übertragen werden. Das signalisiert, dass im Feld „password“ kein Klartext, sondern ein verschlüsselter Wert steht.

Zukünftig könnte dieses SSL-Verfahren auch auf weitere Felder angewendet werden – kommen Sie bei Bedarf gern auf uns zu.

Hinweis: Diese Änderung innerhalb der API wurde separat umgesetzt und sollte bereits heute zur Verfügung stehen. Sie ist hier lediglich zur Vollständigkeit mit aufgeführt.

Weiterführend gibt es in der API zwei weitere Anpassungen. Ähnlich der Anmeldung via URL unterstützt die Methode POST_LOGIN den Parameter „SSI“. Hierbei ist nun analog der Lösung im Shop nicht mehr der MD5-Hash, sondern der neue App-Schlüssel als Passwort zu übertragen.

GET_USERS & GET_USER enthalten zudem nun analog des Exports des Shops kein Passwort mehr.

Automatensystem (SBL)

Es gibt Automatensysteme, welche an den Automaten die Anmeldung via NFC-Karte ermöglichen. Dazu werden die Karten vorab im Shop beschrieben.

Bisher verwendeten diese Karten für die Anmeldung eine URL mit MD5-Hash, welcher so wie oben aufgeführt nicht mehr funktional ist.

Das Beschreiben der Karten erfolgt nun auch mit dem neuen App-Schlüssel – das bedeutet aber, dass vorhandene Karten einmalig neu beschrieben werden müssen um den Login weiterhin zu ermöglichen.

Erzwingen von Passwortneuvergabe (optional)

Bitte beachten sie, dass wenn Sie eine Passwortneuvergabe erzwingen, auch OCI-, ARIBA-Benutzer usw. davon betroffen sind. D.h. auch in SAP muss das neue Passwort hinterlegt werden, damit z.B. der Absprung in den Shop weiter funktioniert. Nutzen Sie diese Funktion deshalb nur in enger Abstimmung mit Ihren Industriekunden.

Es wurde eine Funktion geschaffen mit der die Benutzer eines Shops dazu angeleitet werden können Ihre Passwörter neu zu vergeben.

Nach Anmeldung muss ein Benutzer dann sein Passwort neu vergeben, dazu kommt ein kleines Popup.

Es ist dem Anwender hier nicht möglich das vorherige Passwort neu zu vergeben. Nach der Passwortvergabe erhält der Benutzer einen Link an die im Shop hinterlegte Mailadresse.

Der Link hat eine Gültigkeit von 2 Stunden. Sollte der Benutzer bis dahin nicht keine Bestätigung vorgenommen haben, dann kann er die Mail nach Anmeldung (noch mit altem Passwort, weil die Änderung ja nicht bestätigt ist) erneut versenden lassen oder auch nochmal ein anderes neues Passwort eingeben. Sollte der Link dennoch nach Ablauf verwendet werden, dann kommt es zu einer entsprechenden Fehlermeldung:

„Der Link ist bereits abgelaufen. Bitte melden sie sich erneut mit Ihren alten Zugangsdaten an, und folgen der Anweisungen auf dem Bildschirm.“

Nach Betätigen mittels Eingabe mit einem noch validen Link ist das neue Passwort gültig und eine Anmeldung mit altem Passwort ist nicht länger möglich.

Der Prozess zur Neuvergabe wird an allen regulären Benutzern ausgelöst. Nicht betroffen sind Administratoren und etwaige Anmeldungen via Supportlogin oder Außendienstfunktion.

Siehe auch:

 

Wann ist Ihr Handeln nötig?

Insofern Passwörter im Klartext übermittelt werden, ist keine Handlung erforderlich. Das selbe Passwort wird auch unter Nutzung der neuen Verschlüsselung erkannt. Ansonsten sind folgende Fälle zu beachten:

Anwender der API: NUR bei verschlüsseltem Passwort

Insofern bei der API heute Passwörter als MD5-Hash übertragen werden muss von „password_md5“ auf „passwort_crypt“ gewechselt, sowie die neue SSL-Verschlüsselung verwendet werden.
Sollten (verschlüsselte) Passwörter per API angefragt und weiterverarbeitet werden, so ist dies nicht mehr möglich.

Nutzer von Automaten: NUR bei Nutzung einer NFC-Karte

Kunden die Automaten mit NFC-Karte nutzen, müssen Ihre NFC-Karte einmalig neu beschreiben, bzw. beschreiben lassen. Dies funktioniert mit der selben Shop-Funktion wie bisher.

Nutzer von Drittsystemen (OCI , ARIBA usw.): NUR bei verschlüsseltem Passwort

Falls heute für den Login verschlüsselte Passwörter übermittelt werden, so muss stattdessen der App-Schlüssel verwendet werden. Das kann bspw. vereinzelt bei OCI Kunden oder ähnlichen Drittsystemen verwendet werden. Alternativ wäre es auch möglich den SSI Parameter nicht mehr zu übermitteln, sowie das Passwort im Klartext zu übertragen.

Siehe zu diesen Themen auch