Sechshundertdreiundachtzig

Nicht erst seit Heartbleed ist es mir bewusst, dass man seine Passwörter öfters wechseln sollte.
Ich habe ja immer großen Wert auf Passwörter gelegt, für die ich lange Strings mit Großbuchstaben, Kleinbuchstaben, Ziffern und Sonderzeichen (sofern die entsprechende Website das zulässt – die Sparkasse erlaubt z.B. nur 5 Zeichen ohne Sonderzeichen) nutze.
Durch die in letzter Zeit mehrfach vorgekommenen Passwortdiebstähle von Servern, verschiebt sich die Gefahr allerdings vom Client auf den Server. Was nützt es, schwer merkbare Passwörter zu benutzen, Phishingseiten keine Chance zu geben, stets aktuelle Virenscanner zu nutzen, etc., wenn das Passwort dann vom Server geklaut wird?

Sehr zu denken hat es mir auch gegeben, als ich mir kürzlich bei meinem Internetprovider einen neuen DSL-Router bestellt hatte. Bei den mir zugeschickten Zugangsdaten stand mein Passwort für den Internetzugang (das ich immerhin nur dafür nutze) im Klartext ausgedruckt da. Eigentlich hätte ich erwartet (oder sagen wir besser „gehofft“), dass nicht mein Passwort dort abgespeichert ist, sondern nur ein (gesalzener) Hash, der ja meinem Internetprovider genügen würde, mich zu authentifizieren.

Aber eigentlich wollte ich heute über mein Passwortsystem bloggen.
Ich benutze einen kryptischer String als Grundlage. In Abhängigkeit vom Webportal und meinem Usernamen füge ich noch ein paar zusätzliche Zeichen an definierter Stelle ein. Dies hat den Vorteil, dass ich mir das „Masterpasswort“ nur einmal merken muss, und dann auf dynamische Art und Weise (quasi zur Laufzeit) das vollständige Passwort herleiten kann.
So habe ich praktisch bei jedem Portal ein anderes Passwort, und dieses System funktioniert im Prinzip recht gut.

Solange ich nicht meine Passwörter ändern will.
Das Problem ist, dass ich längst den Überblick verloren habe, wo ich dieses System überall einsetze. Zu manchen Portalen komme ich häufig, und könnte das Passwort auch gleich ändern. Aber es gibt sicher auch ein paar (halbvergessene) Seiten, die ich nur selten besuche. Wenn ich jetzt meinen Masterstring ändere, und auch das Passwort an einigen Portalen, ist das ja schön und gut.
Aber irgendwann komme ich einmal auf eine seltener besuchte Seite, und dann weiß ich nicht mehr, ob ich hier schon umgestellt habe, bzw. erinnere mich nicht mehr an das alte System.
Schwierig.
Bevor jetzt irgendwelche Vorschläge bzgl. Passwortmanagern kommen .. so etwas habe ich längst, finde es aber nicht wirklich komfortabel. Und auf das Abspeichern von Zugangsdaten im Browser verzichte ich meist aus Sicherheitsgründen auch.
Ich werde wohl mal in den sauren Apfel beißen müssen (war jetzt keine Anspielung auf Apple – hätte es aber sein können).

Wenn wir schon beim Thema Passwörtern sind .. es scheint niemanden zu stören, dass (insbesondere unter Android) die Autokorrektur bei der Eingabe in Passwortfelder anspringt.
Dabei ist das völlig kontraproduktiv. Es sollte doch für die Entwickler eigentlich ein leichtes sein, die Autokorrektur in diesen Fällen auszuschalten.

Über Anne Nühm (breakpoint)

Die Programmierschlampe.
Dieser Beitrag wurde unter Uncategorized abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

19 Antworten zu Sechshundertdreiundachtzig

  1. Athropos schreibt:

    Bei (vanilla) Android ist mir dieses Verhalten noch nicht aufgefallen, Samsung hat es aber angeblich mal geschafft, dass die eingegebenen Passwörter auch im Wörterbuch gespeichert wurden und dann als Vorschlag kamen.

    Captcha passend zum Thema 😉

    Like

  2. Leser schreibt:

    Bei den meisten Providern ist das Passwort für den Internetzugang „low security“, ganz einfach deshalb, weil es nur von der zum Zugang gehörenden Leitung aus genutzt werden kann. Und zugleich existiert zwischen DSL-Router und Gegenstelle keine Zwischenstation, wo sich ein Angreifer das Passwort abgreifen könnte. DSL geht über 2 Drähte, ist also auch nicht LAN-Kompatibel, es muss auf beiden Seiten ein Modem dafür benutzt werden. Vom Modem im DSLAM bis zum PPPoE-Anmeldeserver ist es im Idealfall auch eine direkte Leitung, in jedem Fall aber innerhalb des internen Netzwerks des Providers, und wenn das kompromittiert ist, gibt es ganz andere Sorgen!

    Davon abgesehen ist aber trotzdem immer davon abzuraten, einen Router vom Provider zu nutzen. Die Dinger sind in den letzten Monaten und Jahren ja praktisch alle mehrfach durch Sicherheitslücken aufgefallen. Ich habe meinen deshalb als „dummes“ DSL-Modem konfiguriert, d.h. der Router macht nur PPPoE-Passthrough, alles andere (NAT, WLAN usw.) ist abgeschaltet. Dahinter hängt mein eigener Router mit einem OpenWRT-Betriebssystem drauf, da kann ich von hinreichender Sicherheit ausgehen – zumal es sich um einen Privatanschluss handelt. Alle offenen Ports werden an den Homeserver weitergeleitet, und der kümmert sich um seine eigene Sicherheit.
    Wie auch immer, auch ich habe so meine Probleme mit dem Passworte memorisieren, weshalb ich vermutlich auch bei vielen Seiten viel zu unsicher unterwegs bin. Für dieses System: http://xkcd.com/936/ bin ich wohl zu unkreativ, oder so…
    Daher wäre es, wenn Du schon dabei bist, und es noch nicht getan hast, mal interessant, wenn Du Dein Passwortsystem einmal anhand eines frei erfundenen Beispiels erklären könntest.
    Bei anderen Passworten bin ich „sicher genug“, weil sie eh immer gespeichert sind (ich meine: WPA-PSKs bei WLAN), aber die bestehen dann eben oft aus 64 Zeichen, so dass es ohne die Möglichkeit eines Copy&Paste extrem aufwändig ist, neue Geräte anzumelden. Alles in allem ist das ein ziemliches Dilemma, und „Single-Sign-On“-Lösungen helfen auch nicht wirklich weiter, weil die sich ja auch nur für Dienste eignen, bei denen man seine Identität preiszugeben bereit ist. Oder man hat mehrere, das skaliert dann zwar ein Wenig besser (vorausgesetzt, man trennt diese Identitäten auch z.B. durch unterschiedliche Browser/Browserprofile), ist aber auch im Grunde wieder dasselbe Problem.
    Eine Lösung scheint nicht in Sicht. Immerhin hat mein Thinkpad einen Fingerprint-Reader, der zur Unsicherheit natürlich extrem beiträgt, mir aber zumindest bei Anmeldungen am System (auf der Desktopumgebung, in der Shell, für Rootrechte mittels sudo/gksu ust) die lästige Tipparbeit abnimmt… (aber fürs Homebanking oder PayPal würde ich den ja auch niemals nutzen)

    Übrigens ein weiterer Vorteil des nicht-angemeldeten Kommentierens auf blog.de: Man muss sich nicht noch ein weiteres PW merken! 🙂

    Like

    • breakpoint schreibt:

      Auch wenn sich das Passwort für den Internetzugang nicht so leicht abgreifen lässt, finde ich es doch bedenklich, dass es beim Provider im Klartext abgespeichert ist.
      Schließlich könnte ich dasselbe Passwort auch noch für andere Zwecke nutzen (mache ich zwar nicht, aber viele andere seiner Kunden bestimmt schon).

      Auch ich habe zwischen meinem Fritz und meinen Rechnern noch einen anderen Router zwischengeschaltet.

      Ein Beispiel? Also bitte:
      Sei das Masterpasswort „D=1eB“ (lässt sich merken über „Dies ist ein einfaches Beispiel“, sollte aber im Ernstfall noch ein paar Zeichen länger sein).
      Um mich damit z.B. bei blog.de einzuloggen, könnte ich etwa (ich gehe aber schon etwas anders vor) den letzten Buchstaben des Domainnamens (also g) nehmen, und ihn vor das Masterpasswort setzen (also gD=1eB ).
      Dann könnte ich die Länge meines Usernamens (hier breakpt, also 7) hinten anhängen (also gD=1eB7).
      Auf ähnliche Weise kriege ich für jedes Portal ein anderes, relativ leicht zu merkendes Passwort.
      Natürlich lässt sich das alles noch viel komplizierter gestalten. Aber lohnt sich das, wenn das – unverschlüsselte – Passwort dann eben vom Server geklaut wird?

      Fingerprint würde ich niemals nutzen.
      Dafür bin ich zu paranoid, denn da hätte ich Angst, dass mir Kriminelle den Finger abschneiden. 🙄
      Außerdem hat doch – ist schon länger her, ich erinnere mich nur vage – die c’t mal einen Artikel gebracht, wie man den Sensor mit irgendwelchen Folien austrickst.

      Like

      • Leser schreibt:

        Also mein Provider hat mir das PPPoE-Passwort damals zugewiesen, ich hätte es zwar ändern können, fand das aber nie wichtig – es bietet ja praktisch keinerlei Missbrauchspotential (der Angreifer müsste schließlich an dem Doppeladerpaar, was in meiner Wohnung rauskommt, hängen, und selbst dann könnte er nicht viel tun, außer über meine Datenleitung das Internet benutzen). Ich glaube, das ist sowas einfaches wie das Geburtsdatum in 6-stelligem Zahlenformat (also ohne die 19 für die Jahrhunderte), und in anderen Tarifen war es früher zumindest mal so, dass das Passwort sogar völlig egal war, man konnte eintragen, was man wollte, hauptsache das Feld war nicht leer, oder so ähnlich.

        Danke für die Erklärung Deines Passwortsystems. Mir wäre das allerdings ehrlich gesagt zu aufwändig, dann müsste ich ja länger nachdenken, um mich an ein PW zu erinnern. Und wenn es dann auch noch mehrere Masterpasswörter/Iterationsmatrizen gibt, die man alle ausprobieren muss, dann wird es schon wieder so ähnlich, wie im verlinkten xkcd.

        Den Fingerprintreader nutze ich eben auch gezielt *nicht* als Sicherheitsfeature, sondern als Convenience-Feature. Auf meinen Rechner (ist nur einer, der diese Hardware hat) habe eh nur ich Zugriff, also ist es nervig, das Passwort überall eingeben zu müssen. Zugleich kann man das zwar an den meisten Stellen ausstellen, das ist aber auch nicht ideal. Vom Sicherheitsniveau her ist das natürlich auch alles so, dass ich eher mein Passwort verraten würde, als mir den Finger abhacken zu lassen 🙂

        Like

  3. Conchi schreibt:

    Hallo breakpoint,

    es ist gut, dass du dir Gedanken über deine Passwörter machst, denn ich kann oft nur mit dem Kopf schütteln, wenn ich höre, wie unbedacht viele Leute damit umgehen, und dass sie sogar teilweise für alle Seite ein einziges Passwort, wie z.B. den Namen ihres Kindes, benutzen.

    Ich wünsche dir noch einen schönen Sonntag
    und sende dir viele liebe Grüße
    Conchi

    Like

    • breakpoint schreibt:

      Hi Conchi,

      du hast recht. Viele Leute geben sich mit ihren Passwörtern überhaupt keine Mühe, und wundern sich dann, wenn z.B. ihr eBay-Account gehijackt wird.
      Aber selbst wenn man viel Wert auf Passwortsicherheit legt, ist man eben doch nicht dagegen gefeit, dass das Passwort von einem Server geklaut wird.

      Schöne Woche und lg
      breakpoint

      Like

  4. ednong schreibt:

    Der Hinweis auf die 936 von xkcd kam ja schon 😉 Selbe Idee mit dem Passwort wie du verfolge ich hier auch. Also die Idee schon, die Umsetzung ein klein wenig anders. Und ja, mit dem Ändern des „Masters“ ist das eine interessante Sache. Denn auch ich habe so einige sehr selten besuchte Seiten, wo ich dann den Master nicht mehr weiß 😉 Daher ist der dann – natürlich wiederum verschlüsselt – notiert. Für alle Fälle. Aber eben nur der alte Master.

    Dazu gibt es dann für bestimmte Dinge – z B Passworte beim Kunden – noch andere Master. Der bekommt zwar das Passwort nicht, dennoch: sicher ist sicher (klingt ja schon fast paranoid, wenn ich mir das nochmal durchlese).

    Und woher weißt du das mit Android? Ah sehe grade – du hast dann also ein Samsung-Tab?

    Zum Provider-DSL-Zugangs-PW fällt mir noch ein: bei manchen ist das dann sogar das Zugangspasswort zu deren Portal. Und solche PW – also die fürs Portal als auch für den Zugang an sich – ändere ich als erstes. Da dann nur „minimal“, aber auch mit System. Wieder einem anderen. Und wenn ich mir das grad recht überlege, habe ich für eine andere Art von PW noch ein anderes System. Vielleicht sollte ich da wirklich mal konsistenter werden …
    … allerdings – wenn ich dann an die daran bestimmt insgesamt mindestens 1337 Passworte denke, lass ich es doch lieber wie es ist. Zuviel Arbeit.

    Captcha: patience, child

    Like

    • breakpoint schreibt:

      Tja, die Passwörter ..
      Nachdem so viele Zugangsdaten bereits auf den Servern geknackt wurden, finde ich mein Vorgehen auch schon fast übertrieben und paranoid.
      Aber nein, die Betreiber der Server sollten einfach sicherheitsbewusster werden (u.a. Passwörter nur noch als gesalzene Hashes abspeichern).

      Das Samsung-Tablet hatte ich mir mal bei einem Mitarbeiter ausgeliehen.

      Like

      • Leser schreibt:

        Der Vollständigkeit halber: Es reicht nicht einfach nur „gesalzen“, sondern es muss jedes PW sein eigenes Salz haben. Das kann dann auch gerne neben dem Hash als Klartext in der Datenbank stehen. Weil, wenn alle Hashes mit demselben Salz gehasht wurden, dann sind die fast genauso gut wie ungesalzene.

        Like

        • breakpoint schreibt:

          Du hast recht.

          Man könne auch noch weiter gehen, und das Salz dynamisch aus dem Passwort oder anderen geeigneten Parametern generieren.

          Like

          • ednong schreibt:

            Aber nicht zuviel Salz – ist ungesund für den Blutdruck 😉

            Like

          • Leser schreibt:

            Dynamisch aus dem Passwort ein Salz generieren halte ich für wenig zielführend, denn es ließen sich damit und mit dem Hash selbst evtl. wieder Rückschlüsse auf das Passwort anstellen.

            Like

            • breakpoint schreibt:

              Wieso? Das Salz wird in diesem Fall ja gar nicht abgespeichert.
              Es wird – durch einen evtll. verborgenen Algorithmus – erzeugt. Dafür könnte statt des Passworts etwa der Username, die Mail-Adresse oder (falls bekannt) das Geburtsdatum benutzt werden – also Daten, die dem Nutzer eindeutig zuzuordnen sind, und die sich (normalerweise) nicht ändern (wenn sie sich doch mal ändern, muss halt auch der Hash neu abgespeichert werden).
              Wenn dann das Passwort zusammen mit dem Salz gehasht wird, wie sollten daraus dann Rückschlüsse auf das Passwort gezogen werden können?

              Like

            • Leser schreibt:

              OK, ich hatte das falsch verstanden. Allerdings muss das Salz, um gehasht werden zu können, ja doch irgendwo abgespeichert sein, oder zur Laufzeit generiert. Wenn andere Daten des Datensatzes, als das eingegebene Passwort, dazu benutzt werden um dies zu erzeugen, dann ist das natürlich praktisch genauso gut, nur durch die Laufzeitgenerierung mit mehr Arbeitsaufwand serverseitig verbunden. (Außerdem muss der Server dann, um das Salz zu berechnen, bereits vor dem Login auf den Datensatz des eingegebenen Nutzeraccounts zugreifen, was möglicherweise auch Sicherheitslücken in sich bergen könnte?)
              Ich dachte, das Salz sollte aus dem Passwort selbst generiert werden, und da wäre ich mir dann irgendwie nicht sicher, ob das – sozusagen als „zusätzliche Information über das Passwort“ – nicht mitunter eine Schwächung des Hash-Algorithmus darstellen könnte.

              Ich bin allerdings Laie auf dem Gebiet, also ich wüsste nicht im Ansatz, wie ich sowas selbst programmieren könnte, die Anzahl meiner Begegnungen mit einem Compiler innerhalb der letzten 15 Jahre kann ich an einer Hand abzählen…Also, ich lerne durch solche Konversationen dazu! Danke für die Gelegenheit 🙂

              Like

            • breakpoint schreibt:

              Das ist jetzt auch nicht mein Spezialgebiet, ich würde aber annehmen, dass, wenn man wirklich nur den Nutzernamen (der zu dem Zeitpunkt ja bereits vorliegen muss, um den Account überhaupt zuordnen zu können) zur Generierung des Salzes nutzt, bestimmt keine zusätzlichen Lücken schafft.
              Eventuell sollte der Betreiber Vorgaben bzgl. des Nutzernamens machen (z.B. Mindestlänge).
              Aber – wie gesagt – in allen Details und mit allen Implikationen kann ich das auch nicht beurteilen.
              Zumindest aber ist es um einiges sicherer, als das Passwort unverschlüsselt im Klartext abzuspeichern.

              Like

            • Leser schreibt:

              Stimmt, der Nutzername ist natürlich sicher – da gibts nur das Problem, dass genügend Seiten mehrere Sorten von Nutzernamen beim Login erlauben, z.B. „Nickname oder E-Mail-Adresse“, bei GMX nutze ich z.B. immernoch meine schöne 6-stellige Kundennr. von 1998, weil die viel einfacher zu tippen ist, als eine der E-Mail-Adressen, die in dem Postfach laufen, und so weiter…
              Ich hab meine Bedenken auch nur darauf bezogen, das Passwort selbst zur Generierung des Salzes zu nutzen. Wenn das Salz z.B. die Quersumme des Passworts wäre, dann dürfte eine Kompromittierung um einiges weniger komplex sein, also weniger Rechenleistung benötigen…

              Like

  5. Pingback: Neunhundertvierundvierzig | breakpoint

Hinterlasse einen Kommentar