@rebeccakurz
@Seraina1 (vermehrung sollte wohl früher oder später auch diesen Schritt machen)
Gerade hat die FNS mitgeteilt, dass die Biodivcollector-Plattform gehackt wurde. Und kürzlich musste ich dem Kanton nachweisen, wie ich für die Sicherheit der Apps sorge - angesichts stark steigender Angriffe. Ich ergreife bisher Massnahmen auf Ebene Server und abhängige Software.
Unser Login System funktioniert an sich gut. Bloss: es gibt (noch) keine minimalen Anforderungen an Passwörter. Und: Es gibt nur Passwörter. Und soweit ich gesehen habe, sind die verwendeten Passwörter allzu einfach zu erraten, wenn man weiss, wofür apflora verwendet wird (für einen Computer, der sich durch ein Wörterbuch arbeitet - welches würdet Ihr verwenden?).
Angriffe auf Web-Dienste nehmen aktuell stark zu. Wenn ein BenutzerInnen-Konto zu einfach gehackt werden kann, gefährdet das den Server als Ganzes.
Es gibt drei grundsätzliche Methoden, um die Authentifizierung stark zu verbessern:
1. Mindestanforderungen an Passwörter
Grundsätzlich sollten möglichst zufallsgenerierte Passwörter mit ausreichender Länge verwendet werden. Die ausreichende Länge und Komplexität könnte das System voraussetzen und prüfen. Das ist heute Standard in vielen Systemen. Wir müssen einfach darauf achten, die Anforderungen nicht zu mühsam zu gestalten (z.B. keine besonderen Sonderzeichen verlangen, die je nach Tastatur nicht auffindbar sind), sondern einfach eine Mindestlänge verlangen. Und sicher nicht die regelmässige Erneuerung.
2. Zweiter Faktor
Bei der Anmeldung muss man nach dem Passwort aus einer Authenticator App ein zusätzliches token eingeben. Ist sinnvoll für Passwort-basierte Anmelde-Systeme. Das kann man heute bei den meisten Web-Diensten machen. Der zweite Faktor wird, wenn man sich oft anmelden muss, mühsam.
Ebenso möglich wären Social Logins, also die Anmeldung via Google/Microsoft/Facebook etc. Das wäre viel weniger mühsam.
Das verbleibende Sicherheitsproblem: Fishing. Gibt die Benutzerin Passwort und token auf einer gefälschten Seite ein, ist der Hacker im System.
3. Passkeys
Passkeys sind kryptografisch erzeugte Schlüsselpaare. Aktuelle Computer benutzen sie für die oft biometrische Anmeldung (z.B. Windows Hello, Finger- und Gesichtserkennung auf Handys). Bei der Erst-Anmeldung wird die Benutzerin aufgefordert, einen Passkey zu erzeugen. Der wird auf dem Gerät gespeichert und kann von keinem Hacker verwendet werden, um apflora anzugreifen, auch nicht mit Fishing.
Somit ist eine Anmeldung mit Passkeys VIEL sicherer als jede andere Methode.
Damit ein Passkey erzeugt werden kann, muss zuvor eine Authentifizierung mit einer anderen Methode erfolgen. Eine Methode mit Passwort z.B. via Email muss somit auch existieren und es macht Sinn, diese zusätzlich mit einer Mindestlänge und einem zweiten Faktor abzusichern.
Wir können es weiterhin so machen, dass nur von Topos bestimmte Personen Konten erzeugen können und sich somit anmelden können: indem die Emails dieser Personen erfasst werden und die Anmeldung nur Anmeldungen mit registrierten Emails annimmt.
Was Passkeys betrifft, ist leider Firefox negativ zu erwähnen. Firefox hat als einziger Browser noch nicht alle Anforderungen dafür implementiert (https://passkeys.dev/device-support). Kommt dann halt raus, wie gut das für Firefox-Benützer funktioniert und wann Firefox das endlich implementiert.
Weitere Überlegungen
Wir könnten erzwingen, dass BenutzerInnen Passkeys verwenden. Oder darauf hoffen, dass sie das in der Benutzeroberfläche präsentierte Angebot annehmen, weil es mittelfristig viel bequemer ist. Persönlich würde ich versuchen, es zu erzwingen (Passwort nur für die Erstanmeldung zulassen). Und bloss davon abrücken, wenn wir feststellen sollten, dass es in Einzelfällen kaum zumutbar ist.
Die neue Anmeldung sollte sinnvollerweise zu einem Zeitpunkt live geschalten werden, an dem niemand dringend Daten erfassen muss.
Die Authentifizierung sollte möglichst so implementiert werden, dass apflora nicht von externen Dienstleistern abhängt. Abhängigkeiten in so zentralen Bereichen können zu schmerzhaften Folgen führen, wenn so eine Firma ihr Geschäftsmodell ändert oder eingeht.
Die Implementation ist aufwändig. Ich schätze ich brauche dafür ca. 7 Arbeitstage (für apflora).
@rebeccakurz
@Seraina1 (vermehrung sollte wohl früher oder später auch diesen Schritt machen)
Gerade hat die FNS mitgeteilt, dass die Biodivcollector-Plattform gehackt wurde. Und kürzlich musste ich dem Kanton nachweisen, wie ich für die Sicherheit der Apps sorge - angesichts stark steigender Angriffe. Ich ergreife bisher Massnahmen auf Ebene Server und abhängige Software.
Unser Login System funktioniert an sich gut. Bloss: es gibt (noch) keine minimalen Anforderungen an Passwörter. Und: Es gibt nur Passwörter. Und soweit ich gesehen habe, sind die verwendeten Passwörter allzu einfach zu erraten, wenn man weiss, wofür apflora verwendet wird (für einen Computer, der sich durch ein Wörterbuch arbeitet - welches würdet Ihr verwenden?).
Angriffe auf Web-Dienste nehmen aktuell stark zu. Wenn ein BenutzerInnen-Konto zu einfach gehackt werden kann, gefährdet das den Server als Ganzes.
Es gibt drei grundsätzliche Methoden, um die Authentifizierung stark zu verbessern:
1. Mindestanforderungen an Passwörter
Grundsätzlich sollten möglichst zufallsgenerierte Passwörter mit ausreichender Länge verwendet werden. Die ausreichende Länge und Komplexität könnte das System voraussetzen und prüfen. Das ist heute Standard in vielen Systemen. Wir müssen einfach darauf achten, die Anforderungen nicht zu mühsam zu gestalten (z.B. keine besonderen Sonderzeichen verlangen, die je nach Tastatur nicht auffindbar sind), sondern einfach eine Mindestlänge verlangen. Und sicher nicht die regelmässige Erneuerung.
2. Zweiter Faktor
Bei der Anmeldung muss man nach dem Passwort aus einer Authenticator App ein zusätzliches token eingeben. Ist sinnvoll für Passwort-basierte Anmelde-Systeme. Das kann man heute bei den meisten Web-Diensten machen. Der zweite Faktor wird, wenn man sich oft anmelden muss, mühsam.
Ebenso möglich wären Social Logins, also die Anmeldung via Google/Microsoft/Facebook etc. Das wäre viel weniger mühsam.
Das verbleibende Sicherheitsproblem: Fishing. Gibt die Benutzerin Passwort und token auf einer gefälschten Seite ein, ist der Hacker im System.
3. Passkeys
Passkeys sind kryptografisch erzeugte Schlüsselpaare. Aktuelle Computer benutzen sie für die oft biometrische Anmeldung (z.B. Windows Hello, Finger- und Gesichtserkennung auf Handys). Bei der Erst-Anmeldung wird die Benutzerin aufgefordert, einen Passkey zu erzeugen. Der wird auf dem Gerät gespeichert und kann von keinem Hacker verwendet werden, um apflora anzugreifen, auch nicht mit Fishing.
Somit ist eine Anmeldung mit Passkeys VIEL sicherer als jede andere Methode.
Damit ein Passkey erzeugt werden kann, muss zuvor eine Authentifizierung mit einer anderen Methode erfolgen. Eine Methode mit Passwort z.B. via Email muss somit auch existieren und es macht Sinn, diese zusätzlich mit einer Mindestlänge und einem zweiten Faktor abzusichern.
Wir können es weiterhin so machen, dass nur von Topos bestimmte Personen Konten erzeugen können und sich somit anmelden können: indem die Emails dieser Personen erfasst werden und die Anmeldung nur Anmeldungen mit registrierten Emails annimmt.
Was Passkeys betrifft, ist leider Firefox negativ zu erwähnen. Firefox hat als einziger Browser noch nicht alle Anforderungen dafür implementiert (https://passkeys.dev/device-support). Kommt dann halt raus, wie gut das für Firefox-Benützer funktioniert und wann Firefox das endlich implementiert.
Weitere Überlegungen
Wir könnten erzwingen, dass BenutzerInnen Passkeys verwenden. Oder darauf hoffen, dass sie das in der Benutzeroberfläche präsentierte Angebot annehmen, weil es mittelfristig viel bequemer ist. Persönlich würde ich versuchen, es zu erzwingen (Passwort nur für die Erstanmeldung zulassen). Und bloss davon abrücken, wenn wir feststellen sollten, dass es in Einzelfällen kaum zumutbar ist.
Die neue Anmeldung sollte sinnvollerweise zu einem Zeitpunkt live geschalten werden, an dem niemand dringend Daten erfassen muss.
Die Authentifizierung sollte möglichst so implementiert werden, dass apflora nicht von externen Dienstleistern abhängt. Abhängigkeiten in so zentralen Bereichen können zu schmerzhaften Folgen führen, wenn so eine Firma ihr Geschäftsmodell ändert oder eingeht.
Die Implementation ist aufwändig. Ich schätze ich brauche dafür ca. 7 Arbeitstage (für apflora).