Thread Ist eine Session überhaupt sicher? (101 answers)
Opened by rosti at 2024-05-14 18:02

Linuxer
 2024-05-15 12:47
#196219 #196219
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Sicherheit ist immer Definitionssache und immer ein gewisser Kompromiss. Es muss immer betrachtet werden, was man absichern will und welche Schwelle man davor legen will.

Die Frage "Ist das sicher?" ist IMHO falsch gestellt. Korrekter sollte sie lauten: "Ist das (mir/uns/für diesen Einsatzzweck) ausreichend sicher?".

Letzten Endes sind Tokens nur digitale Versionen von Schlüsseln und Zugangskarten. Die bekomme ich auch nach einmaliger Identifikation (in irgendeiner Art und Weise) und kann sie danach benutzen. Oder weitergeben und ein anderer benutzt sie; oder klauen lassen und ein anderer benutzt sie.
Vielleicht gibt es sogar einen Prozess, wonach ich regelmäßig überprüft werde, ob ich den Schlüssel oder die Karte noch habe und ob ich überhaupt noch berechtigt bin, diese zu haben.


Ein Token ist auch kein Allheilmittel. Man muss sich schon Gedanken machen, was man absichern muss.

Um Dein Beispiel mit Alfreds Überweisung (Deine Antwort auf biancas Beitrag) aufzugreifen:

Mit Alfreds Token darf sein Überweisungsformular aufgerufen werden.
Aber wenn man damit eine Überweisung auslösen will, muss ein weiteres Kennzeichen abgefragt werden.
Das kann ein Benutzername und Passwort sein; das kann eine PIN sein, das kann ein Stück Hardware sein.

Tokens sind eine Variante, einen Kompromiss zwischen Komfort und Sicherheit zu finden. Immer mit der Überlegung, was man abgesichert haben will.

Überlegungen zum Token:

  • Das System muss sicherstellen, dass es kein Token doppelt vergibt. Wenn das passiert, ist Dein System fehlerhaft. Nicht das Konzept des Tokens generell.
  • Tokens müssen lang sein, damit die Gefahr der Kollisionen (gleiches Token zeitnah wiederholt generiert) minimiert wird.
  • Tokens müssen mit ausreichendem Zufall generiert werden; und definitiv nicht hochgezählt werden.
  • Tokens müssen eine ausreichend kurze Lebensdauer haben, und dann bei Ablauf ausgetauscht werden. Um diesen Austausch herum kann man weitere Hürden aufbauen.
    • Ein Austausch eines virtuellen Tokens kann ohne Benutzerinteraktion erfolgen. Z.B. alle 5 Minuten wird getauscht.
    • So hat ein Angreifer beispielsweise nur max. 5 Minuten Zeit, mit einem erbeuteten Token Böses zu treiben.
    • Wenn man eine Historie über die Tokens und ihre Vorgänger pflegt, könnte das System auch restriktiver arbeiten. Z.B. alle verbundenen Tokens verwerfen, die gerade verwendet werden, und eine Neuanmeldung verlangen, damit ein neues und unabhängiges Token vergeben werden kann.
    • Das alles hängt eben genau davon ab, was ich schützen will.
  • Tokens dürfen nicht für alles benutzt werden; kritische Anwendungen (Überweisungen,Passwort ändern,o.ä.) müssen mindestens eine weitere Hürde erfordern (Passwort,PIN, Hardware).
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Ist eine Session überhaupt sicher?